Transformer的高性能依赖于极高的算力,这让移动端NLP严重受限。在不久之前的ICLR 2020论文中,MIT与上海交大的研究人员提出了一种高效的移动端NLP架构Lite Transformer,向在边缘设备上部署移动级NLP应用迈进了一大步。虽然推出还不到3年,Transformer已成为自然语言处理(NLP)领域里不可或缺的一环。
然而这样流行的算法却需要极高的算力才能实现足够的性能,这对于受到算力和电池严格限制的移动端来说有些力不从心。在MIT最近的研究《Lite Transformer with Long-Short Range Attention》中,MIT与上海交大的研究人员提出了一种高效的移动端NLP架构Lite Transformer,向在边缘设备上部署移动级NLP应用迈进了一大步。
该论文已被人工智能顶会ICLR 2020收录。该研究是由MIT电气工程和计算机科学系助理教授韩松领导的。韩松的研究广泛涉足深度学习和计算机体系结构,他提出的Deep Compression模型压缩技术曾获得ICLR2016最佳论文,论文ESE稀疏神经网络推理引擎2017年曾获得芯片领域顶级会议——FPGA最佳论文奖,引领了世界深度学习加速研究,对业界影响深远。
Transformer在自然语言处理任务(如机器翻译、问答)中应用广泛,但它需要大量计算去实现高性能,而这不适合受限于硬件资源和电池严格限制的移动应用。这项研究提出了一种高效的移动端NLP架构——Lite Transformer,它有助于在边缘设备上部署移动NLP应用。
其核心是长短距离注意力(Long-Short Range Attention,LSRA),其中一组注意力头(通过卷积)负责局部上下文建模,而另一组则(依靠注意力)执行长距离关系建模。这样的专门化配置使得模型在三个语言任务上都比原版transformer有所提升,这三个任务分别是机器翻译、文本摘要和语言建模。
在资源有限的情况下(500M/100M MACs),Lite Transformer在WMT’14英法数据集上的BLEU值比分别比transformer高1.2/1.7。Lite Transformer比transformer base模型的计算量减少了60%,而BLEU分数却只降低了0.3。结合剪枝和量化技术,研究者进一步将Lite Transformer模型的大小压缩到原来的5%。
对于语言建模任务,在大约500M MACs上,Lite Transformer比transformer的困惑度低1.8。值得注意的是,对于移动NLP设置,Lite Transformer的BLEU值比基于AutoML的Evolved Transformer高0.5,而且它不需要使用成本高昂的架构搜索。
从Lite Transformer与Evolved Transformer、原版transformer的比较结果中可以看出,Lite Transformer的性能更佳,搜索成本相比Evolved Transformer大大减少。NLP领域的研究人员试图理解被注意力捕捉到的上下文。Kovaleva等人(2019)和Clark等人(2020)对BERT不同层的注意力权重进行了可视化。
如下图3b所示,权重w表示源句单词与目标句单词之间的关系(自注意力也是如此)。随着权重w_ij的增加(颜色加深),源句中的第i个词更加注意目标句中的第j个词。注意力图通常有很强的模式化特征:稀疏和对角线。它们代表了一些特定单词之间的关系:稀疏表示长距离信息间的关系,对角线表示近距离信息间的关系。研究者将前者称为「全局」关系,将后者称为「局部」关系。
为了解决该问题,该研究提出一个更专门化的架构,即长短距离注意力(LSRA),而不是使用处理“一般”信息的模块。该架构分别捕获局部和全局上下文。如图3a所示,LSRA模块遵循两分支设计。左侧注意力分支负责捕获全局上下文,右侧卷积分支则建模局部上下文。研究者没有将整个输入馈送到两个分支,而是将其沿通道维度分为两部分,然后由后面的FFN层进行混合。这种做法将整体计算量减少了50%。
左侧分支是正常的注意力模块(Vaswani et al. (2017)),不过通道维度减少了一半。至于处理局部关系的右分支,一个自然的想法是对序列应用卷积。使用滑动窗口,模块可以轻松地覆盖对角线组。为了进一步减少计算量,研究者将普通卷积替换为轻量级的版本,该版本由线性层和深度卷积组成。
通过这种方式,研究者将注意力模块和卷积模块并排放置,引导它们对句子进行全局和局部的不同角度处理,从而使架构从这种专门化设置中受益,并实现更高的效率。研究者在机器翻译、文本摘要和语言建模三个任务上进行了实验和评估。具体而言,机器翻译任务使用了三个基准数据集:IWSLT’14德语-英语(De-En)、WMT英语-德语(En-De)、WMT英语-法语(En-Fr)。
文本摘要任务使用的是CNN-DailyMail数据集。语言建模任务则在WIKITEXT-103数据集上进行。模型架构是基于序列到序列学习的编码器-解码器。在机器翻译任务中,针对WMT数据集,基线模型基于Vaswani等人提出的模型。对于IWSLT数据集,基线模型遵循Wu等人的设置。对于文本摘要任务,研究者采用了与WMT相同的模型。
至于语言建模任务,模型与Baevski & Auli (2019)一致,但模型尺寸较小。该研究提出的架构首先将transformer base模型中的bottleneck拉平,然后用LSRA替换自注意力。更具体地说,是使用两个专门的模块,一个注意力分支和一个卷积分支。
表1展示了Lite Transformer在IWSLT’14 De-En数据集上的定量结果,并与transformer基线方法和LightConv做了对比。在大约100M Mult-Adds时,Lite Transformer模型的BLEU值比transformer高出1.6。
表2中的定量结果表明,在100M Mult-Adds设置下,Lite Transformer在WMT En-De数据集和WMT En-Fr数据集上的BLEU值分别比Transformer高出1.2和1.7,在300M Mult-Adds设置下,也有0.5和1.5分的提升。
研究者还提供了模型在WMT En-Fr上的权衡曲线,如图4a所示,Lite Transformer一直优于原版transformer。与基于AutoML的Evolved Transformer(ET)相比,Lite Transformer在移动设置中也有明显的改进。此外,在100M和300M的Mult-Adds下,Lite Transformer的BLEU值分别比ET高0.5和0.2,详见表3。