Efficient Methods for Natural Language Processing: A Survey自然语言处理有效方法综述

Efficient Methods for Natural Language Processing: A Survey

关于自然语言处理有效方法的一个综述,近来关于自然语言处理已经取得了非常显著的结果,特别是从缩放模型参数,训练数据。然而,仅仅使用缩放模型来改进性能意味着硬件资源消耗的扩大,包括的资源有数据,时间,存储和能耗,所有这些资源都是有限的,而且是分布不均匀。 这些关于模型有效方法研究的动机是利用较少的资源获得相同的模型结果(效果)。本文章将概括、叙述当前的在自然语言研究方面的方法和结果。我们的目标即提供了在有限计算资源下研究nlp的指导,同时在探索更有效的方法上指明改进方向。

     综述的范围:针对两类读者,只有有限资源的nlp的研究人员和改进nlp算法的研究人员。

     下面从数据,模型设计,预训练,精调,推断和压缩模型,硬件使用,评价有效性,模型选择,来进行综述。

2. 数据的有效性(使用更少的训练样本改进数据效率,或充分利用当前的数据)

改进数据质量能提高模型性在预训练和精调阶段能降低训练成本

2.1 过滤

过滤掉重复的数据,能改进训练效率。同时能降低计算成本,特别庞大的预训练数据不利于有限的计算预算。

2.2  积极(主动)学习

主动学习的目的是减少训练实例的数量。与过滤不同,它是在数据收集期间(而不是之后),只注释最有用或最有用的训练实例(Settles,2012;Ren等人,2021b)。为了在不知道实例实际标签的情况下确定实例的有用性,可以使用模型不确定性——假设具有不确定性最高的标记实例是最有用的(刘易斯和盖尔,1994;唐等人,2002;加尔等人,2017;袁等,2020年);实例的多样性(博多等人,2011;参议员和萨瓦雷斯,2018;吉辛和沙勒夫-什瓦茨,2019);或这两个标准的组合(基什等人,2019;20阿什等人,2020;玛格蒂娜等人,2021年;西迪基等人,2021年;阿加瓦尔等人,2022年)。主动学习已成功地应用于机器翻译(MT,Liu等。2018年)、语言学习(李等人,2020年)、非实体链接(k等人,2020年)和共同参考文献(李等人,2020年;Yuan等人,2022年)。尽管主动学习有其优点,但一些开放的问题使主动学习难以在实践中应用。目前尚不清楚基于模型的抽样如何影响使用不同于抽样架构的模型的每个性能(Lowell等人,2019年;Ein-Dor等人,2020年)。此外,选择“困难”的实例可能会增加注释的成本和难度(Settles等人,2008;Lee等人,2022a)。最后,它容易产生选择偏差,并可能倾向于异常值(Cortes等人,2008年;卡拉姆切蒂等人,2021年)。

2.3 课程学习

课程学习旨在找到一个数据排序这就减少了所需的训练步骤数

为了达到目标绩效(Elman,1993;Bengio等人,2009)。这种方法不会减少数据集的大小,但确实提高了其利用率。因此,

它是在训练前和微调中提高训练效率的常用方法。许多课程学习方法按实例排序难度,使用启发式方法,如句子长度。这是对transformer前训练的改进(Press等人,2021年;阿格拉瓦尔等人,2021年)以及对问题回答的微调(Tay等人,2019)、MT(Zhang等人2019)、和其他人(Xu et al.,2020)。课程学习中的一个主要挑战是终止的速度,即何时发展到更多不同的实例。如果没有仔细选择,课程设置学习会在“简单”实例上浪费计算。为了解决这一问题,我们研究了基于当前模型状态的自适应顺序策略自定节奏的学习(Kumar等人,2010年)。这是一个问题已成功地应用于提高性能。

2.4 评价数据质量

在一个数据集越来越大的时代,审查和评价数据质量的时间越来越长。数据集经常呈现高水平关于噪音和排列失调的实例(Kreutzer等人,2022). 估计数据质量包括重复搜索努力,提出更好的不确定性和时间(Baldock等人,2021;D‘souza等人,2021;Ethayarajh等人,2022年)以及分析工具如数据集制图(Swayamdipta等,2020).定性工具包括文档数据集和模型属性(Gebru等人,2021年)。

3 模型设计

有效的模型设计包含模型架构修改,增加新的模块加速训练。

3.1 改进transformer注意力

自注意机制有一个对序列长度的二次依赖性是没有被现有的模型充分利用(Hassid等人,2022).为了降低计算成本,对长序列的保留机制已经很有效提出的建议(Tay等人,2022年)。现有的策略

包括更好地使用已经处理过的段通过递归来连接多个线段(Dai

等人,2019年),学习一个网络来压缩长期记忆(Rae et al.,2020),分别建模全局和本地的关注(Ainslie等人,,并将长输入建模为一个连续的时间信号(Martins等人,2022b)。的另一行研究使用固定的注意力模式,其中的词元关注他们的直接环境(当地注)

并可能是一些全局位置(全局在保留;贝尔塔吉等人,2020年;Zaheer等人,2020年;Child等人,2019年)。与使用完整的自注意矩阵相比,这些方法可以进行线性缩放输入长度。

一些方法是学习注意力稀疏性模式直接从数据中获取标记,例如,通过将标记分组到桶,导致更准确、更精确的全注意矩阵

(Kitaev等人,2020年;Daras等人,2020年;罗伊等人。2021).而不是寻求更好的注意力模式,一些策略改变了注意机制并通过核的反向应用,推导出查询键矩阵的低秩近似技巧,导致线性时间注意(卡塔罗普·los等人,2020年;乔罗曼斯基等人,2021年;彭等人,2020年;Zhai等人,2021年)。最近,io-意识到了注意机制已经被提出,减少GPU注意矩阵的读写高带宽存储器(Dao等人,2022b)。尽管注意力有了各种改善机制,他们中的大多数都在非常挣扎长序列(Tay等人,2021年)。S4 (Gu等人,及其继任者(Gupta et al.,2022;Mehta等人,2023年;Gu等人,2022a),建议一个替代了transformer,减轻了短时间内存问题和二次瓶颈离散状态空间的自注意代价通过参数化来实现的表示状态矩阵最近,Mega(Ma et al.,2023)更换了多头transformer的注意力具有单头机制的机制从一个多重敏感指数移动平均模块接收上下文化的向量,然后将输入分割成多个固定长度的输入分块,以降低计算成本。两个S4

而Mega的表现也明显优于基于注意力的表现对远程竞技场的所有任务的方法基准测试(Tay等人,2021年),同时增加训练速度约5倍内存成本约为15%标准transformer,这一成功要归功于它们的卷积结构,这是要强调的附近的令牌和有一个参数计数的增长与序列长度呈亚线性关系(Li et al.,2022b)。

3.2 稀疏模型

为了利用稀疏性来提高效率,许多模型遵循专家混合疗法(MoE)的概念(Jacobs等人,1991年;Shazeer等人,2017年;Fedus等人,2022a),它将路由计算通过小而不是传递输入整个模型。在这方面的相关工作包括GShard(勒皮金等人,2021)、开关反式前(Fedus等人,2022b)和ST-MoE (Zoph等人,2022年),它取代了前馈层在具有MoE层的transformer中。最近,Rajbhandari等人(2022年)扩大了transformer通过压缩和优化MoE的使用。总的来说,MoE模型已经被证明是可以实现的在几个NLP任务中具有强大的性能减少整体资源消耗。 8).例如,GLaM(Du等人,2022年)只使用了。GPT-3的能源消耗(与附加的基于硬件的优化),而Rajbhandari等人(2022年)达到了5倍的减少培训费用然而,MoE模型在实践中也表现出训练不稳定性,并且可能需要特定于架构的实现(Zoph等人,2022年;穆斯塔法等人,2022年)。另一个很有前途的开发方向稀疏建模是稀疏查找器(Treviso等人,该研究扩展了自适应稀疏反式前者(Correia et al.,2019),以允许更多

通过预先识别返回的稀疏模式,实现有效的注意机制注意-(密集)软件的稀疏替代品注意事项(Peters等人,2019年)。最后,稀疏性可以也可以通过模块化来诱导,例如,通过封装任务特定的参数(Ponti等人,2022)。

3.3 参数有效性

减少参数计数的方法可以减少计算成本和内存使用量。一个这样的

方法是在a的各个层之间共享权重模型,同时按照性能维护下游任务(Dehghani等人,2019年;Lan等人,2019年)。除了分享权重外,感知器(Jaegle等人,同时也能使……的计算成本最小化通过映射长序列来实现对长序列的自我关注输入到一个小的潜在向量。阿尔伯特(Lan等人,进一步使用矩阵分解来减少嵌入层的大小,这是其中之一模型参数的最大消费者。最终Reid等人(2021年)研究了如何分享体重的方法变形transformer,显示了只共享中间部分模型的各层的性能优于其他备选方案。

3.4  检索查询增强模型

参数化模型可以与检索相结合文本生成机制,导致半参数模型(Gu等人,2018;Lewis等人。2020b;Li等人,2022a)。这通常就等于

用数据库尝试的次数交易模型大小。例如,复古风格(Borgeaud等人,2022年)与25倍的模型相匹配,通过从2万亿中提取代币

令牌数据库。在推理时,模型会从数据库中提取标记/短语/句子,该模型通过概率分布的组合来使用(坎德尔瓦尔等人,2020年),门控机制(瑜伽ama等人,2021年),或关注(Borgeaud等人,2022年)。这些模型也具有很好的泛化性属性:通过从域特定的位置进行检索数据库,它们可以应用到新的域,减少了对特定于领域的微调的需要(kandelwal等人,2020年,2021年)。也就是说,有一个显式的“记忆”也允许检索增强训练后需要调整的模型。虽然他们可能会产生较慢的运行速度作为检索吗时间随着数据存储的规模而增长,最近的工作提出了缓解这种情况的策略,例如启动数据库(等人,2021年),其规模更小依赖于输入的数据库(孟等人,2022年),参考表示维度(Martins等人,和聚类数据点(Wang et al.,2021年b;Alon等人,2022年)。特别是马丁斯公司等人(2022c)已经表明,仔细构建数据库不仅可以带来更好的翻译

比微调更好,但也可以减少总数翻译时间(推理+在线自适应)。

3.5模型设计注意事项

尽管取得了相当大的进展,一个主要的挑战是在许多真实的世界文档中建模长序列。例如,可持续发展re端口平均有243.5页

这大大超过了在Path-中发现的最大最大长度(16k标记)远程竞技场(Tay等人,2021年)。事实上,这个模型处理更长的序列的能力那些在训练中看到的可能取决于设计选择,如注意机制(Dubois

和位置编码(Shaw等人,2018年;Press等人,2022年)。当使用次二次transformer时,这样的影响是行为注意、稀疏建模方法或模拟有效模型还没有得到很好的理解。而像MoE这样的稀疏建模方法则可以大幅降低了推理和培训成本,它们需要额外的模型参数来重新训练专门的模块,并且具有不稳定性培训期间的问题(Zoph等人,2022年)。“模型”它依赖于内置的稀疏转换,比如entmax(Peters等人,2019年),已经取得了强劲的成绩结果没有稳定性问题,但还没有充分实现了竞争效率的收益。用内置的稀疏函数连接MoE可能是一个有前途的研究方向,例如,通过使用entmax在路由层中。在检索增强模型中,其质量检索组件是对性能的关键,和存储信息之间的权衡模型参数与外部资源的需要要更好地理解,特别是在部署时在低资源设置下的模型,如边缘设备。最后,虽然新的模型设计通过不同的手段提高效率,但结合方法可以进一步提高效率,例如,使用全化使῏更有效率(秒。6.3)和使用参数效率高蒸馏的模型。6.2).

4 预训练

现代自然语言处理中的迁移学习方法包括在大量文本上以自我监督的方式对模型进行预训练对特定的任务进行微调。 5).目前正在改进模型的预训练过程可以显著地降低超参数调整的成本并提高了可进行微调的数据效率等人,2018年;他等人,2019年;Neyshabur等人,2020年)。

4.1优化目标

对任务的选择可以决定是否成功对下游任务的预训练模型。从左到向右的语言模型,如GPT(雷德福等人,2019年;Brown等人,2020年)和PaLM(Chowdhery等人,2022年)都进行了因果关系的训练语言建模(CLM)目标,它在中可以预测给定上下文的下一个标记。BERT(Devlin等人,2019年)使用了一个掩体的局部计算模型(MLM)任务,该任务包括填充随机掩蔽的令牌。为了更好地利用可用的数据,各种各样的掩蔽策略已经被研究过了。只屏蔽对象和内容词,而不是运行dom令牌(Bitton等人,2021年)或屏蔽更多令牌(Wettig et al.,2022)导致了更高的任务

性能和更有效地利用有效数据。埃克莱斯特拉(Clark等人,2020年)和DeBERTa(He et al.,2023)尝试替换代币检测(RTD),

一个使用一个小的代器模型来替换输入标记,并收敛的目标

更快地获得更好的性能。一个限制MLM和RTD的目标是它们的工作使用单个令牌替换。T5 (Raffel等,和BART(Lewis等人2020a)克服这是通过采用去噪序列到序列目的预先训练一个编码-解码器模型,允许解码器预测标记的跨度掩蔽的位置。在实践中,这允许进行培训在更短的序列上不丢失的任务,这有助于降低训练成本。

4.2 预训练考虑

尽管预先训练过的模型的规模有所增加(cf.图1),许多训练前效率的提高来自于对模型设计的改进。3)和选择(秒。9)以及赚得更多

有效地利用可用的数据(秒。 2).这些各因素对模型的影响更大

表现比训练前的目标要好它本身(阿拉杰拉米和Aletras,2022年)。然而术前训练通常的计算成本都很高,需要大量的GPU内存

以及计算能力(Rae等人,2021年),以及可能需要大量的高质量的数据吗可能很难获得和管理牧师(卡普兰等人,2020年)。令人惊讶的是,正如由钦奇利亚(Hoffmann等人,2022年),减少

模型大小可考虑可用的数量数据不仅能带来更好的性能,而且还能提高性能降低计算成本,改进模型对下游任务的适用性。持续关注

关于数据在有效的预训练中的作用是一个有前途的方向,如最近的研究工作(去)重复的作用规模预训练语料库(Lee et al.,2022b)。然后transformer一直是主要的架构在预先训练好的模型中,更有效的建模方法,如状态空间表示和MoEs(秒。3.1)有潜力去克服的吗预培训前transformer的一些挑战

5 精调

微调是指适应一个预先训练好的模型到一个新的下游任务。虽然有些方法明确地旨在使微调过程更多有效的,在这个调查中,我们使用了一个更广泛的定义微调,包括任何方法将预先训练过的模型应用于下游任务。

5.1参数高效的微调

基于梯度的微调通常涉及训练在下游任务上的所有模型参数。

因此,在一个新的任务创建一组全新的模型。如果一个模型在许多任务上都进行了微调,那么存储需求可能会变得很繁重。使预先训练好的模型适应于下游任务训练一个新的分类层,然后离开其余的参数都是固定的(又名特征提取,Peters等人,2018)更新的参数明显少于训练完整模型,但一直如此显示产生更差的表现,已经不太常见(Devlin等人,2019)。已经提出了几种方法来适应一个模型到一个新的任务,而只更新或添加数量相对较少的参数-与全模型微调相比,模拟量要少四个数量级——不牺牲(在某些情况下改进)性能。适配器(Houlsby等人,2019年;Bapna和Firat,2019;Rebuffi等人,2017;菲佛等人,2020年)将新的可训练的致密层设计成预先训练的模型,同时保留原始模型参数固定的他们最近得到了成分法(Karimi Mahabadi等人,2021年),它构造了适配器参数矩阵通过低秩矩阵的克罗内克乘积。而适配器可以减少训练时间,由于重复诱导的训练参数的数量,并减轻由于存储需求减少,一些部署成本,一个缺点是增加推断时间由于更多参数的影响(Ruckle等人,2021年)。为了缓解这种情况,Moosavi等人(2022年)提出了这个建议训练一个额外的图层选择器,以便只使用给定任务所需的适配器层。作为添加新图层的替代方法,参数效率可以直接实现用学习到的向量来修改激活通过连接(Liu et al.,2021a;李和梁,

2021年;Lester等人,2021年),乘法(Liu等人,或添加(Ben Zaken等人,2022年)。二值得注意的方法是前缀调整(Li和Liang,

和提示调优(Lester等人,2021年)它微调连续提示,作为工程离散提示的替代品(。秒5.3).尽管它们在概念上与适配器相似,

他等人(2022年b)表明,它们相当于并行插入,而适配器

继续地或者,而不是添加新的参数或改变计算图,它是否可以使其更稀疏(Sung et al.,2021;郭等人,2021年)或低等级(LoRA,Hu等人,2022年)补充资料最后,优化可以在一个低维子空间(Li et al.,2018)导致参数高效的更新等人,2021年b)。虽然低秩方法解决增加推理时间的问题,但他们需要一个额外的优化步骤来识别

最好的排名。为了缓解这种情况,Valipour等人(2022年)

提出了一个动态的解决方案,与LoRA相比,它大大缩短了训练时间。“最后一点,”Wang等人(2022b)设计了AdaMix来进行组合

不同的参数高效的微调技术一起通过路由和展示了他们的方法

甚至可以表现得超过完全的微调。

5.2多任务和少量样本学习

虽然传统的迁移学习包括精细的调整,但也有其他的范例允许

立即应用一个预先训练好的模型一个令人感兴趣的下游任务。多任务学习(Caruana,1997;Ruder,2017)旨在培训a单一的模型,可以执行广泛的各种开箱即用的任务。通常情况下,这是通过

对来自的所有下游任务的数据进行微调兴趣多任务模型可以改进微调性能(Raffel等人,2020年;阿等人,2021年a;Aribandi等人,2022年;Liu等人,2022年a)。在在某些情况下,一个多任务模型工作在新的没有任何微调的任务,也称为少量样本泛化(Sanh et al.,2022;魏等人,2022年a)。雷德福等人(2017,2019)和

Brown等人(2020年)证明了这种语言用无监督目标训练的模型可以执行各种开箱即用的任务。当它可以规避微调的需要,零镜头吗

能力取决于模型的大小,并且只变成具有一定规模的竞争力(Wei et al.,2022b)。

5.3  硬件加速

受GPT-3等模型的启发(Brown等人,2020年),提示指的是将任务转换为文本对语言模型的教学(Liu et al.,2023)。通常,提示可以手动手工制作或者自动使用填充模板,跨度,和句子级别的完成率(Petroni等人,2019年;Brown等人,2020年;Shin等人,

2020).这使得提示可以适用于更多的内容具有挑战性的NLP任务,如QA、MT和和市场化(Schick和Schutze,2021)。尽管

提示消除了对任何微调的需要,识别好的提示可能是困难的等人,2021年a)。因此,最近的研究人员调查了问题自动创建合适的提示,尽管使用额外的培训费用(Bach等人,2022年)。

5.4 精调考虑

大型语言模型的一个新问题是完全微调的普遍高成本他们(Chen et al.,2021)。尽管有提示(不需要微调)可以缓解这个问题,de签名提示可能会很乏味——即使有自动配对的帮助。一个很有希望的有效方向在模型中引入新的知识是为了结合现有的方法来进行有效的微调。这个可能会涉及到像卡里米·马哈巴迪这样的方法吗

等人(2022年),他们提出了特定于任务的适配器避免生成提示,并在1%参数以下实现了相当大的速度。采用大型预训练模型进行微调的另一个挑战是复杂性在解释最终的模型时,部分原因是

使用transformer。以获得更好的理解在这些模型中,在仍在利用效率的同时,a前提的方向是结合这样的技术作为稀疏建模和参数高效的冰毒指标(Correia等人,2019年;特雷维索等人,2022年)。

6推理和压缩

推理涉及到计算一个训练过的模型对给定输入的预测。可以进行推理通过加速时间的过程来提高效率效率(延迟),或通过压缩模型

减少内存需求。

6.1 修剪

由LeCun et al.(1989)提出,修剪去除不相关的权值从一个神经网络来减少计算,而且,还减少了内存对容量和带宽的要求。修剪罐

适用于NLP管道的不同阶段(图2)。例如,Gordon等人(2020年)发现在前的训练中,高达∼40%的BERT可以被修剪,而不影响其性能。其他提出的剪枝方法,作为常规化器,可应用于预训练和微调调优(Louizos等人,2018;Wang等人,2020b)。最后,研究了微调期间的修剪(Han等人,2015;Sanh等人2020)或在推理过程中命名为(Fan等人,2020)。修剪最初是在独立的权重水平(非结构化修剪)引入的,但更多最近的方法删除了更大的组成部分网络(结构化修剪)。该实验的例子包括移除注意力头(Voita等人,2019年;Michel等人,2019年),弱注意价值(Ji

等人,2021年;Qu等人,2022年),甚至是整个隐藏的巢穴层(Dong等人,2017年;Sajjad等人,2023年)。特别是,Xia等人(2022)发现了修剪所有这些组件都能产生更准确和有效的模型。当比较这两种修剪时方法中,非结构化修剪经常被发现更好地保持模型的性能(Gale等人,2019年;Ahia等人,2021年),但十的现有硬件不能利用由此产生的稀疏性。相比之下,结构化的修剪方法往往会导致更高的结果在推理速度方面的改进(Hoefler等人,2021年)。越来越受欢迎的是修剪方法进一步提出了这个问题

关于如何量化和比较它们(Gale等人,2019年;Blalock等人,2020年;Tessera等人,2021年;Hoefler等人,2021年)和积极的工作

将修剪与其他效率方法相结合如适配器(Ruckle等,2021)和提取物(Zafrir等,2021)。在早期修剪时(例如,在训练前)

能进一步降低培训成本,它会增加吗过度修剪的风险:删除必要的节点对于下游任务绩效(Gordon等人,2020).虽然这可以通过“重新排”修剪过的权重来减轻(Mostafa和Wang,2019),这增加了培训成本。其他修剪边包括超参数的额外成本调优,如保留的权重的数量。

6.2知识蒸馏

知识蒸馏过程使用来自大型(教师)模型的超级信号进行训练

更小的(学生)模型(Hinton et al.,2015),和通常会导致学生在没有监督的情况下超越类似大小的模型。然后早期的工作集中于提取特定任务的模型(Kim和Rush,2016),最近的工作集中在

提取预先训练好的模型,然后可以对特定的下游任务进行微调(Sanh等人,2019年;Liu等人,2020年;Jiao等人,2020年;孙等人。2020年;郭台铭等人,2021年)。缺点的缺点包括调整学生的额外成本超参数和降低每个性能和泛化能力的潜力(斯坦顿

等人,2021年)。最近,Zhu等人(2022)发现一些性能损失是由于不可提取的课程和解决这个问题的建议方法。

6.3量化

将高精度数据类型映射到低精度数据类型一种被称为量化。量化方法可应用于自然语言处理的不同阶段模型构建管道,以减少培训和推理成本。各种研究都表明低精度的数据格式可以减少内存占用4倍-24倍,并提高吞吐量与32位浮点格式相比的4.5倍。各种工作都是针对特定的精度级别,如整数(Kim等人,2021年),8位(奎因和Balles等人,2018年;Zafrir等人,2019年;银行等人,

2019年;Prato等人,2020年;Dettmers等人,2022年a),三元(Zhang等人,2020;Ji等人,2021;Zadeh等人,2022年),甚至是二进制表示法(Bai等人,2021)。不同的组件对于其潜在的精度可能有不同的尺寸,所以

在混合精度量化方面有大量的工作。Shen等人(2020)表明了嵌入

层需要比注意层更精确的参数抑制,而Kim等。(2021)表明,非线性函数需要比一般的矩阵乘法有更多的位。其他人将量化定义为一个受约束的优化问题来自动识别层如果较低的精度就足够了(Hubara等人,2021).最后,一些工作提出了在训练过程中量化,使其具有鲁棒性量化后的性能损失(Zafrir等,2019年;Kim等人,2021年;Stock等人,2021年)。为了例如,Bai等人(2021)和Zhang等人(2020)建议使用知识蒸馏来进行维护二值化模型和网络化模型的准确性。这些结果表明,组件定制的量化方法可以在提高工作效率的同时保持精度。为了最大化量化化的好处,人们还应该考虑到可用的基础知识硬件和相关的专门内核兼容不同的位表示(Noune等人,2022年;Kuzmin等人,2022年)。

6.4推理注意事项

而训练前和微调的效率集中在计算资源和训练和优化模型所需的时间,推断效率集中在学习程度模型可以在现实世界中执行新的输入数据情节此外,推理优化是完全特定于上下文的,而且需求各不相同根据用例。因此,没有优化推理的一刀切的解决方案,而是过多的技术。例如,而Wu等人(2022b)结合几种冰毒来实现最大的模型压缩,其他工作改进了特定于任务的机制,如在MT中进行的光束搜索(彼得斯和马丁斯,2021年)。并行性也可以用来提高推理效率,但其有效性可能降低可用硬件(拉吉班达里等。2022).动态计算技术,如提前退出(Schwartz等,2020年b;Xin等,2020年)和专家的混合物。3.1),可以通过选择性地只对模型的某些部分进行计算来提高推理效率需要一个给定的输入。然而,目前的代命名计算方法往往使用渴望执行模式,这可以防止它们的低级执行模式优化,如Xu和McAuley(2023)所指出的那样。关注推理效率的工作应该关注完全报告确切的目标设置(硬件、环境与静态执行框架)。“因此,”优化推理效率的有希望的方向可能会考虑更紧密的集成更一般的方法算法,软件和硬件。最近的一个这样

例如,神经结构搜索硬件特定的高效transformer(Wang et al.2020a)。

8评价效率

评估效率需要建立哪个效率计算方面的目标是最小化。我们

讨论两个最突出的方面和功耗),并列出了未解决的挑战。

8.1评价措施

当提高效率时,多种因素往往需要进行权衡。为了例如,较长的训练时间可以增加每个性能的任务,但同时也会增加资源消费描述权衡的一个原则方法是识别帕累托最优解(帕累托,1896),即那些没有其他系统达到更好或相同的任务性能更低的资源消耗。由于可能有多个帕累托最优解,最终的选择取决于在应用程序上下文中;一个小的,平均质量的模型和一个大的,更高质量的模型都可以是最佳的。因此,只要一个模型有贡献扩展到或扩展到一个给定的帕累托最优曲线问题和测量空间,它是值得的-即使其他解决方案可能使用更少的资源或产生更高质量的分数。通过推动帕累托障碍来推进自然语言处理是一种非常有效的方法一种既定的做法(Kim等人,2019年;Bogoychev等人,2020年;本克和希菲尔德,2021年)。为了实例,WNGT 2020 MT共享任务(Birch等人,2020年)考虑了帕累托之间的边界实时占用的时间,系统或GPU内存的使用情况,和模型的大小,以及BLEU的分数。普维斯德查凡内斯等人(2021年)将电力消耗作为对抗困惑的权衡来探索帕累托效率的超参数组合transformer型号。最后,Liu等人(2022b)对帕累托效率

试图缩小模型选择搜索空间。一个经常报告的效率指标肯定是浮点操作的数量(FLOPs)和每秒浮点数(FLOP/s)。虽然这些离散的指标似乎在根据硬件的功能,在堆栈的多个阶段有一些不同的,增加了非污染。例如,不同的操作可能重要作为不同硬件上的FLOP;不考虑非浮动的点操作;和硬件很少100%利用,实现这一目标是一个挑战,因此理论上的/s不能随着时间乘以生成所执行的计算量。仍然每单位功率的FLOP/s可以表明哪些硬软件的选择有可能提供帕累托有效的权衡(Hsu等人,2005年)。电力消耗有各种各样的方法测量功消耗,例如,通过我们特定的硬件,如电表。虽然这可以提供精确的数字与一个高时间精度,它不能提供一个细粒度的估计在一个网络中的个别计算机。此外,它还不包括外部能源成本比如冷却或联网。另一种方法是使用软件工具,如MLCO2 (Luccioni等人,2019年)。有些工具甚至提供了实时性的功能不同的功耗机器内的零部件(亨德森等人,2020年)或本地机器api报告的数据将停止如果谨慎,尽早训练(Anthony等人,2020年)。赫什科维奇等人(2022年)最终引入了一个模型鼓励研究人员的NLP系统卡以一致的方式记录效率。测量功耗计划-凯利提出了一些警告。首先,采样频率经常被限制在不同的水平上并可能导致测量开始的滞后。因此,更短的实验可能会记录能量消耗为零,几乎会能源需求总是被忽视的。第二低效率,如热损失没有报告目前的api,因此,不包括冷却和其他系统管理活动。第三,不是全部支持体系结构和操作系统例如,在macOS下的功耗是很难管理的,和直接的数据为TPU吗功耗不可用。碳排放碳排放通常是

计算使用的功耗和用于运行该程序的边际能量属的碳强度。因此,低能量这并不意味着低碳和高能模型吗在正确的地区,可以稍微小心一点吗在点能源消耗方面的零碳影响,如果在正确的时间执行(即,当能源混合物是低碳强度的,道奇等人,2022).用于估计二氧化碳的排放量特定的程序执行,如电子2为许多区域提供了碳强度的实时访问。然而,随着碳强度的变化,受到其他因素的影响在一个数据中心的用电效率中,它通常是一个糟糕的比较基础;事实上,亨德森等人。(2020年)建议使用多次运行来进行统计估计。此外,我们还需要考虑一下零碳计划的执行仍然在消耗能源,而效率本质上并不是保证减少整体资源消耗,因为由此产生的成本降低可能会导致需求的增加抵消了任何收益该效应被称为Jevons悖论(Jevons,1866)。

8.2在衡量效率方面的公开挑战

硬件的选择可能导致在某些效率测量中存在明显的差异,例如

潜伏期和彻底性(Lee-Shorp等人,2022年)。正确地测量效率仍然是一个主要问题挑战(Cao等人,2020年)。分离不同的阶段是很重要的分别描述训练前和精细调优阶段的效率(秒。4和5)。“模型”在此期间可能会出现不同的内存需求吗?训练的结果是训练模型

可推理内存消耗。这是的,因为培训通常涉及到设计选择

增加向后的内存开销。此外,一些优化器可能需要比其他更多的内存。类似地,p参数共享技术可能没有什么好处在训练期间,但显示出记忆的改善推理(Dehghani等人,2022年)。最后,当

他们大的型号比小的型号运行得慢收敛速度更快,使用更好的压缩方法比如修剪和量化(Li et al.,2020c)。成本因素之间的分歧见第节讨论。7.2、成本指标可能会出现彼此不同意。例如,混合

专家们增加了总体参数的计数,但是改善了质量和流程之间的权衡,因为它们通过路由到模型的子部分(Rajbhandari等人,2022年)。相反,非结构化稀疏性技术可以显著地减少了总数流程图,但在实践中,它引入了低水平的可以导致更高的内存的操作

存储所指示的索引的需求矩阵的哪一部分是稀疏的(Qu et al.,2022)。最后,Chen等人(2022年)和Dao等人(2022年a)

找到了能够实现更多目标的特定稀疏性模式可预测的加速与当前的硬件。与其他主要需求的权衡,但很少研究提高效率是与其他需求的权衡公平和稳健。例如,胡克等人(2020年),伦杜钦塔拉等人(2021年),以及Silva等人(2021)发现,修剪等压缩技术可以放大现有的双星;穆罕默德沙希等人(2022)和Ogueji等人(2022年)进一步探讨了这些权衡多语言设置。到目前为止,只有少数作品研究了保持模型的公平性提高效率。为了量化这种影响,Xu等人(2021)提出了一种名为洛的新度量,它度量预测的相似性

由教师和学生模型制作的分布。赫森塞勒等人(2022年)确定了很多提高自然语言处理模型公平性的方法也会增加了计算,并与工作相结合如Wang等人(2022a)表明,蒸馏可以降低模型的公平性。徐和胡(2022)的研究这些效应更系统,与混合的结论。而更多的积极的见解已经出现了发现与其他需求,如外-分布(OOD)泛化(Ahia等人,2021年;Iofinova等人,2022年;Ogueji等人,2022年)和模型转移(Gordon et al.,2020),更多的工作是否需要更好地理解和进行基准测试效率对其超出准确性的影响。

9型号选择

最后,我们讨论了我们所选择的研究路线有效地选择一个性能良好的模型变体。

9.1超参数搜索

机器学习方法的性能可以实现通过选择超参数护理来改善。基于模型的技术,如贝叶斯技术优化(BO;Snoek等人,2012年;Feurer等人,和基于图的半监督学习(Zhang和Duh,2020)使用替代模型有效地寻找最优的超参数,避免了低效的网格搜索或手动调优。

一种补充的方法是连续减半(SHA;杰米森和塔尔沃克尔,2016年)和它的广泛并行变体,异步SHA (ASHA;Li等人,2020),它为固定数量的训练并行测试多个超参数设置迭代,然后丢弃一半的设置最差的验证集性能。SMAC3库(Lindaer等人,2022)提供了几种BO策略,包括用于昂贵的深度学习任务的预算有限变体,

并被集成到自动滑雪学习系统中(Feurer等人,和自动火炬火炬(Zimmer等人,2021年)。然而,由于有限的计算预算,两者都有

BO和ASHA可能无法识别良好的设置(刘和王,2021年)。目前还不清楚这些因素是否会发生该方法可以用于选择随机初始值

权重或排序的训练样本,这也是如此影响模型性能(Dodge等人,2020年)。

9.2超参数传输

为了尽量减少需要找到的试验次数最优的超参数设置,一个人可以转移来自其他数据集或任务的知识-类似于一个ML工程师如何手工选择合理的设置项目。传输超参数可以在昂贵的阶段尤其有益

NLP管道,如培训前。使转移神经过程(Wei et al.,2021)提供了一种方法使用以神经过程作为替代模型的贝叶斯优化方法,从以前的任务中转移观察结果、参数和配置值。这可以导致更准确的模型与更少的模型比传统的BO方法,但还没有将对大型NLP模型进行测试。最后,成本的训练可以减少使用µTransfer(Yang等人,2021年),它调优了一个小模型,然后将超参数转换为一个更大的模型。

9.3模型选择的考虑事项

而确定一个最优模型是关键的,在部署时,它提出了一些关于重新移植实践的挑战(和格雷维奇,2017;阿加瓦尔等人,2021年)和超参数图(布希利耶和瓦拉考,2020年;甘德森3改进com可解析性的第一步可能是修复超参数调优预算(道奇等人,2019年;Hoffmann等人,2022年),或者考虑完整的搜索空间(Bell等人,2022年)。

10结论

本调查提供了提高现代自然处理模型效率的广泛概述,确定了当前的成功和再的主要挑战。到目前为止,大部分的进展都是这样取得的在模型设计中,通常是针对特定的计算预算和硬件范式。钥匙挑战包括更好地理解和修改最终任务性能之间的权衡以及资源消耗,和依赖性在硬件选择和软件实现的之间。此外,我们注意到,效率在NLP有很多定义,可以在许多不同的方式,但也受到各种公开的挑战,无法衡量一个单一的指标。我们概述了几个有希望的re搜索方向,与克服这些方向相一致挑战,从使赌注使用可用数据的方法,减少的策略预培训和微调大型模型的成本,到优先考虑两者之间互动的重要性算法、软件和硬件。NLP的令人印象深刻的进步主要使通过缩放计算产生了显著的效果在很短的时间内取得进展。然而,按照顺序以充分实现这项技术的潜力在一个更广泛的社会范围内,我们必须减少要实现所需的计算量这些显著的结果。我们希望这次调查能加速这一重要领域的进展吗对这两个方面都具有巨大影响潜力的研究领域在我们的领域和整个社会中。

参考文献:

猜你喜欢

转载自blog.csdn.net/zql1009/article/details/130706778