前言
Reasoning Model,或者叫推理模型,大概是从OpenAI 的 o1-preview 模型[1](2024-09-12)开始广泛受到关注的。OpenAI 在博客中明确指出了这种模型与传统 LLM 的主要区别:
We’ve developed a new series of AI models designed tospend more time thinkingbefore they respond.
The o1 model series is trained withlarge-scale reinforcement learning to reason using chain-of-thought.
After training with the same high-compute reinforcement learning (RL) pipeline as o1, o1‑mini achieves comparable performance on many useful reasoning tasks, while being significantly more cost efficient.
随后,市场涌现了一批推理模型,例如热度颇高的 DeepSeek R1、Gemini 2.0 Flash Thinking、Gemini 2.5 Pro 以及 Claude 3.7 Sonnet Thinking 等。那么,它们和传统 LLM 到底有什么具体区别呢?
传统 LLM 与推理模型的使用方式
首先回想一下,我们通常如何使用传统的 LLM:
START用户原始问题LLM最终答案END
这是最简单的方式,直接输入问题,获得答案,不满意再继续交流。
后来出现了链式思考(Chain-of-Thought,CoT[2]),通过明确告诉模型中间的推理步骤,大幅提升了推理性能,再结合 few-shot 等 prompt 技术,让 LLM 使用体验提升了一个层次:
START用户原始问题CoTLLM思考过程最终答案END
甚至我们还可以加入一个“验证器”,让模型自己检查输出的正确性,例如运行代码看是否报错或效果达标,不正确则自我修正:
YNSTART用户原始问题CoTLLM思考过程初步答案答案正确吗?验证器最终答案END
然而,手动管理这些过程过于繁琐。那能否将这些推理过程内置到模型中呢?当然可以。推理模型便是通过在训练过程中引入链式思考和验证步骤,使其能够自主生成、执行并检查推理过程,从而诞生了:
Reasoning ModelYNSTART用户原始问题CoTLLM思考过程初步答案答案正确吗?验证器最终答案END
推理模型内部到底做了什么?
从训练角度看,推理模型实际上就是把 CoT 和验证环节内置到模型中,再通过大规模的强化学习进行训练。因此,推理模型的回答通常包含一长串“思考”过程(当然,它们并非真正的思考,而是模型生成的 token 序列)。
实际上,推理模型在训练中使用的链式思考往往比我们人工设计的更加复杂。具体来说,模型在推理时会:
- • 仔细分解复杂问题,逐步解决每个子问题。
- • 评估自己的部分解决方案,定位错误并纠正。
- • 探索并比较多个可能的替代方案。
然而,这些思考过程与普通 token 的生成机制本质上并无区别。
同时,由模型生成的推理过程往往不便于人类阅读,这在 DeepSeek R1 的论文中有所提及。也正因此,OpenAI 的 o 系列模型选择不展示完整的思考过程,而是提供摘要,以改善使用体验。
思考过程越长,模型准确性越高?
一般而言,是的。DeepSeek R1 的论文指出,模型倾向于对复杂问题使用更长的思考过程,而且这一过程是模型自行发展出来的,不是规则写的:
然而最近发表的一篇论文《Concise Reasoning via Reinforcement Learning》[3]却提出了不同的观点:
- • RL 模型偏爱长输出只是优化目标的副作用。当奖励信号较弱或为负时,模型倾向于生成更长的答案来试图减少损失,而不是因为长答案本身更有效。
- • 实际上,短答案往往更准确。统计分析表明,正确答案的平均长度明显短于错误答案。换句话说,模型正确回答时倾向简洁,错误回答时更可能冗长。
- • 长输出更易进入“死胡同”(deadend)。更多的 token 意味着更高的概率走入错误且难以纠正的推理路径。
因此,推理过程变长并不一定意味着模型变聪明了,这种现象更像是一种刻意设计的结果。
思考长度可控且收费
值得一提的是,OpenAI 的 reasoning model 提供了思考长度可调节的机制,用户可选择 low、medium(默认)或 high 三种reasoning effort[4]:
the
reasoning_effort
parameter is used to give the model guidance on how many reasoning tokens it should generate before creating a response to the prompt.
这些推理产生的 token 被称为 reasoning token,并且是收费的。
- • Reasoning token 以 output token 价格计费,都属于 completion token。
- • 在多轮对话中,reasoning token 不会放入下一轮的 input 中,但是是要计入 context window 的:
总之,推理模型在能力提升的同时,也引入了更多的复杂性和成本考量,因此在使用时需要明确自己的实际需求与预算约束。我个人觉得在大部分企业生产场景下(需要大规模调用的)是用不到推理模型的。