您的位置 首页 > 德语词汇

scratchpad是什么意思?用法、例句(加一个 scratchpad,就能让 Transformer 更进一步?)

大家好,scratchpad是什么意思?用法、例句相信很多的网友都不是很明白,包括加一个 scratchpad,就能让 Transformer 更进一步?也是一样,不过没有关系,接下来就来为大家分享关于scratchpad是什么意思?用法、例句和加一个 scratchpad,就能让 Transformer 更进一步?的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

大规模预训练语言模型有多火?光看Transformer横扫自然语言处理、计算机视觉等多个领域的劲头就可见一斑了。但这类模型并不是全能的。它们往往在能够「一次」(inonepass)完成的任务中表现优异,例如生成逼真文本或合成计算机程序。但是,这类模型在处理多步计算时却犯了难,尤其是需要精确推理和无界计算(unboundedcomputation)的任务,如整数加法或程序执行。

scratchpad是什么意思?用法、例句(加一个 scratchpad,就能让 Transformer 更进一步?)

为什么大型语言模型难以处理算法推理任务呢?近日MTI和谷歌发布的一项研究认为,部分原因在于Transformer架构应用于这类任务的方式存在一定局限性:模型以一次性的方式执行任务(inoneforwardpass)。给定固定的层数和计算时间,模型无法适应在输出结果前,将待解决问题的所需计算时间与其难度相适应。

之前的一些研究探讨了针对不同子任务动态地选择计算时间的神经架构,而MIT和谷歌的这项研究选择反其道而行之:不改变现有的Transformer架构和大规模少次学习语言模型及其训练步骤,而是修改任务设计。该研究认为大规模预训练语言模型也能够执行复杂的多步计算,即使是在少次学习机制下,其解决方法就是令模型「逐步」执行运算,并展示中间计算的结果。研究人员使Transformer将中间计算步放入「便笺存储器」(scratchpad),以此方式训练Transformer来执行多步计算。

在从长加法到执行任意程序等不同复杂度的任务中进行实验后,研究人员发现便笺存储器极大地提升了语言模型执行多步计算的能力。

该研究的主要思路是:要想解决给定算法任务,只需将算法的中间步编码为文本,并训练模型将其输出到缓存区(即scratchpad)中。

以长加法为例。要想教会模型计算29+57,只需将长加法的步骤显示地写出来,如图2所示。

图2:利用scratchpad帮助语言模型做加法计算。

执行可编码任务也可以采用类似的方式,不同之处在于需要在输入、scratchpad和期望输出前添加源代码π_i。示例参见下图1:

图1:利用scratchpad技术预测代码执行,及其与直接执行的对比结果。

再来看多项式计算。研究表明,不管是在少次学习还是微调机制下,利用scratchpad技术执行计算都要比直接计算效果更好。示例和结果参见下图。

添加scratchpad有何好处呢?该研究认为:

这项研究通过长加法、多项式计算和Python代码执行等多项实验表明,令大规模预训练语言模型从简单的scratchpad中进行读取和写入,能够提升其处理计算任务的性能。这类模型可能是将大型语言模型的知识压缩能力与推理能力相结合的第一步,接下来或许就是构建能写代码也能理解代码的模型了。这项研究对需要处理自然语言和程序语义推理的应用而言是有用的,如程序合成、神经指引程序分析,以及交互式编程助理。

论文链接:https://arxiv.org/pdf/2112.00114v1.pdf

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!

本站涵盖的内容、图片、视频等数据,部分未能与原作者取得联系。若涉及版权问题,请及时通知我们并提供相关证明材料,我们将及时予以删除!谢谢大家的理解与支持!

Copyright © 2023