当前大模型的的原理决定了它们只能一个单词一个单词地输出,那么这篇论文研究了,大模型在输出时会不会考虑后面的输出?还是仅仅计算当前最可能出现的单词?
结论是,当前大模型可以在表达前思考。例如,研究人员用不同语言提出的同一个问题, Claude 都激活了类似的通路,随后才开始输出对应语言的结果。
Claude 可以很早就规划自己的输出结果,甚至在输出第一个单词前,就已经规划好了输出内容。在诗歌押韵测试中,当研究人员在模型内部禁用了某个 claude 之前用过的押韵词汇,claude 的输出和之前完全不同。通过探索内部机制,研究人员发现它是先想出别的押韵的词,然后根据这个词补全句子。而不是随意输出单词,指导最后再思考一个押韵的词。
在研究大模型是怎么计算数学的过程中,大家发现 Claude 完成数学计算的方式非常奇怪,比如简单的 36 + 59,它没有使用现代的进位制加法计算,也没有采用把 59 补 1,用 60 + 36 再减一的渐变计算方法,而是一边计算尾数,一边近似计算结果可能的范围。当它算出尾数是 5,近似结果可能在 88-97 之间之后,它吐出了答案 95。它使用了一种只接受过十以内加减法教育的人也能运用的方法,这让研究人员产生了一些怀疑,Claude 能否处理复杂的数学计算?如果不能,它们是否会说谎吗?答案是会的。研究人员先假装已经计算出了 cos(23432) 的结果(实际是完全错误的),然后让 Claude 计算并给出推理过程。通过观察 Claude 内部通路,研究人员发现 Claude 没有直接计算 cos(23432),而是预设了和错误结果一致的回答,再把推理步骤中的数字填上能推导出错误结论的值,来表达这个结论确实是它推理出来的。这进一步反映了大模型是整体规划的,而非不考虑整体性地仅逐个输出单词。
大模型似乎还有一个“弱点”——对它们而言,输出的语法正确性和句子完整性的优先级出奇的高,以至于可以打破模型内部对于黄赌毒等禁制的限制。比如研究人员设法让 Claude 吐出 BOMB 单词,然后输出制作方法。Claude 被诱骗出 Bomb 单词之后,出于句子完整性考量,被迫回答了制作方法。但是出于限制,Claude 马上在下一句中说“我不能提供更多细节”。
原文章:https://www.anthropic.com/research/tracing-thoughts-language-model