bert蒸馏

交互/表示模型

交互模型: 两句话拼接成一句话,缺点就是长度弄不了太长,线上性能也压力大,优点就是两句话交互编码更加充分

表示模型:两句话分别进bert模型,所以是双塔模型,优点就是单句长度可以更长,线上也可以做到更好,因为其中一个bert边的向量可以保存,用的时候直接取。缺点就是两句话交互性其实比较弱,都是单独编码,只在最后一层取两个向量计算相似性。一个可以稍微缓解这种交互性的方案就是Poly-encoder,比如两个Bert最后输出的hidden_size是768,那么可以将其分成12个头head,然后做一个attention。

蒸馏

(1)交互模型蒸馏(主要就是减少层数):

比如12->6,但是可以用一个更大的teacher 模型,如24->6,其实是比12->6得到的6层模型更好

还可以使用助教的方式即假如我们当前的任务时想从12层蒸馏到3层,那么其实

12->6->3要比12->3要好

(2)表示模型蒸馏(主要就是减少维度):

比如768->128

主要是设计了一个pairewise loss即

loss(teacher(si-sj)-student(si-sj))

 

关于交互模型蒸馏:有种非对称蒸馏和以及其多阶段蒸馏

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值