教授专栏13

编程入门 行业动态 更新时间:2024-10-26 14:33:28

<a href=https://www.elefans.com/category/jswz/34/1768804.html style=教授专栏13"/>

教授专栏13

文 / 陈雷教授

人工智能(AI)带动了诸多领域的科技创新,成为了社会发展的一个重要驱动力。然而,AI模型还存在训练效率低,编译优化时间长,预测结果难以解释等一系列问题。因此,我们研究如何利用数据管理技术来加速模型训练,优化模型编译,并且提高模型可解释性。

模型训练加速

模型训练是人工智能应用的一个核心环节。一方面,模型的精度直接关系着人工智能的有效性、可用性。另一方面,模型的训练速度也影响着整个系统的实时性。如何又好又快地训练模型是当下一个重要的研究课题。针对这一问题,我们探索了如何在大规模动态场景下利用一系列数据管理技术来实现模型的快速有效更新。

针对流式学习(stream learning)的数据管理框架。随着流数据(streaming data)的迅速增加,许多应用依赖于能够快速实时更新的机器学习模型。例如,自动驾驶汽车需要不断地适应新的场景;配备了多个传感器的机器人需要在与环境交互的过程中学习识别新的物体;垃圾邮件过滤器需要根据新型垃圾邮件的特点不断更新自身判断机制。在上述应用中,一个重要的问题是如何在面对大量流数据时快速有效地更新模型参数。现有的流式学习框架往往会利用不断到达的流数据来微调(finetune)模型参数。然而,该框架存在三个缺点:训练成本高(high training cost)、数据有效性低(low data effectiveness)和灾难性遗忘(catastrophic forgetting)。现有的机器学习模型往往很复杂且参数众多,直接利用所有的流数据来更新模型参数会消耗大量的时间和计算资源。另外,流数据往往呈现出一定的冗余度,相似的训练样本可能并不会提升模型的精度。最后,流数据的分布往往会随着时间变化。如果一直使用新的数据分布来更新模型参数,那么模型很有可能遗忘在旧的数据分布上学习到的特征。这一现象也被称为灾难性遗忘。为了解决上述问题,我们提出了一个新的数据管理框架Camel。该框架包括两个独立的数据管理模块:核心集选择(coreset selection)和缓存区更新(buffer update)。为了加速模型训练,Camel 从每个流数据批次(streaming data batch)中选择一个核心集(coreset)进行模型更新。相比较于原始数据,核心集的规模较小,并且有效地减少了数据中的冗余,从而起到加速模型训练的效果。另一方面,为了避免模型遗忘过去学到的数据特征,Camel会不断地选择一些有代表性的数据样本在缓存(buffer)中,并不时地用这些样本去更新模型参数。实验表明我们的核心集选择算法可以实现流式学习的线性加速,且由此产生的模型精度损失几乎可以忽略不计。此外,我们的缓冲区更新算法可以在各种不同的数据分布上打败现有的解决方案。

针对动态图神经网络(T-GNN)的缓存策略,在动态图(dynamic graph)上进行表征学习(representation learning)对于许多现实世界中的应用(例如:社交网络和推荐系统)至关重要。动态图神经网络 (T-GNN) 是一类强大的表征学习模型,并且已经在很多任务上展现出了卓越的性能。然而,T-GNN模型存在时间复杂度高、难以训练的问题。具体来说,T-GNN模型的训练时间随着动态图中边的个数线性增加,并随着模型深度呈指数增长。上述问题导致我们很难将T-GNN模型应用到大规模动态图数据上。为了解决这一瓶颈,我们提出一种基于缓存(cache)的可扩展T-GNN模型训练框架。其可以通过缓存并复用中间计算结果的方法来显著降低训练T-GNN模型的时间成本。我们进一步提出了一种在给定缓存大小限制(cache size limit)情况下的最优缓存替换(cache replacement)算法。该算法不仅能够通过最大化缓存命中率(cache hit ratio)来提高 T-GNN模型的训练效率,而且能够通过避免复用非常陈旧的表征向量(stale embedding)来减少近似误差。和现有的模型相比,我们的方案能够实现两个数量级的加速,并且取得更高的模型精度。

模型编译优化

给定一个模型的定义,如何通过编译的方法让这一模型在训练和做推理时的效率、能耗、或是占用的内存空间最小,都与模型的编译优化相关。目前,对深度学习模型的编译通常被划分成两个层次,一个是图层面的优化,另一个是算子层面的优化。

图层面的优化指的是我们首先将一个模型的定义表示成一个计算图,然后再对这个图进行等价变换,以达到优化模型的目的。一个常见的图层面的优化手段是对算子进行融合,比如将一个卷积算子和其后的一个逐元素加法算子合并成一个算子,这样可以减少中间结果存取的时间。早期的工作通常是通过经验人为地定义一些算子融合的模式,当计算图上的某一个子图满足这一模式的时候,我们就进行相应的替换。之后,有学者提出了自动化生成图变换模式(即如何将某一计算子图替换成另一个等价的计算子图)的方法,并且根据一个代价估计模型来选择最优的图层变化方案。实际上,计算图之所以能做等价变换,是因为模型中的很多算子都是在做线性计算,例如矩阵乘法,卷积。从这个角度出发,近期有学者提出可以对计算图进行更加激进的变化,比如加入分解和重组张量的某些维度的变换,将一个空洞卷积算子转化成标准卷积算子,从而利用第三方库进行高效计算,而这一变换造成的一些被错误计算的张量值会在后续依据线性计算的特性而被自动修正。另一部分图层面的优化工作专注于优化对于最佳图层变换结果的搜索算法。已有的一些工作包括回溯搜索方法,基于采样的算法,基于等价饱和(Equality saturation)的线性规划算法。

算子层面的优化指的是专注单一算子的运行效率。这方面的工作大致可以分为四类:一类是基于多面体模型的编译优化方法;一类是基于序列搜索的优化方法,即将算子的优化看作一个决策序列;一类是基于模板的优化方法,即先通过专家经验,将算子代码设计成一个含有参数的模板,然后再搜索最优的参数组合;最后一类工作以Ansor为代表,可以看作一种基于自动生成的模板完成搜索的方法。虽然上述自动化的搜索算法已经取得了不错的效果,但是他们通常需要耗费较多的运行时间。因此,也有一部分工作专注于提升自动化搜索的效率。已有的工作从优化单算子搜索效率和多算子之间的搜索调度两个角度出发。在优化单算子搜索效率方面,有的工作致力于提升算子开销模型的精度,有的工作致力于优化搜索算法。我们组最近的一个工作(ETO)发掘了高效算子实现代码中的有效信息,并且利用这些信息显著地提升了算子优化搜索算法的性能。而在多算子优化的调度方面,目前的工作的大致想法是通过评估算子的优化潜力来达到提升多算子整体优化效率的目的。

事实上,除了单独关注图层面或是算子层面的优化方式,最近越来越多的工作尝试将两个层面的优化结合起来考虑,因为图层面的优化决策其实是受到算子层面的优化结果地影响的。目前的一些工作的优化流程是搜索不同的图层优化方案,对于每一个图层优化方案,都查询一遍底层算子优化之后的开销。因为不管是图层面还是算子层面,其搜索空间都非常大,且二者结合起来之后的整体搜索空间更大,如何加速整体搜索的效率成为了问题的关键。已有的方法,如DNNfusion,对算子及算子之间的融合按照可能的运行开销变化进行了分类,并且只对不确定运行开销的变化情况的算子融合做底层算子优化效果查询,从而减少搜索空间。此外,加速算子优化过程的方法也可以和图算联合优化的方法结合起来,以加快整体搜索效率。

模型可解释性

AI模型在诸多场景中展现了其强大的解决问题的能力,如打败围棋专业选手、在图像分类预测任务上有超过人类的表现等。然而,动辄数以百万计的参数和复杂的网络结构令其内部的实现原理显得难以捉摸。即使是专业的模型开发人员,调试模型参数的时候往往也只能凭借“感觉”,并不能说清其中的原理,所以模型开发、调试的过程常被人们戏称为“炼丹”,模型则被称为“黑盒子”。专业人员尚且不能理解模型运行的原理机制,更不用说其他人。不理解的同时也会带来不信任,我们并不清楚模型做出某种决策的依据是什么,这种依据是合理的还是存在偏见的,尤其在一些重要应用场景,如自动驾驶、资源分配,模型的不可解释性直接阻碍了人类社会应用模型的意愿。曾经有一个自动驾驶的案例,驾驶系统将一辆蓝白色的卡车误认为是天空,做出错误判断造成撞车的悲剧。再比如如果应用模型去判断贷款应该批给谁、学校是否要录取某个学生,模型是否关注了合理的因素(财务状况或学习能力),还是仅凭一些无关因素,甚至是错误的关注到了种族、性别等敏感因素做出了判断。为了解决这样的问题,可解释AI(explainable AI,简称XAI)技术应运而生。DB在XAI领域中也发挥了至关重要的作用,XAI技术可以分为数据驱动的(data-driven)和知识感知的(knowledge-aware)两类。

数据驱动的XAI方法从模型的训练数据入手给出解释,通常是模型无关(Model-agnostic)的。常见的方法有给出原始数据中对模型预测影响最大的关键特征作为解释,从数据中抽取出某种易于人理解的规则或可解释的模型(如决策树)作为解释,提供某些特殊实例作为解释等。所谓特殊实例包括Prototype and criticism, counterfactual,influential data。Prototype and criticism通过提供典型样本来解释模型或数据集,人类通过理解模型视角下的各类典型样本来理解模型分类的标准;Counterfactual则是提供一个与待解释样本最接近的反事实样本,比如银行拒绝了某个人的贷款申请,可以提供给申请人一个解释“如果你的收入提高30%,你将可以获得这笔贷款”; Influential data是从用于训练模型的数据集中找出针对某一个预测样本,对模型影响最大的训练数据,换句话说,模型因为学习了哪些数据导致给出这样的预测结果。

传统数据科学中的一些经典问题在XAI领域中也需要得到重视,比如数据的out-of-distribution问题。Out-of-distribution问题是指测试数据与训练数据的分布不一致,带来的模型偏见。举个例子,使用猫狗图片训练的图像分类模型去用于人脸识别一定不可能得到可靠的结果。XAI中有一类经典方法是通过对数据进行扰动,得到扰动后的预测结果,从而给出解释的。但扰动的过程就会让原本的数据偏离分布,让模型对这部分数据进行预测得到的结果也是不可靠的。我们的研究团队就针对这一问题提出了一种对扰动类解释方法的优化框架,通过异常检测技术得到扰动样本属于原分布的概率,去矫正over-confidence的问题。

陈雷教授简介

陈雷教授现任香港科技大学计算机科学与工程系讲座教授,香港科技大学(广州)数据科学与分析学域主任, 香港科技大学大数据学院院长,香港科技大学教育部/ MSRA信息技术重点实验室主任。加拿大滑铁卢大学计算机博士。

陈教授的研究兴趣包括人力机器学习,众包,区块链,图形数据分析,概率和不确定数据库以及时间序列数据库。陈教授获得2020年中国电子学会科学技术一等奖,2015 年 ACM SIGMOD时间检测奖, 2014  VLDB优秀示范奖。陈教授曾担任VLDB 2019 PC联合主席。目前,陈教授是IEEE TKDE的主编 和 IEEE ICDE PC联合主席,他是IEEE Fellow,ACM杰出科学家, 和VLDB基金会的执行会员。

由香港科技大学主理出品的【教授专栏】,汇集来自不同领域教授的学术成果、前沿论断及知识科普,用最新鲜的视角解读社会动态,以最前沿的角度解释科技奥秘。期待通过香港科技大学的平台,聚合更多新锐观点,打造出一期又一期生动又深刻的【教授专栏】!

-end-

更多推荐

教授专栏13

本文发布于:2023-06-28 19:50:44,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/932671.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:教授   专栏

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!