【新智元导读】
思维链技术,可能要被推翻了!来自纽约大学的最新研究表明:大模型并没有利用思维链的推理能力,它只是偷偷加了计算!
红极一时的思维链技术,可能要被推翻了!
还在惊讶于大模型居然能够利用思维链分步骤思考?
还在苦于不会写思维链提示词?
来自纽约大学的研究人员表示:「没关系的,都一样」,
推理步骤不重要,不想写提示词也可以不写,用省略号代替就行了。
论文地址: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提示只是将统计模式的一个子集显式化,模型通过生成与模式一致的文本来模拟推理,但它们不具备验证或反思其输出的能力。
面对复杂问题,我们人类在潜意识里会进行分步骤的推理。
由此启发,谷歌的研究人员在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可以搞定,而且可以并行。