MiniLM V2 深度自注意力蒸馏: Multi-Head Self-Attention Relation Distillation for Compressing Pretrain

本文介绍了MiniLMV2模型,它在预训练阶段采用深度自注意力蒸馏,无需匹配Attention头数,直接从教师模型中上层传授知识,超越了MiniLMV1。实验表明,多头自注意力关系蒸馏至关重要,且中上层蒸馏策略更优。论文通过消融实验验证其有效性,并在下游任务中表现出最佳性能。
摘要由CSDN通过智能技术生成

建议先阅读MiniLM V1:蒸馏预训练模型架构:深度自注意力蒸馏(NeurIPS 2020) MINILM - 知乎

论文个人理解

目的

与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)
  1. Split:再将上面concat后进行split(这里为了teacher和student获得相同维度的relation矩阵)
  2. 最后在计算自注意力关系矩阵、这Q和Q自己计算attention矩阵(BERT中是Q和K计算),这也是为什么叫做自注意力关系

最后一层或者中上层蒸馏

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

论文成果

消融实验

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

下游任务

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

Paper地址:https://arxiv.org/pdf/2012.15828.pdf

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值