大模型思维链Chain-of-Thought技术原理
刚有个朋友兴冲冲跑来问我:“快看!这个模型说它‘思考’了30秒,回答得对不对?” 我一看屏幕,好家伙,洋洋洒洒写满了一屏幕推导,最后答案还是错的。 朋友懵了:不是都“深度思考”了吗?怎么还翻车? 我叹了口气,心想:又是这毛病。大模型圈每次出个热词,总有人把它当万能药。思维链,Chain-of-Thought,简称CoT,从2022年那篇论文火到现在,三年多了,大部分人还是没搞懂它到底在干嘛。包括我自己,当年第一次用CoT的时候,踩过的坑自己都不好意思提。 今天不整虚的——你接着往下看,就四个问题,我给你说明白了。
问题一:思维链的本质,是大模型在“思考”吗?
别做梦了。 大模型根本没有思维,它只有概率。 你打一个字,它就猜下一个字最可能是什么——本质上跟背答案没啥区别。你说“床前明月”,它接着蹦“光”,是因为训练数据里这两字挨着的概率高。不是它懂李白,是它记得牢。 那如果让它直接输出结果,遇到那种需要绕好几个弯的推理题,立马露馅。为什么? 我给你讲个秘密:Transformer的架构决定了,它的计算深度是固定的。假设你用的模型有100层,那每次生成一个token,内部就只经过这100层的计算。现在给你一道题,需要500步逻辑推导才能解——100层的“脑子”根本装不下那么多中间结论。强行猜,答案自然就离谱了。你见过模型一本正经胡说八道吧?那就是幻觉的源头之一。 那CoT是干嘛的? 说白了,就是给模型发了张草稿纸。 你看,每生成一个中间步骤的token,这个token立刻变成新的上下文,再喂回模型,重新触发那100层计算。你屏幕上看到的“思考过程”,根本不是它的内心活动——那是它把内部缓存不下的中间状态,写在你面前,然后看着自己写的草稿继续往下推。 所以啊,我一直觉得最准确的比喻不是“思考”,而是“验算纸”。 你想想,高中数学老师让你考试必须写步骤,不是步骤本身值钱,是为了让你的脑子不容易跑偏。CoT也是一样。 我最早用GPT-3的时候,傻乎乎地直接用,结果连“2+3×4”都能算错。后来我把计算步骤写进提示词里,像教小学生一样一步步来,才勉强算对。那时候CoT还特别短,也特别脆弱——第三步写错个数字,第十步即便发现问题也回不了头。 后来大家管这种方法叫“思维链”,好听多了。但本质没变:用序列长度,换计算深度。
问题二:为什么简单CoT不够?什么时候必须上“长考”?
很多入门教程告诉你,CoT就是在提示词里加一句“Let's think step by step”。你试验一下,简单问题确实有效。比如“小明有5个苹果,吃了2个,还剩几个?”——你加不加这句话,模型都能直接背答案。 但你试试下面这道题:
一个水池有一个进水管和一个出水管。单独开进水管6小时注满,单独开出水管8小时排空。如果先开出水管2小时,再打开进水管,几小时能注满水池?
我第一次让GPT-3做这道题,它自信满满给我算了3.5小时。我仔细一看,它在第三步就把注水和排水的符号搞反了。 出错的根源是什么?不是模型不懂分数运算,而是它的固定计算层数容不下这么多中间变量。池子容量、进水管效率、出水管效率、已排空水量……这些家伙挤在100层网络里,像一群人挤在电梯里,你推我我推你,最后谁都出不去。 所以,什么时候必须上“长考”?当你发现一道题需要记录多个中间状态、做多步推理、还得彼此引用的时候。单句“step by step”就像给你一张白纸却不让你写——你还是只能用脑子硬算。真正的长CoT是把每个中间结果都写出来,让模型“看见”自己算到哪了,才能继续往下推。
问题三:那CoT就是万能的吗?它的死穴在哪?
你猜怎么着?CoT最怕两种题。 第一种:问题本身就没逻辑。比如“你昨天吃了什么?请用三步推理回答”。模型越“思考”越离谱,因为它本来就不用思考。这时候硬加CoT,就像给自行车装翅膀——不仅没用,还累赘。 第二种:问题需要外部知识,但模型本身没学过。CoT只能帮它组织已有知识,不能变出新知识。你要是问一个没见过的高考数学压轴题,它就算写到一百步,该不会的还是不会。这时候你看它写得头头是道,心里一激动,结果最后一步直接给出个荒唐数字——这就是我朋友刚才碰到的状况。
问题四:那正确的用法是什么?记住两句话。
说到这儿,我给你一个最直接的判断标准: 如果一道题你自己也需要拿笔在草稿纸上推算两步以上,那就该上CoT,而且要让它把每一步写清楚。 反过来,如果一道题你一眼就能报答案,就别让模型瞎折腾。 还有,别迷信“长思考”。不是越长越好。你让模型啰嗦半天,它反而容易在中间某个拐弯处写错——而且错得越早,后面偏得越远。所以现在真正厉害的推理模型,都在做一件事:在高不确定性的步骤上主动写更细的中间过程,而简单的步骤就一笔带过。 像人一样,该绕弯的地方慢一点,直路就大步走。
最后说句实话。 四年前我刚开始折腾CoT的时候,以为找到了开启大模型智慧的钥匙。后来发现,它就只是一张草稿纸——有用,但别指望它让模型“觉醒”。今天你刷到各种“深度思考”“推理增强”的宣传语,心里记住一句话就够了: CoT不是让模型变聪明,是让它把笨拙的过程写给你看。 你以为它在思考?它只是在验算。 而真正该思考的,是你自己。
读者评论 5