给每个问题一个最好的答案

最方便的ChatGpt使用方法

如何实现动态加速网络?

请先 登录 后评论

1 个回答

admin - 书生,情报局长
这篇文章主要介绍两篇文章关于动态网络中的早退机制,有意思的是两篇文章都出自2020年ACL,并且两者有很多相似点。两篇论文地址如下:

DeeBert

FastBert

1. 动机由于大规模预训练模型的兴起,如Bert,它确实有很不错的表现能力。然而,在实际应用中Bert规模太大,在推理时计算复杂度太高,往往需要很长的时间,因此需要设计一种自适应推理模型。

2. DeeBert2.1. 介绍DeeBert是在Bert每一层encoder后增加一个输出出口(即一个分类器)。如下图所示,长方形表示的是encoder,圆形表示的是分类器,其实DeeBert的模型架构与FastBert的模型架构几乎一致。

DeeBert2.2. TrainingDeeBert的训练分为两阶段:

第一阶段,禁用除最后一个分类器以外的所有分类器,使用有标签数据集微调最后一个分类器以及所有的encoder,这与原论文Bert的微调保持一致。第二阶段,禁用第一阶段微调的所有参数,使用有标签数据集仅仅微调第一阶段所禁用的分类器。2.3. inference当输入样本x到达某一层的分类器,如果该分类器的预测结果的信息熵小于设定的阈值S,则直接返回该分类器的预测结果同时不在往后执行;如果该分类器的预测结果的信息熵大于设定的阈值S,则继续往后执行。

2.4. experimentsDeeBert使用GLUE数据集进行实验,实验结果如下:

3. FastBert3.1. 介绍FastBert的模型架构与DeeBert的模型架构类似,都是在Bert的每层encoder后增加一个分类器,FastBert给最后一个分类器取名为老师分类器,其它分类器都称为学生分类器。如下图所示:

3.2. TrainingFastBert的训练也分为两阶段:

第一阶段,与DeeBert一样,冻结所有学生分类器,使用有标签数据微调所有encoder以及老师分类器第二阶段,冻结第一阶段微调的所有参数,使用自蒸馏技术,这里使用无标签数据就可以,将老师分类器预测的概率分布蒸馏给学生分类器。这里使用KL散度衡量分布距离,loss是所有学生分类器与老师分类器的KL散度之和。3.3. inference在推理阶段,FastBert与DeeBert的策略也是几乎一样,都使用了分类器输出的信息熵作为是否早退的指标,当信息熵小于阈值S则早退,大于阈值S

请先 登录 后评论
  • 17 关注
  • 0 收藏,625 浏览
  • 醉醉 提出于 2022-07-16 12:50