Controlling Reasoning Effort in LLMs

TL;DR · AI 摘要
GPT-5.6模型通过多层级推理设置实现灵活推理控制,结合RLVR训练方法提升模型性能。
核心要点
- GPT-5.6提供三种模型规模和五到六种推理设置
- RLVR方法通过可验证奖励提升推理能力
- 作者新书详细讲解推理模型开发
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- 控制LLM推理努力
- 训练方法
- RLVR(可验证奖励强化学习)
- 推理设置
- GPT-5.6多层级配置
- 资源
- Build A Reasoning Model书籍
- 相关研究论文
金句 / Highlights
值得收藏与分享的关键句。
GPT-5.6模型家族包含三种规模,每种规模提供五到六种推理努力设置
RLVR方法通过可验证奖励机制显著提升模型推理能力
作者新书《Build A Reasoning Model (From Scratch)》提供完整开发指南
在大型语言模型中控制推理努力
大型语言模型如何学习低、中、高推理努力模式
2026年7月18日
自OpenAI发布o1模型并推广基于大型语言模型(LLM)的推理模型概念以来,已将近两年时间。大约四个月后,DeepSeek-R1随之而来,并附带了使用可验证奖励的强化学习(RLVR)方法的详细信息,用于训练此类推理模型。
上周,OpenAI发布了GPT-5.6模型系列。该系列包含三种尺寸,每种尺寸都配有大约五到六种推理努力设置。
图1:具有不同推理努力设置的GPT 5.6 Sol模型。(目前Ultra的基准数据尚未公布,但应与Max相对接近,因为其使用了类似的推理努力水平,但通过四个子代理加速了工作。)
是的,推理模型已经到来并将继续存在。它们已成为现代模型发布中的标准组成部分。
过去,我曾介绍过推理模型的方法论(《理解推理大型语言模型》)以及相关研究论文(《大型语言模型推理的强化学习现状》和《大型语言模型推理模型推理现状》)。我甚至撰写了一本全新的440页书籍,讲解如何开发推理模型,《从零开始构建推理模型》。
图2:我新书《从零开始构建推理模型》。彩色版!
这些资源主要聚焦于如何将传统大型语言模型转化为推理模型。在本文中,我希望重点解释如何开发具有多种推理努力模式的推理模型,如本文开头的图示所示。
不用担心,本文可以作为独立文章阅读。不过,上述资源可能也具有趣味性和实用性。
1. 推理模型的简要定义
在讨论几乎所有机器学习或人工智能技术或子领域时,我们学到的一个教训是,通常不应将技术术语“字面化”理解。例如,机器学习和人工智能中的(人工)神经网络并不字面上像人脑这样的生物神经网络那样运作。
同样地,当我们谈论“推理模型”时,不应期望这些模型像我们人类一样字面上进行推理。在人工智能和大型语言模型研究的语境中,“推理模型”指的是能够输出中间推理轨迹的模型,这种轨迹类似于逐步解决一个问题或任务的中间响应。
通过举例说明可能最容易解释这一点。
图3:传统大型语言模型回答(左)与推理模型回答(右)的示意图。
2. 推理模型训练与推理扩展的简要概述
提高(推理)任务性能本质上存在两种方式:训练扩展和推理扩展。
图4:训练和推理扩展是提升大型语言模型和推理模型问题解决能力的两种方式。图表基于《使用大型语言模型进行推理学习》
让我们先简要谈谈训练。
2.1 训练推理模型
2.2 “顿悟”时刻
无论如何,正如图7所示,仅通过输出奖励进行训练就足以让模型学会如何通过问题进行推理,这意味着模型将学会编写中间解释、回溯并自我纠正。当模型意识到自己犯了错误并自我纠正时,这些时刻被称为“顿悟”时刻。
图7:一个“顿悟”时刻的示例,推理模型注意到其中间推理中的错误并在生成最终答案前进行纠正。
顺便提一下,虽然DeepSeek-R1无疑是更受欢迎的论文,也是引发人们对可验证奖励强化学习和推理模型开发热情的论文,但还有一篇论文Kimi K1.5于2025年1月22日当天在arXiv上发布。此外,术语RLVR早在两个月前的Tülu 3: Pushing Frontiers in Open Language Model Post-Training论文中就已经提出。
DeepSeek R1最终成为更受欢迎的论文的一个原因是,它证明了可以通过纯强化学习(RL)实现推理行为。
图8:DeepSeek-R1-Zero直接对预训练基础模型应用RLVR,而无需监督微调。
例如,Tülu 3和Kimi K1.5是在监督微调(SFT)模型的基础上应用强化学习。DeepSeek-R1模型也是从DeepSeek-V3基础模型的SFT检查点进行训练的,并且包含一个使用纯RLVR训练的DeepSeek-R1-Zero变体。R1 Zero比R1弱,但它表明RLVR足以教会模型生成和使用推理轨迹。
虽然R1-Zero更多是一个概念验证模型,但请注意,如上所述,完整的DeepSeek-R1推理模型训练流程通常是多阶段的,且更为复杂。
图9:更详细的推理模型训练流程。该图展示了各种DeepSeek-R1模型。如需更多细节,请参见我的另一篇文章:Understanding Reasoning LLMs
顺便说一下,当今大多数LLM实际上都是推理模型,这意味着它们的训练方式与DeepSeek-R1类似,使用某种形式的RLVR。
2.3 简要说明推理扩展
除了通过训练改进推理行为外,另一个提升模型性能的杠杆是推理计算扩展。简而言之,这意味着在模型训练完成后,使用过程中投入更多计算资源以获得更优的答案。
这是一个独立的完整话题,你可通过阅读我的文章《大语言模型推理模型推理现状》获取更详细的分析:
#### 大语言模型推理的强化学习现状
·
2025年4月19日
阅读完整故事
我将尝试在下文总结作为背景信息最关键的内容。
首先,使用RLVR训练模型已隐含了推理计算扩展的形式,因为推理模型在推理过程中通常会输出比传统大语言模型更多的token,这意味着推理阶段需要消耗更多计算资源。
其次,我们可以通过调整推理努力程度进一步控制输出长度,但相关内容将在后文详述。
第三,存在许多其他推理计算扩展技术。其中一种流行方法是自一致性(self-consistency),通常以多数投票形式实现,即多次查询模型并最终通过多数投票选择答案。
图10:自一致性示例,一种流行的推理计算扩展技术。
该方法既适用于传统大语言模型,也适用于推理模型。此外,这种方法可按需使用,并且可以与推理训练结合使用。一个典型案例是DeepSeekMath-V2,研究人员在推理模型(专为数学设计)基础上应用了极端推理扩展,从而在具有挑战性的数学竞赛类问题上实现了最先进的性能。
图11:两种推理扩展技术(自一致性和自优化)联合使用以提升数学表现。图表改编自DeepSeekMath-V2:迈向可自我验证的数学推理
但再次强调,我将参考我的另一篇文章《大语言模型推理模型推理现状》以概述其他技术:
#### 大语言模型推理模型推理现状
2025年3月8日
3. 思考token
你可能在前面的“顿悟时刻”图中见过这些</think> tokens。我也在下方附上对应的图表,无需向上滚动即可查看。
图12:推理模型中常见的格式化token。
这些</think>和</think>标签与推理能力无关。它们不会让模型进行推理,也不是实现良好推理性能的必要条件。可以训练相同模型而不使用这些分隔符,并可能达到相似的基准性能。
这些思考token或标记的主要目的是标记推理过程的起始和结束位置,以便训练流程或用户界面可以将其与最终答案分离,并根据需要向用户隐藏这部分内容。(如ChatGPT或Codex等UI通常会这样做。)
需要强调的是,这些思考token并未赋予模型"思考"或推理的能力,也不提升推理质量。可以训练相同模型而不使用这些思考token,并达到相似的基准性能。
此外,这些字面字符串"思考"和"结束"也没有特殊之处。其他分隔符同样可以实现相同功能。
顺便提一下,这种实现方式通常是通过在RLVR阶段添加格式化奖励。因此,除了根据答案正确性奖励模型外,还会对使用思考token的行为提供额外奖励,从而鼓励模型使用这些token。
在 DeepSeek-R1 中,整体奖励的计算方式为:
R_total = R_accuracy + R_format
其中格式奖励是一个简单的基于规则的检查,鼓励模型将其推理过程放在以下位置:
</think>
4. 推理模式的开关
第一代推理模型是专用推理模型。我的意思是当时有一个 DeepSeek-V3 基础模型和一个单独的 DeepSeek-R1 推理模型。
无论提示内容是什么,R1 通常会使用大量 token 输出非常冗长的响应,即使是简单的提示也是如此。它也没有内置的选项来关闭推理模式。
图 13:推理模型即使对于最简单的提示也会非常冗长。
后来的模型,如 Qwen3 等,尝试了混合方法,使同一模型可以根据需求表现为常规指令微调模型或推理模型。
注意:一些模型开发者称之为“思考模式”,而另一些则称之为“推理模式”。这两个术语指的是相同的行为。
在 Qwen3 中,这是通过 tokenizer 使用 enable_thinking=True 或 enable_thinking=False 来实现的。在底层,设置 enable_thinking=False 实际上是在助理响应的开头添加一个空的 </think> 部分,以关闭 Qwen3 的推理(“思考”)模式。
图 14:Qwen3 0.6B 推理模型在 thinking=False 和 thinking=True 时的响应。(左侧界面中隐藏了空的
具体而言,本文开头展示了一张来自 Codex GPT 5.6 界面的图表,该界面允许用户选择多个推理“努力”设置。
图 16:GPT-5.6 提供了六种推理努力设置,从轻量级到超高级。
接下来的子章节将说明这些设置可能的实现方式。随后,在下一章节中,我将介绍一些与该主题相关的有趣研究论文。
5.1 推理努力与响应长度和质量
不幸的是,OpenAI 并未公开其努力设置的实现细节,但有一些证据可以用于合理推测。
例如,通过他们去年发布的开源 gpt-oss 模型(我在《从 GPT-2 到 gpt-oss:分析架构进步》一文中曾讨论过这些模型),我们知道 OpenAI 允许我们通过系统提示(”Reasoning effort: low/medium/high”)来切换推理努力设置,该提示会添加到每个提示的开头。
图 17:gpt-oss 聊天模板在将提示发送给同一模型之前,会将选定的推理努力插入系统消息中。
如预期的那样,推理努力直接影响响应长度和准确性,如下图所示。
图 18:不同推理努力下 gpt-oss 模型的响应长度和质量(来自模型卡片的注释图表)。
可以推测,他们的 GPT 5 模型,包括最近的 GPT 5.6 模型,也采用了类似的方法。
顺便注意上图中不同努力设置如何扩展响应长度。努力级别似乎与令牌使用量直接相关,而令牌使用量又似乎与准确性相关。可能可以设计出高于“高”级别的努力设置,但我认为性能在某个点后会趋于饱和。这种饱和现象在 GPT 5.6 Sol 模型中表现得更加明显,该模型还表明,推理预算的增加在某些点后可能变得不经济。
图 19:推理努力会增加 API 成本和编码代理性能,但在最高 GPT-5.6 设置下会出现边际效益递减。该图基于《人工分析编码代理指数 v1.1》。
另一个近期的有力数据点,展示了推理努力、令牌使用和基准性能之间的关系,是 Thinking Machine Labs 本周发布的新开源权重 Inkling 模型。
图 20:提高 Inkling 努力级别通常会增加生成的令牌数量和基准性能,但在更高努力级别下,收益可能递减或不均衡。该图来自 Inkling 宣布博客。
如本节所述,在推理过程中,可以通过系统提示简单控制推理努力级别。(ChatGPT 界面可能只是将菜单选项映射到系统提示。)然而,这种方法对于任意模型都不适用,需要对训练流程进行某些修改,这将在下一节中讨论。
5.2 努力级别实现的可能方式
尽管训练细节尚未公开,无论是 GPT 5.6 还是开源的 gpt-oss 模型,通常在微调过程中会在提示中包含推理努力标签。
通常有两种实现方式。
首先,我们可以将其作为 RLVR 过程的一部分实现,并在使用不同系统提示时应用不同的长度惩罚。例如,当使用“Reasoning effort: low”时应用高长度惩罚,而当使用“Reasoning effort: high”时应用轻微或无惩罚。
其次,我们可以在RLVR之后通过监督微调(SFT)对模型进行微调,使其遵循不同的努力指令。
例如,在核心RLVR阶段之后以及SFT期间,训练数据集中的提示会与表现出期望推理量的目标响应配对。(目标响应可能由人类编写,由其他模型生成,或生成后经过筛选。)
图21:努力条件化RLVR和SFT的示意图。(这是可能的实现方式,而非OpenAI训练流程的确认描述。)
在SFT阶段,模型会直接从训练示例中学习努力标签与目标推理长度之间的关联。基于强化学习的实现方式则会将努力标签和预算感知奖励置于RLVR阶段。这两种方法也可以结合使用,我推测这正是gpt-oss和GPT 5.6的训练方式(请注意,GPT 5.6中的努力设置可能只是针对特定用户查询更改系统提示)。
5.3 Inkling案例研究
刚刚发布的Inkling技术报告给出了一个规模较小但相对具体的关于努力级别训练的示例。
图22:Inkling在0.2到0.99之间扫描连续努力值;更高的努力级别通常会产生更长的响应和更高的基准分数。
在大规模强化学习过程中,他们对每个样本做了两件事:
- 在系统消息中指定期望的努力级别。
- 调整分配给每个生成token的成本。
从概念上讲,奖励函数可能类似于以下形式:
$R(e) = R_{\text{task}} - \lambda(e)N_{\text{tokens}} $
其中,e是请求的努力级别,λ(e)控制token的惩罚系数。
- 低努力级别使用较大的每token成本,鼓励生成更短的推理轨迹。
- 高努力级别使用较小的每token成本,允许模型消耗更多token。
在推理阶段,Inkling会收到类似"Thinking effort level: 0.8"的系统消息,并据此调整token使用量。Inkling与gpt-oss和GPT-5.6等模型的区别在于,其努力标签是0到1之间的连续数值,而非"低/中/高"等序数标签。
这将Inkling的努力级别条件化主要置于推理强化学习阶段,而不仅限于后续的SFT阶段。
尽管如此,他们并未公开具体的奖励公式、token成本系数,也未说明是否在SFT中也包含了努力条件化。
图23:模型选择和推理努力菜单对应于两个不同的扩展轴。选择Luna、Terra或Sol会改变模型,而调整推理努力则会为固定模型调整推理时的计算量。
一个小小的术语注意事项是,从菜单中选择不同模型在那一刻并不等同于进行训练扩展。训练已经完成。最好将模型菜单视为在不同训练规模下生成的模型之间进行选择。
下面的人工分析结果展示了这两个轴在实践中如何相互作用。
每条蓝色曲线对应一个模型,Luna、Terra或Sol。沿着曲线增加推理努力对应推理扩展。从一条模型曲线移动到另一条曲线对应模型扩展,这里我将其作为训练扩展的实际替代指标。
如预期的那样,这两种方法都可以提高基准得分,但也会增加成本。更有趣的是,这些曲线存在重叠。例如,较小模型在较高推理努力下有时可以达到与较大模型在较低推理努力下相似的得分。
图24:GPT-5.6模型系列在人工分析编码代理指数上的训练扩展和推理扩展。沿着每条模型曲线移动对应增加推理努力。在Luna、Terra和Sol曲线之间移动对应选择不同模型。
顺便说一下,这张图的x轴显示的是API成本而非原始计算量。API成本是一个有用的实用指标,但它也取决于提供商的定价和生成的token数量。此外,这些曲线的确切形状是基准特定的。
因此,模型规模和推理努力形成了两个独立的调节旋钮。我们可以使用更大的模型、增加推理努力,或两者结合。最佳组合取决于所需的准确性、成本和延迟。
到目前为止,这篇文章应该已经为你提供了关于推理努力模式如何工作以及它们如何实现的相当扎实的理解。如果你时间紧迫,这是一个很好的总结点。否则,如果你想深入了解一些最新开源模型的细节,请继续阅读!
6. 附录:在旗舰开源大语言模型中实现推理努力的不同方式
[除非你对一些额外细节感兴趣,否则可以跳过本节]
第5节描述了训练推理努力控制的两种可能方式,即基于努力条件的监督微调和不同token成本的强化学习。最初,我打算涵盖关于实现推理预算替代方法的研究文章。然而,在阅读了大部分文章后,它们似乎更像是概念验证,可能在实践中效果好坏参半。
因此,我决定转而介绍当前最先进的、值得关注的开源(旗舰)大语言模型所采用的方法。对于这些模型,至少有证据表明这些方法在实践中是有效的。
这留下了六个例子:DeepSeek V4、Nemotron 3 Ultra、Kimi K2.5、GLM-5、Qwen3和Inkling。它们的报告细节程度不同,但每个都提供了一个有用的变体。(我排除了那些报告中仅显示用户界面中的努力设置但未解释该行为如何训练的模型。)
6.1 DeepSeek V4训练独立的努力专家
让我们从 DeepSeek V4 技术报告 开始,该报告描述了三种模式的使用方式:
- Non-think 模式直接生成响应,不包含推理轨迹。
- Think High 是经典方法,模型在
</think>标签之间插入推理轨迹。这与本文开头提到的 DeepSeek R1 部分(第 2 节)讨论的内容类似。 - Think Max 与上述方式相同,但增加了特殊系统指令。(下面将进一步说明。)
Think Max 的额外系统提示指令以 "Reasoning Effort: Absolute maximum with no shortcuts permitted." 开头。
图 25:来自 DeepSeek V4 文档的推理努力控制概览
乍看之下,这听起来像是一个简单的提示工程技巧,但该提示实际上是由不同的训练设置支持的。也就是说,每种模式都使用自己的上下文窗口和长度惩罚(不幸的是,该报告中未详细说明具体的长度惩罚实现)。与 Think High 相比,Think Max 接收更长的上下文窗口和更小的长度惩罚,这为其提供了更多继续推理的空间。
因此,系统指令选择了在后训练期间创建的行为。将相同的指令添加到任意模型中不会产生相同的效果。
图 26:DeepSeek V4 在报告的不同部分分别描述了三种努力模式和更大的教师池。教师池包含超过十位领域专家。报告未说明这些教师如何映射到 Non-think、Think High 和 Think Max。
不幸的是,尽管 DeepSeek V4 报告内容详尽,但并未足够详细地将推理模式和领域专家的描述联系起来,以重构确切的教师分配。
然而,报告指出,最终支持不同推理努力级别的模型是通过从这些教师中进行 on-policy 蒸馏创建的。
总结来说,DeepSeek V4 在后训练期间开发了三种推理专家。从基础模型开始,它首先应用监督微调,然后通过 GRPO 进行 RLVR。每种模式的 RL 配置不同。特别是,每个专家使用自己的上下文窗口和长度惩罚,而 Think Max 还额外接收特殊系统指令。
然后,结合领域专家,不同的推理模式专家被蒸馏到一个支持所有三种努力模式的单一检查点中。
6.2 Nemotron 3 Ultra 将学习模式与硬预算结合
Nemotron 3 Ultra 技术报告描述了三种设置,称为推理关闭(reasoning-off)、常规(regular)和中等努力(medium-effort),这与上一节中 DeepSeek V4 的描述类似。与常规模式相比,中等努力模式是更便宜的推理模式。NVIDIA 在 SFT 阶段使用 GPT-OSS-120B 在中等努力模式下生成的示例引入了这种模式,然后在 RLVR 阶段进一步优化。约 2.5% 的 RLVR 提示使用中等努力模式(这对应于对其奖励应用的基于长度的调整)。
6.2.1 推理过程中使用 Nemotron 推理预算
在推理时,所有三种模式都通过聊天模板 选择。
图 27:通过聊天模板选择 Nemotron 3 Ultra 推理设置(示例来自官方模型卡)
1) 常规模式是默认模式,使用 enable_thinking=True,这会以一个起始 </think> 标签开始助手的响应。
2) 中等努力模式将 enable_thinking=True 与 medium_effort=True 结合使用,后者设置还会将 {reasoning effort: efficient} 附加到最新用户消息中。
顺便说一下,为了进一步增加复杂性,常规模式和中等努力模式还可以与推理时的独立推理预算相结合。该预算充当外部停止机制。在发布的实现中,聊天客户端要求模型在接近选定的令牌限制时结束推理轨迹。如果模型尚未发出 <think>,客户端将关闭推理块并继续生成以产生最终答案。学习努力模式决定了模型如何使用其推理令牌,而预算则限制了推理轨迹可以持续的时间长度。这使得可以根据所需的成本和准确性,将任一模式与更紧或更松的预算配对。
3) 推理关闭模式使用 enable_thinking=False,这会预填充一个空的 <think>-</think> 块(类似于第4节讨论的Qwen3),使模型直接进入最终响应。因此,这些是聊天模板控制而非系统提示。
6.2.2 Nemotron 中的推理预算感知训练
上述推理控制由两个相关的SFT组件支持。第一个使用GPT-OSS-120B轨迹引入中等努力行为,如前所述。第二个为模型准备硬推理预算。
为构建此训练数据,作者采用常规推理轨迹,在随机选择的令牌预算处截断它们,并保留原始最终答案。插入的 <think> 令牌从SFT损失中被屏蔽。因此,模型会看到示例,其中它必须从不完整的推理轨迹转移到推理块外部关闭后答案。
中等努力训练随后在RLVR期间继续进行。在数学、STEM和编码任务中,约2.5%的RL提示使用中等努力设置。报告指出,该模式可以通过奖励超参数进行校准,其中基于长度的奖励调整可提供对成本-质量权衡的额外控制。
图28:Nemotron 3 Ultra 引入中等努力,使用教师生成的SFT数据、随机预算截断,并在RLVR期间使用小规模中等努力子集。
6.3 Kimi K2.5 交替使用预算和无约束RL
Kimi K2.5技术报告讨论了一种称为Token Efficient RL的训练方法,以降低推理努力。(尽管本周有K3的公告,但K3的推理努力方法尚未公开披露,但可能与K2.5类似或相关。)
6.3.1 Kimi的Toggle方法
报告指出,固定令牌预算可能导致推理模型过度拟合到简短的解决方案。这意味着模型变得更加简洁(即更快、更便宜),但它可能失去利用额外推理时间计算的能力,从而表现不佳。
图29:所提出的Toggle方法使Kimi K2.5在保持整体基准性能相似的同时,显著提高了令牌效率。注释图来自 https://arxiv.org/abs/2602.02276
Kimi K2.5的方法称为Toggle,每固定数量的训练迭代交替进行两个RL阶段:
- 在预算阶段,鼓励正确解决方案保持在特定问题的令牌预算内。
- 在无约束阶段,恢复通常的最大生成长度,使模型仍能从更长的解决方案中学习。
对于每个问题,预算估计来自RLVR中正确执行轨迹的响应长度所选百分位数。只有当该问题的平均准确率超过阈值时,预算约束才会被激活。这避免了在模型能够可靠解决问题之前强制其缩短推理过程。
图30:Toggle方法的两个阶段概述。
报告在K2 Thinking上评估Toggle,发现它在基准性能变化很小的情况下,将生成的token数量减少了约25%到30%。这种效果也从数学和编程的强化学习任务转移到了GPQA和MMLU-Pro。
Toggle为训练更高效的token使用推理策略提供了具体的旗舰模型方案,同时保持其在测试时的扩展能力。
6.3.2 Toggle在推理阶段的改变
Toggle完全在强化学习训练期间运行。两个交替阶段更新的是同一个策略(即LLM),最终的(统一)检查点不再包含预算与无约束选择器。在推理阶段,生成的模型默认以思考模式运行。
有趣的是,我在检查的一些API(如vLLM或SGLang)中发现Kimi K2.5本身暴露了思考模式和即时模式之间的独立二进制选择。思考模式默认启用。即时模式通过思考过程禁用推理追踪:在官方API中为{"type": "disabled"},或在通过vLLM/SGLang部署模型时设置chat_template_kwargs={"thinking": False}。但这些设置与Toggle是独立的。
此外,官方Kimi报告并未为即时模式提供单独的训练方案。然而,K2.5的SFT数据是使用早期的K2模型(生成直接响应而无需长推理)和K2 Thinking(生成扩展推理追踪)共同生成的。这很可能使统一检查点接触到两种响应格式,类似于上文Nemotron 3的做法。在推理时,聊天模板通过预填充思考模式的开放<|thinking|>标签或即时模式的空<|thinking|>块来在两者之间进行选择。但遗憾的是,报告并未披露具体的数据混合比例,也未说明是否使用了额外的模式特定强化学习。
更新的Kimi K3提供了更直接的推理时努力接口。当前Kimi Code文档列出了三个称为low、high和max的设置,其中max为默认值。这些参数通过reasoning_effort参数传递。然而,Moonshot尚未解释这三个努力级别在训练期间是如何创建的。其发布声明称这些细节将在未来的K3技术报告中披露,因此我将持续关注后续进展。
6.4 GLM-5通过SFT引入对话轮次级和交错推理
GLM-5技术报告扩展了GLM-4.5引入的二进制开关(开启/关闭推理),将其应用到多轮对话和工具使用场景。它描述了三种相关行为(而非三个努力级别):
- 交错推理:在每次响应和工具调用前插入推理块。
- 保留推理:对话在轮次间保留早期推理块,使模型能够后续复用。
- 轮次级推理:为对话中的每个请求独立启用或禁用推理。
推理时,回合级思考是实际的开关机制。在 Z.ai API 中,思考功能默认是启用的,可以通过 thinking: {”type”: “disabled”} 为单个请求禁用。托管实现未公开,但开源的 GLM-5 对话模板展示了使用 Transformers、vLLM 或 SGLang 自托管时的等效机制。
当启用思考时,助手响应以 <|assistant|><think> 开始;禁用时则以 `<|assistant|>
7. 结论
本文中提到的开源权重示例通过多种不同机制实现推理努力。类似的标签可以由独立专家、混合的SFT数据、基于模式的奖励、硬性token预算或这些方法的组合来支撑。
很难说哪种方法最优。这些模型在基础检查点、训练数据、后训练计算资源、基准测试和部署目标上存在差异。它们的报告也省略了许多进行受控比较所需的细节。(此外,可能并不存在放之四海而皆准的方法,一种对交互式助手效果良好的方法可能并不适合长期运行的代码代理。)
当然,理想的终极目标是实现自动化的努力选择。我们曾在GPT 5的Auto模式中见过这种设计。这是一个棘手的问题,最终实现可能更多是失败多于成功,这也是为什么该功能从用户界面中被移除(至少,我再也找不到这个选项了)。
在可预见的未来,我认为推理努力仍将是显式的模型输入,通常通过系统提示来传递。不过,围绕LLM的代理封装器/适配器或内部路由器可能会越来越多地根据任务状态和可用资源自动推断合适的模式和预算(当然,仍然允许用户覆盖设置)。
我仍然希望努力选择能变得更加自动化。类似于GPT 5的自动模式,一个低成本的模型或路由器可以从请求、工具状态、剩余时间和token预算中选择模式,同时仍然允许用户覆盖设置。当需要优化延迟或成本,或追求最大性能时,这种覆盖功能非常有用。
我意识到这是一篇篇幅较长的文章,可能也不是最引人注目的主题。但考虑到关于LLM、推理模型和代理的大量讨论,我认为对推理模型的分析是一个此前未被充分探讨的领域,希望这篇概述能提供一些独特且有用的见解!
进一步资源
如果你想动手实现推理模型的核心训练方法,我的《从零构建推理模型》一书逐步讲解了可验证奖励的强化学习和推理时扩展技术,包含完整代码。
本文重点介绍了训练好的推理模型如何支持不同的努力模式。而这本书则退后一步,展示如何将传统LLM转变为推理模型。它是《从零构建大型语言模型》的续集,从该书结束的地方开始。
纸质版现已开始发货
《从零构建推理模型》 [ Manning ] [ Amazon ]
如果你喜欢我之前的《从零构建大型语言模型》一书,这本书本质上是其续集,从零实现推理时扩展技术和强化学习算法。
如果你希望支持未来类似这样的长篇技术文章,不妨成为付费订阅者。这将帮助我持续撰写这些独立深入分析,并分享配套的代码、图表和实验。