百科问答小站 logo
百科问答小站 font logo



为何感觉“知识蒸馏”这几年没有什么成果? 第1页

  

user avatar   zhao-cheng-long-38-79 网友的相关建议: 
      

建议先阅读MiniLM V1:zhuanlan.zhihu.com/p/46

论文个人理解

目的

与V1一样,本篇paper也是在预训练阶段蒸馏模型(跟任务无关的蒸馏架构),下游任务直接load蒸馏预训练好的student模型,使用任务相关数据finetuning。

方法

  1. 深度自注意力蒸馏: 蒸馏query-query矩阵、key-key矩阵和value-value矩阵(V1采用的是attention矩阵和V-V矩阵)
  2. 如果teacher模型过大,可以从teacher的中上层(upper-middle layer)蒸馏到student的最后一层(V1采用的是助手机制)

结论

超越了MiniLM V1的效果


论文精读

摘要

如下图所示,MiniLM V1提出的深度自注意力提出了与层数、hidden_size无关的蒸馏架构,但是仍然需要attention head的数目一样(一般为12)



本文(MiniLM V2)连attention head数目都不需要一样了,通过蒸馏query、key和value的多头自注意力关系;另外不同于V1版本的助手机制(teacher蒸馏给助手、助手再蒸馏给student),本文直接将teacher模型的中上层(upper-middle layer)蒸馏到student(这点和Marginal Utility Diminishes: Exploring the Minimum Knowledge for BERT Knowledge Distillation(ACL 2021)的思路有相同的结论)

模型结构

paer的核心就全在这两张图里了,左图是最后一层或者中上层蒸馏,右图是q、k和v的多头自注意力关系蒸馏的计算过程

多头自注意力关系蒸馏

上面右图从下而上把计算过程梳理的很清楚

  1. 映射:隐层经过映射得到queries、keys和values(跟BERT一一致)
  2. Concat:将queries、keys和values相同concat到一起 (那么teacher concat后size为 seq_len*teacher_hidden_size,同理student concat后size为seq_len * student_hidden_size)
  3. Split:再将上面concat后进行split(这里为了teacher和student获得相同维度的relation矩阵)
  4. 最后在计算自注意力关系矩阵、这Q和Q自己计算attention矩阵(BERT中是Q和K计算),这也是为什么叫做自注意力关系


最后一层或者中上层蒸馏

有很多论文介绍,将teacher最后一层蒸馏给student通常不会取得最好的结果,主要原因是student很难学会最后一层的语义信息。不谋而合,当student蒸馏模型参数相差很大的teacher时,论文抛弃了V1版本蒸馏最后一层的思路,也采用了从中上层蒸馏的方法。但是当student和teacher参数相差不是很大时,还是会采用最后一层蒸馏的方法。


论文成果

消融实验

主要验证了少了任何一个注意力关系蒸馏都不行,其实发现跟V1版本效果差不多




下游任务

基本都是最好的,这里就不贴了


Paper地址:arxiv.org/pdf/2012.1582




  

相关话题

  如何评价各种关联因素分析算法,尤其是在算法效果对比方面? 
  深度学习图像处理什么时候用到GPU? 
  如何评价 2018 年度图灵奖颁发给三位深度学习之父? 
  2022 年初,你认为哪项成果代表了现在人工智能的最高水平? 
  为什么谈论深度学习工具时,很少有人讨论matlab的神经网络工具包? 
  自然语言处理怎么最快入门? 
  如何看待 Google 围棋 AI AlphaGo 击败欧洲围棋冠军? 
  人工智能相关的岗位薪酬状况如何? 
  深度学习与机器学习的关系是什么? 
  如何评价 Face++ 旷视科技最新出品的检测专用 backbone 网络 DetNet ? 

前一个讨论
如果中国发动一场大翻译运动,是否能极大提高整个民族和国家的底蕴?
下一个讨论
为什么天使投资和私募股权投资企业普遍采用有限合伙的企业架构?





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利