思维链不存在了?纽约大学最新研究:推理步骤可省略

人工智能 新闻
思维链技术,可能要被推翻了!来自纽约大学的最新研究表明:大模型并没有利用思维链的推理能力,它只是偷偷加了计算!

红极一时的思维链技术,可能要被推翻了!

还在惊讶于大模型居然能够利用思维链分步骤思考?

还在苦于不会写思维链提示词?

来自纽约大学的研究人员表示:「没关系的,都一样」,

推理步骤不重要,不想写提示词也可以不写,用省略号代替就行了。

论文地址:https://arxiv.org/pdf/2404.15758

这篇文章的标题甚至直接用「Let’s think dot by dot」,来对标思维链的「Let’s think step by step」,展现了「省略号」的威力。

「点点点」的威力

研究人员发现,把思维链(Chain-of-Thought,CoT)推理中的具体步骤,替换成毫无意义的「...」,产生的推理结果也大差不差。

比如下面这个例子:让模型数一下前6个数里面有几个大于5。

如果直接抛出问题让模型回答,结果会比较逆天:6个数数出来7个。

相比之下,使用思维链提示,模型会一步步比较大小,最终得到正确答案:「2<5,7>5,1<5,8>5,2<5,8>5,that's 3 digits」。

但更逆天的是本文使用的「玄学」方法:步骤不用写了,只需要输出同样数量的「点」(dot),居然也不影响最后的结果。

——这并不是巧合,大量实验证明了,后面两种方法的性能接近。

也就是说,我们以为的模型性能提升是来自于「think step by step」,但实际上可能只是因为LLM拿到了更多个token的算力!

你以为模型是在思考,但其实是在烧烤。

——愚蠢的人类啊,居然妄图用幼稚的例子教我如何推理,你可知我要的从来都只是计算。

「思维链从来就没有存在过,将来也不会存在」(狗头)。

文章的作者Jacob Pfau表示,这篇工作证明了,模型并不是受益于思维链带来的语言推理,使用重复的「...」填充token可以达到跟CoT同样的效果。

当然,这也引发了对齐问题:因为这个事实表明,模型可以进行CoT中不可见的隐藏推理,在一定程度上脱离了人类的控制。

网友震惊

文章的结论可以说是颠覆了我们长久以来的认知,有网友表示:学到了mask的精髓。

图片

「这究竟意味着什么:模型可以在我们不知情的情况下使用这些token独立思考。」

图片

有网友表示,怪不得我打字总是喜欢用「...」

图片

还有网友直接开始实战测试:

虽然咱也不知道他的理解对不对~

不过也有网友认为LLM在思维链中进行隐藏推理是没有根据的,毕竟大模型的输出从原理上来说是基于概率的,而不是通过有意识的思考。

CoT提示只是将统计模式的一个子集显式化,模型通过生成与模式一致的文本来模拟推理,但它们不具备验证或反思其输出的能力。

Think dot by dot

面对复杂问题,我们人类在潜意识里会进行分步骤的推理。

由此启发,谷歌的研究人员在2022年发表了大名鼎鼎的Chain-of-Thought。

要求语言模型分步解决问题的方法,使模型能够解决以前似乎无法解决的问题,显著提高了LLM的性能,或者说挖掘出了LLM的潜力。

论文地址:https://arxiv.org/pdf/2201.11903

虽然一开始大家也不知道这玩意为啥能work,但是因为确实好用,便很快被广泛传播。

随着大模型和提示词工程的起飞,CoT成了LLM解决复杂问题的一大利器。

当然了,在这个过程中也有很多研究团队在探索CoT的工作原理。

模型并没有推理

思维链带来的性能提升,究竟是模型真的学会了分步骤解决问题,还是仅仅因为更长的token数所带来的额外计算量?

既然不确定逻辑推理起不起作用,那就干脆不要逻辑,把推理步骤都换成一定没用的「...」,这里称为填充(filler)tokens。

研究人员使用了一个「小羊驼」模型:具有4层、384个隐藏维度和6个注意力头的34M参数Llama,模型参数随机初始化。

这里考虑两个问题:

(1)哪些类型的评估数据可以从填充token中受益

(2)需要什么样的训练数据来教模型使用填充token

对此,研究人员设计了2个任务并构建了相应的合成数据集,每个数据集都突出了一个不同的条件,在该条件下,填充token能够为Transformer提供性能改进。

3SUM

先看第一个比较难的任务:3SUM。要求模型在序列中挑选满足条件的3个数,比如3个数的和除以10余数为0。

在最坏的情况下,这个任务的复杂度是N的3次方,而Transformer层与层之间的计算复杂度是N的二次方,

所以,当输入序列长度很大的时候,3SUM问题自然会超出Transformer的表达能力。

实验设置了三组对照:

1. 填充token:序列使用重复的「. . .」作为中间填充,例如「A05

B75 C22 D13 : . . . . . . . . . . . . ANS True」。

每个点代表一个单独的token,与下面的思维链中的token一一对应。

2. 可并行化的CoT解决方案,序列的形式为:「A05 B75 C22 D13 : AB 70 AC 27 AD 18 BC 97 BD 88 CD B ANS True」。

思维链通过编写所有相关的中间求和,将3SUM问题简化为一系列2SUM问题(如下图所示)。这种方法将问题的计算量降低到了N的2次方——Transformer可以搞定,而且可以并行。

3. 自适应CoT解决方案,序列的形式为:「A15 B75 C22 D13 : A B C 15 75 22 2 B C D 75 22 13 0 ANS True」。

与上面方案中,将3SUM巧妙地分解为可并行化的子问题不同,这里希望使用启发式方法来产生灵活的思维链,以模仿人类的推理。这种实例自适应计算,与填充token计算的并行结构不兼容。

从上图的结果可以看出,不输出填充token的情况下,模型的准确率总体上随着序列变长而下降,而使用填充token时,准确率一直保持在100%。

2SUM-Transform

第二个任务是2SUM-Transform,只需要判断两个数字的和是否满足要求,计算量在Transformer的掌控之中。

图片

不过为了防止模型「作弊」,对输入token就地计算,这里将输入的每个数字移动一个随机偏移量。

结果如上表所示:filler token方法的精度达到了93.6%,非常接近于Chain-of-Thought,而不使用中间填充的情况下,精度只有78.7%。

但是,这种改进是否只是由于训练数据呈现的差异,例如通过正则化损失梯度?

为了验证填充token是否带来了与最终预测相关的隐藏计算,研究人员冻结了模型权重,仅微调最后一层注意力层。

上面的结果表明,随着可用的填充token增多,模型的准确性也不断提高,这表明填充token确实正在执行与3SUM预测任务相关的隐藏计算。

局限性

虽然填充token的方法很玄学、很神奇,甚至还很有效,但要说思维链被干翻了还为时尚早。

作者也表示,填充token的方法并没有突破Transformer的计算复杂度上限。

而且学习利用填充token是需要特定训练过程的,比如文中采用密集监督才能使模型最终收敛。

不过,一些问题可能已经浮出水面,比如隐藏的安全问题,比如提示词工程会不会突然有一天就不存在了?

责任编辑:张燕妮 来源: 新智元
相关推荐

2024-12-17 10:40:26

2023-03-02 11:44:08

AI技术

2024-12-13 08:25:59

DML操作SQL

2024-07-22 08:03:55

2018-07-03 14:20:10

数据库恢复备份

2010-01-05 13:52:02

2009-09-12 09:34:18

Windows 7中国售价

2015-10-20 10:30:59

创业时机

2018-07-19 06:14:09

2021-01-25 07:21:24

GitHub 开源代码下载

2023-09-12 08:02:13

viewport断点

2009-05-05 17:07:56

2020-11-03 10:23:22

云计算容器技术

2019-12-31 09:11:01

后台Android系统

2009-09-02 08:40:01

Windows 7兼容性

2012-05-16 11:35:16

SQL Server拒绝访问

2017-12-07 14:57:13

404互联网错误代码

2017-12-26 08:25:57

硬盘数据丢失

2024-12-02 12:24:15

2024-03-14 08:15:18

COUNT(*)数据库LIMIT 1​
点赞
收藏

51CTO技术栈公众号