百科问答小站 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




  

相关话题

  AlphaGo「理解」围棋吗? 
  如何评价MSRA视觉组最新对spatial attention mechanism分析论文? 
  二分类问题,应该选择sigmoid还是softmax? 
  大家推荐一下,哪些学校的导师有在做量化交易、股票预测的? 
  如何评价 DeepMind 发表在 Nature 上的使用深度强化学习对托卡马克等离子体进行磁控制? 
  如何看待周志华等人的新书《机器学习理论导引》? 
  BERT模型可以使用无监督的方法做文本相似度任务吗? 
  有哪些令你印象深刻的魔改transformer? 
  三维重建怎么入门? 
  nlp有哪些值得完整实现一遍的算法? 

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





© 2024-05-20 - tinynew.org. All Rights Reserved.
© 2024-05-20 - tinynew.org. 保留所有权利