Skip to content

大模型推理强度的控制原理

许多推理模型提供 lowmediumhigh 等推理强度选项

text
Reasoning effort: low / medium / high

这些档位通常不代表三个不同的模型,而是让同一组模型权重采用不同的计算策略;低档强调速度与成本,高档允许模型生成更多中间步骤,并把额外计算用于搜索、检查和修正

理解这一机制需要依次回答三个问题:推理 token 为什么能够增加计算,模型怎样学会使用这些 token,低中高档位又如何把这种能力变成可控制的产品接口

本文以 Sebastian Raschka 的 Controlling Reasoning Effort in LLMs 为主要线索,并参照 DeepSeek-R1、Qwen3 和 Inkling 的公开资料

一、推理强度控制的是计算分配

工程语境中的“推理模型”不表示模型具有意识,它指的是模型在给出最终答案前生成一段中间过程,用于拆解问题、保存中间结果、尝试方案和检查错误

普通模型与推理模型的差别可以简化为两条生成路径

text
普通模式:问题 → 最终答案

推理模式:问题 → 拆解 → 尝试 → 检查 → 修正 → 最终答案

第二条路径更长,也会消耗更多计算;这段中间过程常被称为 reasoning trace、thinking trace 或 chain of thought,界面可以不向用户展示它,但隐藏显示不会消除相应的计算

可以用同一个人处理不同任务来类比,他回答“法国的首都是哪里”时可以直接作答,审阅一份合同时则要逐条核对;知识基础没有变化,投入的时间、检查次数和搜索范围不同,推理强度控制的正是这种资源分配

二、推理 token 为什么能增加计算

大模型不是先在内部形成完整答案,再将答案一次性输出;自回归模型逐 token 生成内容,它读取已有上下文,预测下一个 token,将新 token 加入上下文,然后继续预测

text
已有内容 x₁...xₜ
    ↓ 经过一次模型计算
得到下一个 token xₜ₊₁
    ↓ 加入上下文
再次经过模型计算
得到 xₜ₊₂

不断重复

每增加一个推理 token,模型就多进行一步顺序生成,新 token 还会进入上下文,供后面的计算读取;单次前向计算的网络深度是固定的,而连续生成中间 token 可以把一个复杂问题拆成多个较小的局部问题

在教学中,我更愿意把推理 token 称为模型的外接草稿纸,以 37 × 48 为例,直接报出结果是一种做法,也可以把中间状态写下来

text
37 × 48
= 37 × (50 - 2)
= 1850 - 74
= 1776

纸上的每一行都没有增加计算者的数学知识,却降低了下一步的难度;推理 token 同样不会给模型临时补充知识,但它能保存条件和中间结果,让后续生成重新读取先前假设,并在发现冲突时改换路线

因此,推理时扩展增加的是顺序计算深度,token 数可以近似反映投入的计算量,却不能直接代表推理质量;有效的十步推导可能优于一百步重复计算

训练扩展与推理时扩展

训练扩展和推理时扩展是两条不同的能力提升路径

text
训练扩展:增加参数、数据或训练计算,得到一组新的模型权重

推理时扩展:保持模型权重不变,为当前请求投入更多计算

较小模型使用高推理档,有时可以接近较大模型使用低档的结果;若模型缺少必要知识,或者基础能力已经构成瓶颈,增加 token 仍然无法补足差距

模型大小和推理强度因而是两项独立控制,前者决定能力基础和每个 token 的计算成本,后者决定当前任务可以使用多少中间计算

三、RLVR 如何训练出推理行为

RLVR 是 Reinforcement Learning with Verifiable Rewards 的缩写,可译为“带可验证奖励的强化学习”;它使用能够自动判分的任务训练模型,数学答案可以由符号工具检查,代码可以由编译器或单元测试检查

一次简化的训练过程如下

text
1. 从题库取一道题
2. 模型生成多份完整回答,也叫 rollouts
3. 验证器检查每份回答的最终结果
4. 正确回答得到高奖励,错误回答得到低奖励
5. 更新模型,提高高奖励生成路径再次出现的概率
6. 在大量题目上重复

验证器主要检查最终结果,但一次回答包含最终答案之前的整条 token 路径;如果“列出条件、完成推导、检查符号”更容易得到正确答案,这类路径就会在训练中逐渐提高概率

text
路线 A:直接猜公式 → 算错 → 奖励 0
路线 B:列条件 → 代入 → 检查符号 → 答对 → 奖励 1

模型没有收到“必须检查符号”这样的逐句监督,却能从结果奖励中学到分解、验证和回退等通用策略;研究者把模型在中间过程里发现错误并自行修正的现象称为“Aha moment”

DeepSeek-R1 论文 展示了这类现象,即使没有人工标注的完整推理轨迹,强化学习仍能促进自我反思、验证和策略调整

RLVR 也有明确边界,偶然答对与奖励投机会让最终结果不能完全代表推理过程的质量;开放式写作、商业判断和事实分析也很难像数学题一样自动判分,因此实际训练还要结合格式奖励、长度控制、规则检查、单元测试或其他判分器

这里需要建立一个重要区分:RLVR 可以训练出推理能力,但有推理能力不等于能够服从 lowmediumhigh 等档位信号;档位控制还需要专门的条件训练

四、模型如何学会低中高档位

档位控制的核心,是把“推理强度”作为一个条件加入训练,使模型学习同一道题在不同预算下应采用什么策略

监督微调建立档位与行为的对应关系

监督微调可以给模型提供如下配对

text
低推理档 + 问题 → 简短推理 + 直接答案
中推理档 + 问题 → 适量推理 + 答案
高推理档 + 问题 → 详细拆解、检查和修正 + 答案

从概率模型的角度,这一步训练的是

text
p(回答 | 问题, 推理档位)

没有档位条件时,不同长度与不同策略的轨迹混合在同一个回答分布中;加入条件后,同一道题可以对应多类轨迹,档位信号指定当前应该采样哪一类

Qwen3 的 “Thinking Mode Fusion” 是一个公开案例,它在后训练阶段混合思考与非思考样本,使同一模型能够直接回答,也能够进行多步推理;Qwen3 技术报告 还描述了 thinking budget,用于在推理时分配计算预算

强化学习把 token 成本写入目标函数

监督微调让模型看到不同档位的示范,强化学习则可以把计算成本直接写入奖励;一个便于理解的简化函数是

text
R(e) = R_task - λ(e) × N_tokens

其中,R_task 表示任务是否完成,N_tokens 表示回答使用的 token 数,e 表示要求的推理档位,λ(e) 表示该档位下每个 token 的惩罚系数

低档使用较大的 λ,模型每增加一个 token 都承担较高惩罚,因此倾向于选择较短路径;高档使用较小的 λ,探索、验证和回退承担的长度惩罚较低,模型可以为难题使用更多步骤

假设同一道题存在三种策略

策略正确率平均长度
直接回答70%100 tokens
拆解并检查一次90%500 tokens
尝试三条路线并反复复核92%2,000 tokens

如果训练只奖励正确而不惩罚长度,第三种策略即使只提高 2 个百分点,也可能得到保留;加入 token 成本后,低档目标函数会压低第三种策略的收益,高档则更愿意为这 2 个百分点支付额外计算

档位训练由此学到的不是固定长度,而是一条正确率与计算量的权衡曲线;简单题很快获得可接受的答案,继续生成不会增加奖励,难题则可能使用更多预算

Thinking Machines Lab 在 Inkling 的公开说明 中披露了类似做法,训练样本的系统消息中包含 effort 值,同时调整每个 token 的成本;Inkling 使用 0 到 1 之间的连续数值,而不是只提供三个离散档位

硬预算训练模型在中途收束

档位信号决定模型怎样使用计算,硬预算则规定模型最多可以生成多少个推理 token;达到预算后,外部系统停止中间过程,并要求模型给出最终答案

硬截断可能破坏尚未完成的推理,如果模型只见过完整轨迹,被中途叫停后就可能无法收束;一些训练方案会主动截断推理轨迹,让模型学习如何从不完整的中间状态转入最终回答

专家蒸馏合并不同档位的策略

另一种方法会分别训练低档、高档和特定任务领域的专家模型,再通过蒸馏把这些行为合并到同一组权重中;部署时仍然只有一个模型,档位信号负责选择模型从不同教师中吸收的策略

这几种方法并不互斥,监督微调可以建立档位格式,强化学习可以调整正确率与长度的权衡,硬预算训练可以提高中途收束能力,专家蒸馏则可以合并已经形成分工的策略

五、运行时的四种控制方式

产品界面可能把多种机制都放在“思考强度”菜单中,但它们改变的对象不同

控制方式改变的对象是否需要专门训练
档位提示或系统消息选择模型已经学会的推理策略通常需要
推理 token 上限限制中间过程的最大长度不一定,采用预算训练时较稳定
多次采样与投票生成多条独立轨迹,再选择答案不需要修改模型
更换模型改用另一组权重与能力基础模型本身需要另行训练

高推理档通常让一条轨迹走得更深,自洽性投票则同时探索多条轨迹;例如让模型独立解答同一道数学题五次,再选择出现次数最多的答案,前者增加搜索深度,后者增加搜索宽度,两者可以叠加使用

<think> 标签也不应与推理能力混淆,它只是区分中间过程和最终回答的格式标记;如果模型从未接受档位训练,仅在提示词中加入“请用最高强度思考”,不会自动得到稳定的高档策略

max_tokens 同样只负责放宽输出上限,它不能规定模型怎样使用预算;训练充分的低档不是高档回答的截断版本,它应当更早识别题型并减少无效路径,高档则应把额外计算用于搜索、工具调用、检查和修正

六、高推理强度的收益边界

增加推理强度通常有利于数学、代码、规划和复杂 Agent 任务,但高档并不保证得到更好的结果

第一,边际收益会下降,从低档升到中档时,增加一次检查可能显著提高成功率;继续增加预算后,模型可能只是反复确认同一结论,token 数仍在增长,准确率却逐渐饱和

第二,推理不能替代知识与基础能力,模型若缺少关键信息、误解问题或不会使用必要工具,增加数千个 token 只会延长错误过程

第三,长推理也会累积错误,早期采用错误假设后,后续 token 可能沿着同一路线继续扩展;模型写下“已经检查”不表示验证一定有效,如果复核仍由同一模型采用同一种方法完成,原有错误可能被再次确认

第四,计算成本会在工作流中累积,长推理不仅增加 token 费用,还会延长等待时间并降低服务吞吐;一个 Agent 若包含几十次模型调用,每一步都使用最高档会产生很高的端到端延迟

高档在任务可以拆解、中间结果能够验证、模型掌握相关知识或工具时更有效;数学和代码任务受益较明显,原因之一就是它们可以使用计算器、编译器、单元测试和环境反馈

七、从任务风险确定推理档位

推理档位应根据任务复杂度、错误代价和验证条件确定

档位适合的任务主要目标
关闭或低档改写、分类、信息抽取、格式转换、简单问答降低延迟与成本
中档常规代码、文档分析、多条件比较、一般规划平衡质量与响应时间
高档难数学、复杂调试、跨文件代码修改、关键决策辅助提高一次成功率
极高档或多次采样高价值、可验证、失败代价高的任务增加搜索与独立复核

在线系统可以先使用低档,在出现低置信度、工具执行失败或验证不通过时升级

text
先用低档回答
  ├─ 结果可验证且通过 → 返回
  ├─ 模型低置信度 → 升到中档
  ├─ 工具执行失败 → 升到高档并重试
  └─ 高风险任务 → 直接高档,再做独立复核

这种路由比所有请求默认使用高档更节省资源,但自动选档仍然需要估计题目难度、剩余预算、工具状态和错误代价;较实用的产品设计是由系统自动路由,同时保留用户覆盖系统选择的能力

八、评测应覆盖完整的成本与质量曲线

推理档位是一项系统参数,应当通过同一批任务样本进行比较,至少记录以下四类指标

  1. 任务质量:正确率、单元测试通过率、端到端任务成功率
  2. token 消耗:输入、推理和最终输出分别使用多少 token
  3. 延迟:首 token、完整响应和整个工作流的 P50/P95
  4. 成本:完成一个成功任务的平均费用,而不是只比较每百万 token 单价

评测结果应画成成本与质量曲线,而不是只报告最高档分数;假设中档将成功率从 82% 提高到 91%,成本增加 30%,这个升级可能合理,若高档只将成功率从 91% 提高到 92%,成本却翻倍,它就不适合作为默认配置

样本还需要按难度分层,大量简单样本会稀释少量难题的影响,使总体分数无法显示高推理档在哪些任务上产生收益

结语

推理强度是一项计算资源配置变量,它不改变模型已经学到的知识,却能改变模型为当前问题投入多少顺序计算,以及这些计算被用于直接回答、搜索、验证还是修正

完整的因果链条可以概括为:自回归生成让额外 token 转化为更多顺序计算,RLVR 让模型从结果奖励中形成推理行为,带档位的监督微调和强化学习再把这些行为映射到不同预算,运行时系统最终通过档位信号与 token 上限调用相应策略

合理的目标不是让模型始终进行最长推理,而是让每一部分额外计算产生可测量的质量增益;档位控制是否有效,应由分层任务上的成功率、延迟和单位成功成本共同判定

参考资料

资料边界:不同厂商的具体实现并不相同,闭源模型通常不会公开完整训练细节;文中有关通用实现机制的内容来自已经披露的开源模型配方,不代表对任一闭源模型内部流程的确认

最后更新于: