面对越来越深的学习模型和海量视频大数据,人工智能算法越来越依赖计算资源高。为了有效提高深度模型的性能和效率,本文通过探索模型的可蒸馏性和稀疏性,提出了一种基于“教师-教师-学生”模型的统一模型压缩技术。该成果由中国科学院与中国科学院自动化研究所联合研究团队完成,相关论文发表于国际顶级期刊IEEETransactionsonPatternAnalysisandMachineIntelligence(TPAMI)的人工智能。这一成果是首次在模型蒸馏技术中引入“指导老师”的角色,将深度模型的蒸馏和裁剪统一起来。论文地址:https://ieeexplore.ieee.org/abstract/document/9804342目前,该成果已应用于人民中科自主研发的跨模态智能搜索引擎“百泽”。“百泽”打破了图形、文字、音频、视频等不同模态之间的信息表达壁垒,将文字、图片、语音、视频等不同模态信息映射到一个统一的特征表示空间,以视频为核心,learningmultiplemodality不同内容之间的统一距离度量,跨越文本、语音、视频等多模态内容的语义鸿沟,实现统一的搜索能力。然而,面对海量的互联网数据,尤其是视频大数据,跨模态深度模型对计算资源的消耗逐渐增加。基于这一研究成果,“百泽”可以在保证算法性能的同时大规模压缩模型尺寸,从而实现高通量、低功耗的跨模态智能理解和搜索能力。根据初步的实际应用情况,该技术平均可以将大型模型的参数规模压缩四倍以上。一方面可以大大降低模型对GPU服务器等高性能计算资源的消耗。另一方面,对不能部署在边缘的大模型进行蒸馏压缩后,可以实现边缘的低功耗部署。AFederatedLearningFrameworkforModelCompression深度算法模型的压缩和加速可以通过蒸馏学习或结构化稀疏裁剪来实现,但这两个领域都有一些局限性。对于蒸馏学习方法,目的是训练一个轻量级模型(即学生网络)来模拟一个复杂的大型模型(即教师网络)。在教师网络的指导下,学生网络可以取得比单独训练更好的性能。然而,蒸馏学习算法只注重提高学生网络的性能,往往忽略了网络结构的重要性。学生网络的结构通常是在训练期间预先定义和固定的。对于结构化稀疏裁剪或滤波器裁剪,这些方法旨在将冗余和繁重的网络裁剪成稀疏和紧凑的网络。然而,模型裁剪仅用于获得紧凑的结构。现有的方法都没有充分利用原始复杂模型中包含的“知识”。最近的研究将蒸馏学习与结构化稀疏剪枝相结合,以平衡模型性能和大小。但这些方法仅限于损失函数的简单组合。为了深入分析上述问题,研究首先训练了基于压缩感知的模型。通过分析模型的性能和结构,发现深度算法模型有两个重要的属性:distillability和sparsability。具体来说,可提取性是指可以从教师网络中提取有效知识的密度。可以通过学生网络在教师网络指导下获得的性能增益来衡量。例如,具有更高可蒸馏性的学生网络可以获得更高的性能。可蒸馏性也可以在网络层级别进行量化。如图1-(a)所示,直方图表示distillationlearningloss的梯度和groundtruthclassificationloss的梯度之间的余弦相似度。较大的余弦相似度表明当前蒸馏的知识对模型性能更有帮助。这样,余弦相似度也可以作为可蒸馏性的度量。从图1-(a)可以看出,随着模型层数的加深,可馏性逐渐增加。这也解释了为什么传统上使用蒸馏学习的监督被应用在模型的最后几层。此外,在不同的训练时期,学生模型也具有不同的可蒸馏性,因为余弦相似度随训练时间而变化。因此,有必要对训练过程中不同层的可蒸馏性进行动态分析。另一方面,稀疏度是指模型在损失有限精度的情况下所能获得的裁剪率(或压缩率)。更高的稀疏度对应于更高裁剪率的可能性。如图1-(b)所示,网络的不同层或模块表现出不同的稀疏性。与可蒸馏性类似,稀疏性也可以在网络层级和时间维度上进行分析。但是,目前还没有办法探索和分析可蒸馏性和稀疏性。现有方法往往采用固定的训练机制,难以达到最优结果。图1深度神经网络的可蒸馏性和稀疏性示意图针对上述问题,本研究分析了模型压缩的训练过程,以获得关于可蒸馏性和稀疏性的相关发现。受这些发现的启发,本研究提出了一种基于动态可蒸馏性和稀疏性联合学习的模型压缩方法。它可以动态结合蒸馏学习和结构化稀疏裁剪,通过学习可蒸馏性和稀疏性来自适应调整联合训练机制。与传统的“教师-学生”框架不同,本文提出的方法可以描述为“在校学习”框架,因为它包含三大模块:教师网络、学生网络和院长网络。具体来说,和之前一样,教师网络教学生网络。院长网络负责控制学生在线学习的强度和学习方式。通过获取当前教师网络和学生网络的状态,教学指导网络可以评估当前学生网络的可蒸馏性和稀疏性,进而动态平衡和控制蒸馏学习监督和结构化稀疏裁剪监督的强度。为了优化本文的方法,该研究还提出了一种基于交替方向乘法器方法的蒸馏学习和剪枝联合优化算法来更新学生网络。为了优化和更新迪安网络,本文提出了一种基于元学习的迪安优化算法。通过动态调整监控信号,可依次影响可蒸馏性。如图1-(a)所示,本文方法证明,合理利用蒸馏知识,可以延缓蒸馏度下降趋势,提高整体蒸馏度。本文方法的总体算法框架和流程图如下图所示。该框架包括教师网络、学生网络和院长网络三个模块。其中,将初始复杂冗余网络进行压缩剪枝视为教师网络,在后续训练过程中将逐渐稀疏的原始网络视为学生网络。教学指导网络是一个元网络,从教师网络和学生网络输入信息来测量当前的可蒸馏性和稀疏性,从而控制蒸馏学习和稀疏化的监督强度。这样,在每个时刻,学生网络都可以动态地提取知识引导和稀疏。例如,当学生网络具有更高的可蒸馏性时,院长会让更强的蒸馏监督信号引导学生网络(见图2中的粉色箭头信号);相反,当学生网络具有更高的可蒸馏性时,院长将对学生网络施加更强的稀疏监督信号(参见图2中的橙色箭头信号)。图2基于可蒸馏性和稀疏性联合学习的模型压缩算法示意图用于对比的Scale数据集ImageNet。实验结果如下图所示,证明了本文提出的方法的优越性。表1模型裁剪结果在CIFAR10上的性能对比:表2模型裁剪结果在ImageNet上的性能对比:更多研究细节请参考原论文。
