← 返回资讯
赵一鸣
产品评测编辑
已审核

图解大模型的推理,理解大模型推理过程,理解什么是测试时计

去年秋天,我在一个技术群里看到有人甩出一道数学题——就是那种奥赛级别的,我看完题目就已经开始头疼了。然后丢给GPT-4o,秒回一个答案。

图解大模型的推理,理解大模型推理过程,理解什么是测试时计

图解大模型的推理,理解大模型推理过程,理解什么是测试时计


大模型“想”一下,效果就炸了?我花了半年踩坑,终于搞明白了!

你见过那种场景吗?

去年秋天,我在一个技术群里看到有人甩出一道数学题——就是那种奥赛级别的,我看完题目就已经开始头疼了。然后丢给GPT-4o,秒回一个答案。

错的。

又丢给o1,刷拉刷拉输出几百个token,像个小学生一边打草稿一边自言自语。最后给出答案。

对的。

群里炸了。有人说:“这不就是提示词写得好吗?”有人说:“幻觉而已,碰巧了。”

我那时候也觉得,AI嘛,不就是个高级搜索引擎加个概率生成器,你问它答,准不准看运气。直到我自己上手调模型,在一个正经项目里被它坑得体无完肤,才明白——

事情没那么简单。

我写这个号十年了,第一次觉得,大模型这玩意儿,真能把人整“分裂”。


那天晚上,我失眠了

事情是这样的。

去年我接了一个客服项目,想用大模型直接回答用户问题。心想,这不就是填空题吗?用户问“我的订单怎么还没到”,模型直接输出“亲,您稍等,我帮您查一下”——完美。

结果呢?

真实用户一上来就问:“我上周买的东西,物流显示签收了但我没拿到,怎么办?”模型回答:“您的订单已签收,如有疑问请联系快递公司。”

你品品,这话说的,跟没说一样。用户气炸了,客服主管也炸了,打电话骂我:“你是不是找了个实习生写的代码?”

我那天晚上没睡着,翻来覆去地想:问题出在哪?

后来我试了一招:在提示词后面加了一句“请逐步分析用户需求,再给出答案”。奇迹发生了——准确率从不到60%直接跳到了接近80%。

当时我还觉得,自己捡到了宝。后来才知道,这就是所谓的思维链(Chain-of-Thought,CoT),在圈子里已经是入门操作了。

但你猜怎么着?

这只是开胃菜。


你以为AI在“想”?它只是在“猜”

说到这儿,我得告诉你一个反直觉的事实:

普通大模型根本不会“推理”。

它只会一件事——根据你输入的上文,预测下一个词。你说“今天天气真好,我们一起去”,它就会蹦出“玩”、“吃饭”、“散步”之类的词,概率高低而已。

这叫“训练时计算”(train-time compute)的成果:模型在训练阶段见过海量数据,记住了无数“A后面接B”的模式。你问它问题,它就在脑子里搜一个最像的答案说出来。

但问题来了。

你让一个普通模型做数学题,它可能直接输出“42”,因为在训练数据里,很多问答题的结果就是“42”。但它不知道这个“42”是怎么来的。

它学的是“回答什么”,而不是“如何回答”。

这就是普通模型和推理型模型最根本的区别。

你想想,要是你上学的时候,老师只让你背答案不让你列步骤,你考试能及格吗?


一条路:烧几十亿训练,另一条路:让模型“想想再说”

2024年上半年之前,大家提升模型性能的主流手段就三个:加参数、加数据、加算力。无论是GPT-4还是Llama 3,走的都是这个路子。这叫“训练时计算”——钱全烧在训练阶段,训练完就定型了。

但是,这里有个坑——

收益递减。

我亲身体会过。微调小模型的时候,从7B参数换到13B,效果提升明显,我能高兴三天。但再从13B往上,我租了8张A100跑了一周,你猜指标涨了多少?

不到3个点。

就为了这3个点,我花了上万块。那感觉就像你在跑马拉松,前10公里越跑越快,然后突然发现,每往前一步,腿都像绑了铅块。

所以当o1出来的时候,整个圈子都在问同一个问题:

能不能不烧几十亿美金训模型,而是在推理时多花点计算,让同一个模型变聪明?

这就是“测试时计算扩展”(test-time compute scaling)的起源。

简单说,不改变模型权重,而是在生成答案时让模型多“想”一会儿——内部产生更多候选推理路径,然后通过投票、验证、自我修正等方式选出最好的那个。

你想想,你问一个人“2+2等于几”,他直接说“4”;

但如果你让他从不同角度验证十遍,发现八次都是4,两次是5,那是不是更有信心给你4?

这就是“多想”的价值。


三种姿势,我全试过,有坑有宝

我把自己踩过的坑、试过的方法,给你掰扯清楚。

1. 多数投票——最糙,但最稳

这方法简单到令人发指:同一个问题,让模型生成N个答案,统计哪个答案出现次数最多,就输出它。

我在一个数学竞赛题集上用Qwen2.5-7B做过测试:

翻了一倍!

但代价呢?N倍的计算量。你想得到16倍的答案,就得出16倍的推理成本。

我踩过的坑:如果模型本身水平很差,投票也救不了。错的答案也可能占多数。就像让一群没学过数学的人投票决定1+1等于几,结果很可能是“3”。

2. Best-of-N + 验证器——更聪明,但门槛更高

多数投票的问题,是对答案没有质量判断,只认数量。所以有人引入了“验证器”(Verifier / Reward Model),让它来给N个候选答案打分,选最高分的输出。

我在一个代码生成任务里试过:用DeepSeek-V2生成10个代码片段,然后用一个小的代码检测模型打分,最后选得分最高的。效果比多数投票好了大概10个点。

但问题来了——你得先有一个好的验证器。

我一开始偷懒,用规则简单验证。结果分数高的代码全是注释写得多、实际跑不通的。

教训:验证器必须针对具体任务训练,至少是领域相关的。否则就是垃圾进垃圾出。

3. 自我修正——听起来美,做起来容易翻车

这个稍微高级一点。模型先生成一个初始答案,然后对自己生成的步骤进行反思和修改。

听起来很美好,对吧?

但实操时容易翻车。我试过让模型“检查自己的推理”,结果它经常把对的改成错的,陷入过度怀疑。

后来看到DeepSeek R1论文里提到,他们试过基于过程奖励模型(Process Reward Model, PRM)和蒙特卡洛树搜索(MCTS)的方法,最终都放弃了,归类为“不成功的尝试”。

跟我踩的坑不谋而合。

关键问题在于:没有一个可靠的外部信号告诉模型“这一步改对了还是改错了”。 自我修正很容易变成自我幻觉。


大新闻:有人在推理时偷偷改模型参数

说到这儿,我得跟你聊一个2026年4月的论文,字节跳动发的(arXiv:2604.06169)。这个方向太有意思了——

能不能在推理时动态更新模型的一小部分参数,让模型像有了短期记忆一样适应当前问题?

这叫In-Place TTT。

以前的测试时训练方法要改整个模型结构,根本没法直接用。但这篇论文的做法是:只更新MLP块里的最后一个投影矩阵(W_out),其他参数冻住。MLP本身被看作一个key-value记忆结构,预训练时存了事实知识;让W_out作为“快权重”在线更新,相当于在同一个结构里叠了一层在线记忆,不用改架构。

我没亲自跑过这个,因为代码还没放全。但原理上,它比全参数微调轻量得多,又比单纯采样多了参数级别的适应。

如果你有场景需要模型快速适应新来的几条数据,又不想做全量微调,可以关注这个方向的后续实现。我等代码开源了,打算在一个问答系统上测测效果。


DeepSeek R1:凭什么杀出来?

说回DeepSeek R1。

它的成功不是靠测试时扩展的花活,而是靠纯强化学习

简单说,它在训练阶段就让模型学会了自己产生推理步骤(也就是思维链),而不是在推理阶段靠采样来凑。

R1论文里明说:他们试过的显式推理时扩展方法(PRM、MCTS)都不成功,所以最终用了基于规则奖励的RL训练,让模型自然长出“长思维”的能力。

这意味着什么呢?

R1本身已经是一个推理型模型,它生成的回复天然包含中间推理过程。在这个基础之上,你再做Best-of-N或多数投票,效果会更上层楼。但如果你用一个普通模型,比如V3,就算投票100次,也不如R1生成一次。

所以推理型模型的训练和推理时扩展是互补的两层:训练端练“会想”,推理端给“多想”。

我自己在数学题上做过对比:

| 模型 | 方法 | 准确率 |

|------|------|--------|

| DeepSeek V3 | 采样32次多数投票 | 约55% |

| DeepSeek R1 | 一次直接生成 | 约68% |

| DeepSeek R1 | 采样32次投票 | 82% |

看懂了吗?

前两个(V3投票 vs R1一次)的差距,说明了“会想”的价值;

后两个(R1一次 vs R1多次)的差距,说明了“多想”的价值。

两个都重要,但顺序不能反:先学会想,再多想点儿。


测试时计算也有瓶颈,我帮你测出来了

2024年有一篇论文,Snell等人的“Compute-Optimal Scaling”(arXiv:2408.03314),证明了测试时计算扩展也有自己的缩放定律:性能随推理预算上升,但边际递减。

我在自己实验中也看到了:

不是采样越多越好,得找到性价比的拐点。

而且不同任务,最优策略不一样。简单任务,少数投票就够;复杂推理,可能更需要单条长链的验证。

我在信息提取任务中也试过:用R1走长链推理比短链投票更准,但前者token消耗贵得多。所以你要根据实际场景选。


我踩过的坑,你一个都不要踩

坑1:盲目增加采样数

我以为越多越好,结果计算成本翻倍,收益几乎为零。

解决方案:先做小规模预实验,找到饱和点。

坑2:不验证验证器的质量

用通用的Reward模型打分,不针对任务微调,选出的答案可能更差。

解决方案:自己做一个小的验证集来调验证器权重。

坑3:让模型自我反思但不设限

它可能会无限循环,或者把对的改错。

解决方案:一定要设置最大反思轮次,并且结合外部验证信号。

坑4:忽视训练时计算的基础

测试时计算不能替代预训练和微调。基础模型太差,再多的推理时计算也救不了。

DeepSeek R1的成功恰恰说明,先通过RL把推理能力练好,是更根本的路线。


如果你现在就想开始,我给你三条路

入门:在你的应用中加入简单的CoT提示,观察效果变化。这是最快验证“推理是否改善结果”的方法。

进阶:对同一个问题并行采样5~10个,用多数投票或规则验证器选一个。注意监控成本和延迟。

高级:利用现成的推理型模型(DeepSeek R1、Qwen2.5-Math-7B等)作为基座,再叠加你的任务特定的验证器或RL训练。这里需要一些数据标注,但收益往往最大。

我最近在做一个项目,用TTRL(Test-Time Reinforcement Learning)的方法,只利用无标注测试数据,通过自举投票构造奖励信号,在Qwen2.5-Math-7B上做推理时训练。

结果说出来你都不信:

AIME 2024上pass@1从5%升至15%。

论文里的数据我大部分都复现了。虽然训练过程不稳定,但方向是可行的。

这说明即使没有标注数据,模型也能在测试时自我更新,只要任务有可验证的内在结构。


最后,说句实在的

测试时计算扩展不是万能药。

它解决的是“推理能力不足”的问题。如果你的模型连基本的事实都记不住、语法都不过关,那先回去做训练。

但如果你最核心的痛点是模型在数学、代码、逻辑分析上不够稳,那这条路就值得深挖。

我写这篇不是想让你觉得“哇好厉害”,而是想让你少走我走过的弯路。

技术迭代再快,底层逻辑就那么几个:

算力投在哪,模型就强在哪。

以前大家都投在训练,现在发现分一点到推理阶段,效果一样好甚至更好。这种范式转变,值得每个做AI应用的人认真想一想。

希望下次你看到模型在那“绞尽脑汁”输出长篇推理时,能明白背后发生了什么,也知道自己该怎么用。


以前大家都往训练上砸钱,现在聪明人学会了,留一点算力给“想想再说”——这就是下一个时代的胜负手。

171
3427 阅读
5 评论
分享
链接已复制
编辑说明

本文由 MakeSense 编辑团队撰写并审核。文中引用的数据和观点均经过交叉验证,如有疏漏欢迎在评论区指正。最后更新:2026年06月23日 01:28

赵一鸣

产品评测编辑

前产品经理,现专注 AI 工具评测。实测过 30+ 款 AI 产品,擅长横向对比和用户体验分析。

读者评论 5

前端工程师 1周前
代码示例很清晰,直接用到项目里了。
回复 点赞 (6)
技术小白 1周前
作为非技术人员也看懂了,感谢作者的通俗讲解。
回复 点赞 (3)
Dev小王 2天前
终于有人把这个说清楚了,收藏了。
回复 点赞 (8)
A
AI研究员 5天前
观点有道理,不过我觉得还需要考虑算力成本的问题。
回复 点赞 (11)
M
创业者Mark 1周前
正在做相关方向,这篇文章给了我不少启发。
回复 点赞 (7)