链接:https://arxiv.org/pdf/2105.13878.pdf
github:https://github.com/LeeSureman/Sequence-Labeling-Early-Exit
Bert等一系列预训练模型虽然在下游任务上有很好的表现,但是他们的计算代价是比较大的。从而使得工程上使用局限比较大。为了解决这个问题,提出了模型压缩的一系列方法如:剪枝,知识蒸馏以及早退机制等。其中,早退机制是认为一些样本在比较浅的层就能得到正确的结果,那么就可以终止这些样本的训练,从而加速推理。本文将早退机制应用到序列标注上,提出了SENTence-level Early-Exit (SENTEE)以及TOKen-level Early-Exit (TOKEE)。
Early-Exit for Sequence Labeling
早退是通过计算不确信度来决定是否退出,不确信度的计算:
其中, 是第n个token的标签概率。
SENTEE: Sentence-Level Early-Exi
SENTEE的不确信度计算是取序列所有token的最大值 作为整个句子的不确信度,当 的时候,那么在第 层退出。
TOKEE: Token-Level Early-Exi
为了解决SENTEE中简单的tokens无法早退出的机制,提出了TOKEE。TOKEE利用周围token的信息的最大值作为当前token的不确信度的值。
Halt-and-Copy将早退出tokens的表示直接复制到上层。为了解决训练和推理之间的不一致性,引入了自采样。
Experiment
不同数据上的结果
SENTEE和TOKEE的速度比较
Conclusion
本文提出了序列标注的早退机制SENTEE和TOKEE,加快了推理速度。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)