论文地址:https://arxiv.org/pdf/2201.11903.pdf
相关博客
【自然语言处理】【ChatGPT系列】WebGPT:基于人类反馈的浏览器辅助问答
【自然语言处理】【ChatGPT系列】ChatGPT的智能来自哪里?
【自然语言处理】【ChatGPT系列】Chain of Thought:从大模型中引导出推理能力
【自然语言处理】【ChatGPT系列】InstructGPT:遵循人类反馈指令来训练语言模型
【自然语言处理】【ChatGPT系列】大模型的涌现能力
【自然语言处理】【文本生成】CRINEG Loss:学习什么语言不建模
【自然语言处理】【文本生成】使用Transformers中的BART进行文本摘要
【自然语言处理】【文本生成】Transformers中使用约束Beam Search指导文本生成
【自然语言处理】【文本生成】Transformers中用于语言生成的不同解码方法
【自然语言处理】【文本生成】BART:用于自然语言生成、翻译和理解的降噪Sequence-to-Sequence预训练
【自然语言处理】【文本生成】UniLM:用于自然语言理解和生成的统一语言模型预训练
【自然语言处理】【多模态】OFA:通过简单的sequence-to-sequence学习框架统一架构、任务和模态
一、简介
语言模型为自然语言处理带来了革命,而扩大语言模型规模可以提高下游任务效果、样本效率等一系列的好处。然而,单纯扩大语言模型的尺寸并不能够使算术、常识和符号推理获得更好的表现。文本尝试使用简单的方法来解锁大规模语言模型的推理能力,该方法主要来自于两个想法:(1) 算术推理能够从自然语言论据中受益,从而得到最终的答案。先前的研究通过从头训练或者微调预训练模型从而赋予模型生成自然语言中间步骤的能力。(2) 大规模语言模型通过checkpoint
,而是通过任务相关的"输入-输出"示例来提示模型。
然而,上面的想法有一些限制。论据增强的训练和微调方法需要大量的高质量论据,这比简单的"输入-输出"样本对复杂的多。传统的
本文给出了一个在算法、常识和符号推理基准上的评估,结果显示checkpoint
执行很多任务。本文的目标是赋予语言模型生成类似
二、
回想一下人类解决数学应用题这种复杂推理任务的过程。典型的做法是将问题分解为中间步骤并逐步解决并给出最终的答案:“Jane将2朵花送给她妈妈后还剩10朵…然后再送给她爸爸3朵后还有7朵…所以答案是7”。
考虑一下我们自己解决像数学应用题这样复杂推理任务的过程。典型的做法是将问题分解为中间步骤并逐步解决并给出最终的答案:“Jane将2朵花送给她妈妈后还剩10朵…然后再送给她爸爸3朵后还有7朵…所以答案是7”。本文的目标是赋予语言模型生成类似
图1展示了一个模型产生
- (1)
允许模型将多步推理问题分解为中间步骤,这意味着额外的计算可以分配到需要推理的问题上; - (2)
为模型的行为提供了一个可解释的窗口,并提供了调试推理路径错误的机会; - (3)
推理能够被用于数学应用题、常识推理和符号操作等任务,并且可能适用任何人类需要通过语言解决的问题; - (4)
可以通过将其加入到 示例中,从而在足够大的语言模型中引导出推理能力。
三、算术推理
首先通过数学应用题来衡量语言模型的数学推理能力。虽然数学推理能力对人类很简单,但是对模型来说十分挣扎。当具有
1. 实验设置
-
基准
考虑5个数学应用题基准:(1) 数学应用题基准
; (2) 具有不同结构的数学应用题基准 ; (3) 具有多种数学应用题的基准 ; (4) 代数应用题数据集 ;(5) 基准。 -
标准
baseline是标准的
,给模型一个"输入-输出"对示例,然后模型就可以在测试时给出答案。 -
本文提出的方法是通过一个关联了答案的
来增强 示例。由于大多数的数据集仅有一个评估集,作者手动构建了8个具有 的 示例集合,图1右侧展示了一个 示例。在除了 以外的所有基准上是使用了这8个示例集合。对于 ,这使用来自训练集的4个示例。 -
语言模型
本文评估了5个大模型。
(1)
,使用的版本为 、 、 和 ,大致对应 模型的 参数量;(2)
,其具有 参数量的版本;(3)
,其具有 参数量;(4)
;(5)
。通过贪心解码的方法来采样。对于
,本文报告了5个随机种子的平均结果,且每个种子都对应不同的样本顺序。由于 在不同种子中并没有显示出大的方差,为了节省计算,对所有的其他模型仅报告单个样本的结构。
2. 结果
首先、上图展示了
第二、对于更复杂的问题
第三、基于
为了更好的理解
3. 消融实验
-
Equation only
有效的可能原因是产生了数学方程式。所以,本文测试了一个变体,模型被提示在给出答案之前仅输出一个数学方程式。上图表明 对于 并没有多少帮助,这意味着不生成自然语言推理步骤而直接生成一个数学方程式对于模型还是太难。然而,对于单步或者两步问题, 可以改善效果,因为方程能够轻易从问题中推导出来。 -
Variable compute only
另一个直觉是,
允许模型在更难的问题上花费更多的计算。为了从 推理中分离出变量计算的影响,本文测试了一种配置:其中模型被提出输出一个点序列,等于方程中字符数量需要解决的问题。这个变体的表现与baseline相同,其表明变量计算本身不是 成功的原因,并且通过自然语言表达的中间步骤是有用的。 -
Chain of thought after answer
另一个潜在的收益可能是, 允许模型更好的访问在预训练中的相关知识。因此测试了另一种配置: 仅在答案之后给出。这一变体的表现与baseline相同,这表明 中的序列推理能力有用的原因不仅仅是激活知识。
4. 鲁棒性
样本敏感性是
为了确认
除了标注者、独立编写的
四、常识推理
1. 基准
本文考虑覆盖了各类常识推理类型的5个数据集。(1)
2.
遵循先前章节相同的实验设置。对于
3. 结果
上图展示了
上图重点介绍了
五、符号推理
最后的实验会评估符号推理,其对于人类很简单,但是对语言模型非常有挑战。实验展示了
1. 任务
-
末尾字符拼接
该任务要求模型将名字中每个单词末尾字符拼接起来(例如:
),其比首字符拼接更有挑战,因为首字符拼接在没有 情况下语言模型也可以完成。作者从从姓名普查数据中排名前1000位的名和姓中随机拼接姓名来生成全名。 -
硬币反转
该任务要求模型回答在人类在抛或者不抛硬币后,硬币是否仍然朝上。(例如:一个硬币朝上。Phoebe反转了硬币,而Osvaldo没有反转,那么硬币是否仍然朝上? -> no)。
由于这些符号推理任务构造过程是明确的,考虑一个领域内测试集,样本与训练/
2. 结果
上图是
对于领域外评估,标准的
文章出处登录后可见!