虽然谷歌的巴德翻车了,但谷歌的AI实力不容小觑。年初以来,由JeffDean领衔的GoogleResearch年终总结系列《GoogleResearch,2022&beyond》不断更新,最近更新到第四期。本期主题为“提升模型效率”。一起来看看谷歌的工程师们想出了哪些点子吧!运营效率是关键在过去十年中,深度学习呈爆炸式增长,这在很大程度上是由于新算法和架构的结合、数据量的急剧增加以及计算能力的提高。与十年前相比,人工智能和机器学习模型变得更大更复杂,网络结构更深更复杂,训练中使用的参数更多,数据更多,共同推动了机器学习的历史进程。一些最具变革性的结果。随着这些模型越来越多地部署在生产和业务应用中,模型的推理效率和运行成本已经从次要因素变成了主要限制因素。谷歌对此的回应是继续在机器学习效率上投入巨资,主要解决以下四个问题:1.高效架构2.数据效率3.训练效率)4.推理效率(InferenceEfficiency)除了效率,该模型还面临着真实性、安全性、隐私和新鲜度方面的许多问题。这篇文章将重点介绍研究公司GoogleResearch为应对上述挑战而开发的一系列新算法。高效的模型架构最基本的问题之一是:是否有更好的方法来参数化模型以提高效率?2022年,GoogleResearch专注于通过检索上下文增强模型、混合专家和使转换器(大多数大型机器学习模型的核心)更有效来注入外部知识的新技术。上下文增强模型为了追求更高的质量和效率,可以从大型数据库或可训练记忆中的外部上下文来增强神经模型。通过利用检索到的上下文,神经网络可以实现更好的参数效率、可解释性和真实性,而无需在其内部参数中记住大量的世界知识。在“DecoupledContextProcessingforContext-EnhancedLanguageModeling”中,研究人员探索了一种基于解耦编解码器架构的简单架构,以将外部上下文整合到语言模型中。论文链接:https://arxiv.org/abs/2210.05758该模型可以显着节省计算量,同时在自回归语言建模和开放域问答任务中给出有竞争力的结果。预训练的大型语言模型(LLM)通过对大型训练集的自我监督消耗大量信息,但尚不清楚这些模型的“世界知识”如何与输入上下文交互。通过知识感知微调(KAFT),研究人员将反事实上下文和无关上下文合并到标准监督数据集中,增强了LLM的可控性和鲁棒性。探索模块化深度网络的问题之一是如何设计具有相应计算模块的概念数据库。研究人员提出了一个理论框架,将“记忆事件”以草图的形式存储在外部LSH表中,其中包括一个处理草图的指针模块。上下文增强模型的另一个挑战是用于从大型数据库快速检索信息的加速器。研究人员开发了一种基于TPU的最近邻搜索算法,该算法与TPU的性能模型保持一致,并为预期召回提供分析保证,以实现最佳性能。搜索算法通常涉及大量的超参数和设计选择,这使得它们很难在新任务上进行优化,因此研究人员进一步提出了一种新的约束优化算法来自动调整超参数,以期望成本或召回率作为输入,算法产生经验上非常接近速度召回的帕累托边界的调整,并在标准基准测试中提供领先的性能。专家混合模型专家混合(MoE)模型已被证明是增加神经网络模型容量而不会过度增加其计算成本的有效方法。MoEs的基本思想是从多个专家子网络构建一个网络,其中每个输入都由一个合适的专家子网络处理。因此,与标准神经网络相比,MoE仅调用整个模型的一小部分,从而提高了GLaM等语言建模应用程序的效率。决定哪些专家应该积极参与特定输入取决于路由功能。路由的设计非常具有挑战性,因为开发者的期望是每个专家模型都是合适的,不会出现未充分利用和过度利用的情况。在最近的一项工作中,研究人员提出了ExpertChoiceRouting,一种新的路由机制,它不是将每个输入的token分配给top-k专家,而是将每个专家分配给top-ktoken,它可以自动调整负载均衡专家,同时自然地允许多个专家处理输入的token论文链接:https://openreview.net/pdf?id=jdJo1HIVinIEfficientTransformersTransformer是目前最流行的我们的sequence-to-sequence模型,从视觉到自然语言理解,在一系列具有挑战性的任务中表现出非常强的表现。这类模型的核心组成部分是注意力层,它通过计算“query”和“key”之间的相似度来构建适当加权的“value”组合。虽然性能很强,但是注意力机制的计算效率不高,复杂度通常是输入序列长度的二次方。随着Transformer规模的不断扩大,其中一个重要问题的研究非常有价值:是否有任何自然发生的结构或模式的学习模型可以解释有效注意力的原理。对此,GoogleResearch研究了中间MLP层的学习嵌入,发现它们非常稀疏,例如T5-large模型只有<1%的非零条目,其稀疏性进一步表明它可以在不影响模型性能的情况下减少FLOP论文链接:https://arxiv.org/pdf/2210.06313.pdf研究人员最近提出了Treeformer模型,这是依赖决策树的标准注意力计算的替代方案,直观地说,它可以快速识别与查询相关的一小组键,注意力操作只在这一组上进行。根据经验,Treeformer可以将注意力层的FLOPs降低30倍。同时,研究人员还引入了顺序注意力,这是一种结合了注意力和贪心算法的可微分特征选择方法,已被证明是直接无缝的转移到大型模型。另一个提高Transformer效率的方法是在attention层加速softmax的计算。基于softmax核的低秩逼近研究,研究人员提出了一类新的随机特征,它提供了softmax核的第一个“正有界”随机特征逼近,并且在序列长度上是计算线性的。论文链接:https://arxiv.org/abs/2205.15317并且还提出了第一个覆盖多重注意力掩蔽的机制,比如因果编码和相对位置编码。高效的训练优化方法是现代机器学习应用的基石,尤其是在大规模环境中。在这种情况下,即使像Adam这样的一阶自适应方法也往往是计算密集型的,训练稳定性会变得非常困难。此外,这些方法往往对神经网络的架构不可知,不考虑模型架构内部的结构信息,导致训练效率低下,这也使新技术能够更有效地优化现代神经网络模型。GoogleResearch基于模型架构开发了一些新的训练技术,例如用于训练Transofmre网络,包括新的尺度不变Transofmre网络和新的裁剪方法,当与原始的随机梯度下降(SGD)相结合时,可以加速加强你的训练。论文链接:https://arxiv.org/pdf/2202.00980.pdf使用这种方法,研究人员首次实现了仅使用简单的SGD而没有自适应性的BERT的高效训练。此外,研究人员提出了一种新方法LocoProp,该方法可实现与二阶优化器相似的性能,同时使用与一阶优化器相同的计算和内存资源。LocoProp通过将神经网络分解为层的组合来获得神经网络的模块化视图。然后允许每一层都有自己的损失函数以及输出目标和权重调整器。通过此设置,LocoProp在适当的前向-后向梯度传递后继续对每一层的“局部损失”执行并行更新。论文链接:https://proceedings.mlr.press/v151/amid22a.html实际上,这些更新在理论上和经验上都类似于高阶优化器,并且在深度自动编码器基准测试中,LocoProp获得了与高阶优化器相当的性能-顺序优化器,同时速度明显加快。像SGD这样的优化器的一个关键假设是每个数据点都是从一个分布中独立和相同地采样的,尽管在强化学习等实际应用中这个假设很难满足,因为模型(或代理)必须从它自己的预测生成的数据中学习.研究人员提出了一种称为SGDwithreverseexperiencereplay的新算法方法,可以在线性动力系统、非线性动力系统和Q-learning等几种上下文中找到强化学习的最优解。论文链接:https://arxiv.org/abs/2103.05896此外,该方法的改进版本IER已被实验证明是最先进的,并且在各种流行的RL上经验最稳定基准重放技术。数据高效的深度神经网络严重依赖于大型数据集,伴随着存储成本和潜在的安全/隐私问题,在这些数据集上训练现代深度神经网络在计算上也很昂贵。解决这个问题的一个有前途的方法是数据子集选择,学习者的目标是从大量训练样本中找到信息最丰富的子集,以近似(甚至改进)整个训练集的训练。研究人员分析了一个子集选择框架,该框架旨在在现实的批处理设置中与任意模型族一起工作,在该框架中,学习者可以一次对一个样本进行采样,访问上下文和真实标签,但为了限制开销,一旦选择足够大批量样本,只能更新其状态,即可以进一步训练模型权重。并在此基础上开发了一种称为IWeS的算法,该算法通过重要性采样来选择样本,其中分配给每个样本的采样概率基于在先前选择的批次上训练的模型的熵。提供的理论分析证明了泛化和采样率的界限。论文链接:https://arxiv.org/pdf/2301.12052.pdf训练大型网络的另一个问题是它们可能对训练数据和部署时看到的数据之间的分布变化高度敏感,尤其是在处理时由于训练数据量有限,这些数据可能无法涵盖所有??部署时间场景。最近的一项研究假设“极度简单偏差”是神经网络这种脆弱性背后的关键问题,其最新工作使这一假设变得可行,从而产生了两种新的互补方法DAFT和FRR,它们共同提供了显着更强大的神经网络。特别是,这两种方法使用对抗性微调和逆向特征预测提高了学习网络的鲁棒性。论文链接:https://arxiv.org/pdf/2006.07710.pdf推理效率增加神经网络的规模已被证明在提高其预测准确性方面出奇地有效,然而,在实际应用中利用这些优势世界是具有挑战性的,因为大型模型的推理成本可能高得令人望而却步,这个问题也推动了在不牺牲准确性的情况下提高服务效率的策略。研究人员提出了不同的策略来实现这一目标,尤其是那些基于知识蒸馏和自适应计算的策略。DistillationDistillation是一种简单有效的模型压缩方法,极大地扩展了大型神经模型的潜在适用性,并在广告推荐等一系列实际应用中被证明是非常有效的。大多数蒸馏用例涉及直接将基础模型应用于给定领域,而对何时以及为何应该这样做的理解有限。谷歌的研究着眼于针对特定环境定制蒸馏,并系统地检查决定蒸馏成功的因素。在算法上,通过对教师模型提供的标签中的噪声进行仔细建模,研究人员开发了一种重新加权训练示例的原则性方法,以及一种使用教师标签对数据子集进行采样的稳健方法。论文链接:https://arxiv.org/abs/2210.06711在“teacher-guidedtraining”的过程中,研究人员提出了一种新的蒸馏框架:不再被动地使用teacher来标记固定的数据集,而是主动由teacher来标注用于指导选择信息样本进行标记,这使得蒸馏过程在有限数据或长尾设置中更加高效。论文链接:https://arxiv.org/abs/2208.06825同时还研究了一种从交叉编码器(dual-encoder,如BERT)到因子双编码器(dual-encoder)的新方法,对于(对查询、文档的相关性进行评分的重要设置)也是如此。论文链接:https://proceedings.mlr.press/v162/menon22a/menon22a.pdf论文研究了interleavedencoder和dualencoder性能差距的原因,指出这可能是泛化的结果而不是双编码器容量限制。构造良好的蒸馏损失函数可以缓解这种情况,缩小交错编码器和双编码器之间的性能差距。随后,在EmbedDistil中进一步研究了通过匹配来自教师模型的嵌入来进一步改进双编码器蒸馏。这种策略也可以用于从大到小的双编码器模型中提取信息,其中继承和冻结教师的文档嵌入被证明是非常有效的。论文链接:https://arxiv.org/abs/2301.12005在理论上提供了一个新的视角,衡量学生如何通过监督复杂性的升华来预测教师的标签。论文链接:https://arxiv.org/abs/2301.12245利用神经正切核(NTK)理论得出一些概念性的结论,比如能力差距可能会影响蒸馏,因为这类老师的标签可能会出现类似于学生的纯随机标签。论文链接:https://arxiv.org/abs/2301.12923同时进一步证明蒸馏导致学生欠拟合的点也是teacher模型的难题。直观地说,这可能有助于学生将他们有限的能力集中在那些可以合理建模的样本上。自适应计算尽管蒸馏是降低推理成本的有效方法,但它对所有样本都适用。直觉上,一些“简单”的样本可能天生就需要更多更少的计算。自适应计算的目标是设计能够实现这种依赖于样本的计算的机制。ConfidentAdaptiveLanguageModeling(CALM)为基于Transformer的文本生成器(例如T5)引入了受控的提前退出。论文链接:https://arxiv.org/abs/2207.07061在这种自适应计算形式中,模型动态修改每个解码步骤中使用的Transformer层数,其中early-exitgate使用决策阈值A置信度经过校准以满足统计性能保证的度量。这样,该模型只需要为最具挑战性的预测计算完整的解码器层堆栈,而对于更简单的预测则只需计算几个解码器层。在实践中,该模型平均使用大约三分之一的层数来进行预测,在保持相同水平的生成质量的同时产生2-3倍的加速。常用的自适应计算机制由两个或多个基础模型的级联组成,其关键问题是决定是简单地使用当前模型的预测,还是将预测推迟到下游模型,学习何时推迟需要设计一个适当的损失函数,可以利用适当的信号作为监督来推迟决策。GoogleResearch系统地研究了现有的损失函数,证明它们可能由于标签平滑的隐式应用而不适用于训练样本,并且还表明这可以通过延迟规则的事后训练来缓解,不需要修改模型内部以任何方式。论文链接:https://openreview.net/pdf?id=_jg6Sf6tuF7对于检索应用,标准语义搜索技术对大型模型生成的每个嵌入使用固定表示,即不考虑下游任务及其相关计算环境或约束,表示的大小和能力大多是固定的。Matryoshka表示学习引入了根据部署环境调整表示的灵活性,强制表示在其坐标中具有自然顺序,因此对于资源受限的环境,仅使用表示的最高坐标;而对于更丰富和精度要求更高的设置,可以使用更多的表示坐标。论文链接:https://openreview.net/pdf?id=9njZa1fm35当结合标准的近似最近邻搜索技术(例如扫描神经网络)时,MRL能够提供高达16倍的相同计算量召回率和准确率指标。总结大规模机器学习模型已经在多个领域展示了变革性的结果,但训练和推理的效率正在成为使这些模型在现实世界中实用的关键要求。通过开发新的基础技术,谷歌研究院投入巨资提高大规模机器学习模型的效率。这也需要不断的努力。未来,我们将继续探索核心挑战,使机器学习模型更加健壮和高效。
