当前位置: 首页 > 科技观察

模型压缩了95%,MIT韩松等人提出了一种新的LiteTransformer

时间:2023-03-16 18:31:12 科技观察

Transformer。Transformer的高性能依赖于极高的计算能力,这严重限制了移动NLP。在不久前的ICLR2020论文中,来自麻省理工学院和上海交通大学的研究人员提出了一种高效的移动NLP架构LiteTransformer,这是向在边缘设备上部署移动级NLP应用迈出的一大步。虽然诞生不到3年,但Transformer已经成为自然语言处理(NLP)领域不可或缺的一部分。然而,这样一个流行的算法需要极高的计算能力才能达到足够的性能,这对于受计算能力和电池严格限制的移动终端来说有些不足。在麻省理工学院最近的研究《Lite Transformer with Long-Short Range Attention》中,来自麻省理工学院和上海交通大学的研究人员提出了一种高效的移动NLP架构LiteTransformer,这是向在边缘设备上部署移动级NLP应用迈出的一大步。该论文已被人工智能顶级会议ICLR2020录用。该研究由麻省理工学院电气工程与计算机科学系助理教授宋寒领导。韩松的研究广泛涉及深度学习和计算机体系结构。其DeepCompression模型压缩技术获得ICLR2016最佳论文,论文ESESparseNeuralNetworkInferenceEngine获得芯片领域顶级会议-2017年FPGA最佳论文奖,引领全球深度学习加速研究和对行业产生了深远的影响。论文地址:https://arxiv.org/abs/2004.11886v1GitHub地址:https://github.com/mit-han-lab/lite-transformerTransformer广泛应用于自然语言处理任务(如机器翻译、问答),但它需要大量的计算才能实现高性能,不适合受硬件资源和电池严格限制的移动应用。本研究提出了一种高效的移动NLP架构——LiteTransformer,它有助于在边缘设备上部署移动NLP应用程序。其核心是Long-ShortRangeAttention(LSRA),其中一组注意力头(通过卷积)负责局部上下文建模,而另一组(依赖注意力)执行远程关系建模。这种专门的配置使模型在机器翻译、文本摘要和语言建模这三个语言任务上比原始转换器有所改进。在资源有限(500M/100MMAC)的情况下,LiteTransformer在WMT’14英语和法语数据集上的BLEU值比分别比Transformer高1.2/1.7。LiteTransformer需要的计算量比transformer基础模型少60%,同时仅将BLEU分数降低0.3。结合剪枝和量化技术,研究人员将LiteTransformer模型的大小进一步压缩到其原始大小的5%。对于语言建模任务,LiteTransformer在大约500MMAC上的困惑度优于Transformer1.8。值得注意的是,对于移动NLP设置,LiteTransformer的BLEU比基于AutoML的EvolvedTransformer高0.5,并且不需要使用昂贵的架构搜索。从LiteTransformerwithEvolvedTransformer和原始transformer的对比结果可以看出,LiteTransformer的性能更好,搜索成本也比EvolvedTransformer大大降低。那么,为什么LiteTransformer能够做到高性能低成本呢?接下来,我们来了解一下它的核心思想。长短程注意力(LSRA)NLP领域的研究人员试图理解注意力捕获的上下文。科瓦列娃等。(2019)和克拉克等人。(2020)可视化BERT不同层的注意力权重。如下图3b所示,权重w表示源句词和目标句词之间的关系(self-attention也是如此)。随着权重w_ij的增加(颜色变暗),源句中的第i个词更加关注目标句中的第j个词。注意图通常具有很强的图案特征:稀疏和对角线。它们表示一些特定词之间的关系:稀疏表示远距离信息之间的关系,对角线表示近距离信息之间的关系。研究人员将前者称为“全局”关系,将后者称为“局部”关系。图3:LiteTransformer架构(a)和注意力权重的可视化。传统的注意力(b)过于强调局部关系建模(见对角线结构)。本研究使用卷积层来专注于局部特征提取,以有效地对局部信息进行建模,从而使注意力分支专注于全局特征提取(c)。在翻译任务中,注意力模块必须同时捕获全局和局部上下文,这需要很大的容量。与专门设计相比,这不是最优的。以硬件设计为例,CPU等通用硬件的效率低于FPGA等专用硬件。研究人员认为,全球和当地背景应该分开捕捉。当模型容量很大时,可以容忍冗余甚至提供更好的性能。但在移动应用程序上,由于计算和功率限制,该模型应该更高效。因此,更需要专门的上下文捕获。为了解决这个问题,该研究提出了一种更专业的架构,即长短程注意力(LSRA),而不是使用处理“一般”信息的模块。该体系结构分别捕获本地和全局上下文。如图3a所示,LSRA模块采用双分支设计。左注意力分支负责捕获全局上下文,右卷积分支对局部上下文建模。研究人员没有将整个输入馈送到两个分支,而是沿着通道维度将其分成两部分,然后由后面的FFN层混合。这种方法将整体计算量减少了50%。左边的分支是正常的注意力模块(Vaswanietal.(2017)),但是通道维度减少了一半。至于处理局部关系的右分支,一个自然的想法是将卷积应用于序列。使用滑动窗口,模块可以轻松覆盖对角线组。为了进一步减少计算量,研究人员用由线性层和深度卷积组成的轻量级版本取代了普通卷积。通过这种方式,研究人员将注意力模块和卷积模块并排放置,引导它们从全局和局部的不同角度处理句子,使架构受益于这种专门设置并获得更高的效率。实验设置数据集和评估研究人员对机器翻译、文本摘要和语言建模这三个任务进行了实验和评估。具体来说,三个基准数据集用于机器翻译任务:IWSLT'14德语-英语(De-En)、WMT英语-德语(En-De)和WMT英语-法语(En-Fr)。文本摘要任务使用CNN-DailyMail数据集。语言建模任务是在WIKITEXT-103数据集上执行的。体系结构模型体系结构是基于序列到序列学习的编码器-解码器。在机器翻译任务中,对于WMT数据集,基线模型基于Vaswani等人提出的模型。对于IWSLT数据集,基线模型遵循Wu等人的设置。对于文本摘要任务,研究人员采用了与WMT相同的模型。至于语言建模任务,该模型与Baevski&Auli(2019)一致,但模型尺寸更小。本研究中提出的架构首先消除了transformer基础模型中的瓶颈,然后用LSRA取代了自注意力。更具体地说,使用了两个专用模块,一个注意力分支和一个卷积分支。实验结果机器翻译表1显示了LiteTransformer在IWSLT'14De-En数据集上的量化结果,并与Transformer基线方法和LightConv进行了比较。在大约100MMult-Adds时,LiteTransformer模型的BLEU值比transformer高1.6。表1:IWSLT'14De-En的结果。表2的量化结果表明,在100MMult-Adds设置下,LiteTransformer在WMTEn-De数据集和WMTEn-Fr数据集上的BLEU值分别比Transformer高1.2和1.7,分别在300MMult-Adds设置下也有0.5和1.5点的提升。表2:WMT'14En-De和WMT'14En-Fr的结果。研究人员还提供了模型在WMTEn-Fr上的权衡曲线,如图4a所示,LiteTransformer已经优于原始transformer。图4:WMTEn-Fr数据集上的机器翻译权衡曲线,以及WIKITEXT-103数据集上的语言建模权衡曲线。两条曲线都说明LiteTransformer在移动设置(蓝色区域)中的性能优于Transformer。与自动化设计模型的比较与基于AutoML的EvolvedTransformer(ET)相比,LiteTransformer在移动设置方面也有显着改进。另外,在100M和300M的Mult-Adds下,LiteTransformer的BLEU值分别比ET高0.5和0.2,详见表3。表3:不同NMT模型的性能和训练成本。文本摘要表4:CNN-DailyMail数据集上的文本摘要结果。表5:WIKITEXT-103数据集上的语言建模结果。