「GPU」降低预测过程计算成本,这些NLP模型压缩方法要知道( 五 )


“BERT-of-Theseus:Compressing BERT by Progressive Module Replacing”是由Canwen Xu等提出的工作 , 不同于之前的工作仅训练一个单独的学生模型来最小化知识蒸馏损失 , BERT-of-Theseus在调试阶段随机地用一个新的模块(后继模块)来替换原来的模块(前继模块) , 且在每个训练批次都随机替换 。
BERT-of-Theseus是思想实验“Ship of Theseus”的一个版本 , 该实验探究的是一艘船经过一点一点的修复和升级后 , 是否仍然是原来的物体 。 BERT-of-Theseus将这种逐步替换思想应用到模型压缩的思想中 。
后继模块通常是前继模块的廉价版本——在本例中 , 单个变压器层替换了一个由2个变压器层组成的块 。 与知识蒸馏不同 , 这里没有使用损失来鼓励后续模块模仿它们的前辈 , 而只是通过简单的让继任模块和前任模块可以互换使用 , 使得继任者学习模仿前任的行为 。
「GPU」降低预测过程计算成本,这些NLP模型压缩方法要知道
本文插图

这种隐式模仿行为的一个优点是 , 我们不再需要选择如何重量各种知识蒸馏损失目标模型的损失,不同于知识蒸馏使用的L0正则化损失 ,不存在二次训练的步骤,与下游整合压缩并发执行 。 最后 , 渐进式模块替换方法也适用于整个模型结构 , 且它在设计中没有利用Transformer模型的任何特定特性 , 因此泛化能力更强 。
作者用线性学习率变化策略进行了实验 , 发现随着时间的推移 , 线性增加的模块替换率比恒定的替换率效果更好 。
「GPU」降低预测过程计算成本,这些NLP模型压缩方法要知道
本文插图

为了测试这种方法的鲁棒性 , 作者在将BERT-base应用到GLUE基准测试时使用了Theseus压缩 , 并且轻松地超过了其他几个基于知识蒸馏的方法 , 这些方法在将原始模型压缩到50%的大小时 , 常常落后于BERT-base不到1个点 。
「GPU」降低预测过程计算成本,这些NLP模型压缩方法要知道
本文插图

渐进式模块替换很有吸引力的部分原因是它提供了一种新的训练方法 , 可以用其他方法进行试验来增加模型吞吐量 , 而这些方法通常需要对scratch进行重新训练 。 对于独立的研究人员和较小的公司来说 , 从头开始重新培训transformer模型通常是很困难的 , 因此很难利用那些提出了提高模型效率的有用想法但没有发布预先培训过的模型的论文(即没有开源的论文) 。
论文地址:
https://arxiv.org/pdf/2002.11985.pdf
http://mitchgordon.me/machine/learning/2019/11/18/all-the-ways-to-compress-BERT.html
「GPU」降低预测过程计算成本,这些NLP模型压缩方法要知道
本文插图

「GPU」降低预测过程计算成本,这些NLP模型压缩方法要知道
本文插图

  • 那个分分钟处理10亿节点图计算的Plato , 现在怎么样了?
  • 看似毫不相干 , 哲学与机器学习竟有如此大的交集
  • 黑客用上机器学习你慌不慌?这 7 种窃取数据的新手段快来认识一下
  • “谷歌杀手”发明者 , 科学天才 Wolfram
  • 数据库激荡40年 , 深入解析PostgreSQL、NewSQL演进历程
  • 5分钟!就能学会以太坊 JSON API 基础知识


推荐阅读