【论文阅读】SmartBERT: A Promotion of Dynamic Early Exiting Mechanism for Accelerating BERT Inference

2022-2023年论文系列之模型轻量化和推理加速

前言

通过Connected Papers搜索引用PaBEE/DeeBERT/FastBERT的最新工作,涵盖:

  • 模型推理加速
  • 边缘设备应用
  • 生成模型
  • BERT模型
  • 知识蒸馏

论文目录

  1. SmartBERT: A Promotion of Dynamic Early Exiting Mechanism for Accelerating BERT Inference

  2. SKDBERT: Compressing BERT via Stochastic Knowledge Distillation

  3. COST-EFF: Collaborative Optimization of Spatial and Temporal Efficiency with Slenderized Multi-exit Language Models

  4. Knowledge Distillation with Reptile Meta-Learning for Pretrained Language Model Compression

  5. Accelerating Inference for Pretrained Language Models by Unified Multi-Perspective Early Exiting

  6. A Simple Hash-Based Early Exiting Approach For Language Understanding and Generation

主要内容:近两年(2022-2023年)动态早退的工作进展,粗读motivation和method以及experiment setup。

1. SmartBERT: A Promotion of Dynamic Early Exiting Mechanism for Accelerating BERT Inference

a. 论文信息

发表会议:IJCAI2023

作者:Boren Hu, Yun Zhu, Jiacheng Li, Siliang Tang

发表单位:Zhejiang University

开源:None

b. 内容

motivation

现有的early existing方法仍存在计算冗余,体现在退出之前必须要经过连续层的计算,复杂样本就需要经过更多层。

method

本文提出结合early existing和skipping layer方法,在每个BERT层添加一个skipping gate和existing operator。训练过程,本文提出交叉层对比学习以提高分类效果,还提出一个严格的权重机制以保证训练和推理时的skipping gate的一致性。

模型架构基于FastBERT和DeeBERT,在此基础上添加了skipping gate,计算skip概率决定是否跳过该层:

在这里插入图片描述

有了skipping gate之后第 i 个encoder block的输出计算如下:

在这里插入图片描述

skipping gate 的概率在训练阶段为[0,1],但是推理阶段为0/1,导致了不一致问题。

解决办法:训练阶段你的skipping gate的输出为soft权重,按照如下公式截断,达成和推理阶段一致的离散值:

在这里插入图片描述

模型训练使用的是2-stages训练策略:

在这里插入图片描述

两个阶段训练的对比学习如何进行,可以看文章了解。连续层的相同token表示为正样,否则为负样。

  • 第一个训练阶段:中间分类器不参与训练

在这里插入图片描述

  • 第二个训练阶段:冻结第一阶段训练好的模块,训练中间分类器

在这里插入图片描述

对于skipping gate的特殊训练方式:软权重预热所有skipping gate和transformer层,然后使用硬权重进行训练。

推理:

  • 判断是否跳出的公式

在这里插入图片描述

  • 不跳出该层,进入早退判断的中间分类器
    在这里插入图片描述

experiment setup

数据集:GLUE的八个分类数据集

baselines:

  • BERT: bert-base model pre-trained by Google
  • DistilBERT: 从BERT模型蒸馏的更小的模型
  • Early exiting model:DeeBERT, FastBERT (相同分类方法)

实验环境:NVIDIA 2080Ti GPU

SmartBERT第一阶段训练了5轮,第二阶段训练4轮。

  • result

在这里插入图片描述

在这里插入图片描述

  • 相比BERT,实现2-3x的计算量减少

  • 相比其他方法,在效率和准确率上更出色

  • 在复杂数据集,熵难以起作用,skipping mechanism对减少计算量起了关键作用

    不使用早退机制,只用skipping gate。

在这里插入图片描述

  • 消融实验:对比学习

在这里插入图片描述

  • 特殊的训练机制

    Soft:软权重训练

    Hard:硬权重训练

    SP:先用软权重训练再用硬权重训练

在这里插入图片描述

c. Summary

针对deebert和fastbert模型的早退仍存在冗余计算这一点加入skipping gate机制,在训练时使用跨层对比学习思想提高模型分类器的性能,由于skipping gate的加入,造成训练和推理时的参数不一致,将训练时的前向传播的软权重截断成硬权重,并且引入了特殊的训练机制(即软权重预热再用硬权重训练)。

和BERT相比实现2-3x的计算量减少,做了仅用skipping gate进行推理加速的实验、对比学习的消融实验、特殊训练机制的实验。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zoetu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值