当前位置:   article > 正文

浅谈BERT/Transformer模型的压缩与优化加速

transformer压缩图像

ab4ce6705873631da2cc998d10cc5dc6.gif

©作者 | 姚益武

单位 | 阿里巴巴集团

研究方向 | AI算法与工程架构

fd265eb18d60dc47684898d8cd4663f3.png

前言

BERT/Transformer 结构及其变体,已成为自然语言处理(NLP)、语音识别 (ASR)等领域的主流序列建模结构。并且,相比于卷积操作的局部特征提取能力、以及平移不变性,Self-Attention/Cross-Attention 的全局 Context 信息编码或长时依赖建模能力,能够使图像/视觉模型具备更强的相关性建模能力(更好的全局视野)、与动态建模能力(领域或样本适应性)。

因此在计算机视觉领域 (CV),Vision Transformer 模型结构(如 ViT、Deit、Swin-Transformer、PVT、SegFormer 与 DETR 等)也日益流行、方兴未艾。然而,Transformer 模型的高计算复杂度与参数量,限制了模型的推理部署(包括服务端与移动端应用),其计算、存储与运行时内存等资源开销都成为限制因素(存在大量密集计算算子、与访存算子,如 BatchMatMul、LayerNorm、Transpose/Reshape 等)。例如,从标准 Transformer layer 的 Tensor 处理结构来看,MHA 的 Context 特征计算与特征长度的平方、Embedding 特征维度成正比:

Standard Self-Attention (X=Y) / Cross-Attention (X!=Y):

38033f631daddcca39c3a1cdf8763a53.png

 Standard FFN:

a721619beec074780d42753091a41295.png

本文从以下几个维度举例说明,解析 Bert/Transformer 模型的加速方法,体现了从建模依赖、数据依赖到硬件依赖的优化层次:

  • 模型结构精简化与知识蒸馏

  • 模型量化(Quantization)

  • 网络结构搜索(NAS: Network Architecture Search)

  • 计算图优化(计算图等价变换)

  • 推理优化引擎(Faster Transformer / Torch-TensorRT / AICompiler)

44d5a85374016925dff88521486c43bc.png

d5589d8c678d460345f4060c48bdf243.png

4c82dac65b99bdf848d0bd94e2aace68.png

模型结构精简化与知识蒸馏

2.1 Lite-Transformer

698501b8f501f6e1a2041fba13c53b80.png

论文标题:

Lite Transformer with Long-Short Range Attention

收录会议:

ICLR 2020

论文链接:

https://arxiv.org/abs/2004.11886

代码链接:

https://github.com/mit-han-lab/lite-transformer

Lite Transformer 是一种融合卷积与 Self-Attention 操作的、高效精简的 Transformer 结构,可应用于 NMT、ASR 等序列生成任务。其核心是长短距离注意力结构(LSRA:Long-Short Range Attention),能够有效融合卷积与 Attention 机制。

LSRA 将输入 Embedding 沿 Feature 维度 split 成两部分,其中一部分通过 GLU(Gate Linear Unit)、一维卷积,用以提取局部 Context 信息;而另一部分依靠 Self-attention,完成全局相关性信息编码。一维卷积的引入,能够减轻计算量与参数量。Lite Transformer 核心结构如下,首先将 FFN 的宽度摊平(flatten),其次引入 LSRA 以替换 Self-Attention:

908a0727885506df76371361fd8b2234.png

83e98710671e771ce5cc8b80a0baf289.png

2.2 SAN-M

21ec5792ad6f75038cfc13c9dd7f4bfb.png

论文标题:

SAN-M: Memory Equipped Self-Attention for End-to-End Speech Recognition

收录会议:

INTERSPEECH 2020

论文链接:

https://arxiv.org/abs/2006.01713

SAN-M 表示 Self-Attention 与 DFSMN 记忆单元的融合,是一种 Transformer ASR 模型。DFSMN 适合捕获局部信息,Self-Attention 模块具备较强的长时依赖建模能力,因此二者存在互补性。SAN-M 通过将两个模块的特性融合在一起,实现了优势互补。Biasic Sub-layer 表示包含了 SAN-M 的 Self-Attention 模块,DFSMN 添加在 values 后面,其输出与Multi-head Attention(MHA)相加:

cf4bfd7ecce00a78f1221e16b5399cf3.png

b4035dda3f8485e5e6b0cbda75dd57e7.png

2.3 MiniLM(知识蒸馏)

d8369234870ec5268c9e718a5578c6b2.png

论文标题:

MiniLM: Deep Self-Attention Distillation for Task-Agnostic Compression of Pre-Trained Transformers

论文链接:

https://arxiv.org/abs/2002.10957

代码链接:

https://github.com/microsoft/unilm/tree/master/minilm

针对 NLP 任务,深度自注意力知识蒸馏(Deep Self-Attention Distillation),通过迁移 Teacher model 最后一层 Self-Attention 模块的 Attention score 信息与 Value relation 信息,可有效实现 Student model 的诱导训练。只迁移最后一层的知识,能够直接迁移语义信息,显得简单有效、训练速度更快;而且相比于层间特征迁移,不需要手动设计 Teacher-student 之间的层对应关系。Attention score 信息与 Value relation 信息的知识迁移如下:

Attention score transfer:

1a753c5eee1ab98b2452a6f46c2bac48.png

Value relation transfer:

7e93abe3b27286675444dd81509ee519.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/423465
推荐阅读
相关标签
  

闽ICP备14008679号