通俗版
"退回去"到底是什么意思
普通模型(GPT-4/Claude 3.5)生成文字就像用钢笔直接写——每写一个字就是最终答案,第一步判断错了,后面只能沿着错误方向走下去。
深度思考模型(o1/R1)的做法是:先打草稿,草稿可以随时撕掉重来。在给你最终答案之前,模型会生成一大段"内部独白"(通常是 <think> 标签里的内容)。在里面尝试一条推理路径,算到一半发现不对,就说"等等,这样不行",退回去从另一个角度试。
这和代码里的回溯搜索很像:
func solve(_ state: State) -> State? {
if isSolution(state) { return state }
for nextState in generateCandidates(state) {
if isPromising(nextState) {
if let result = solve(nextState) { return result }
}
}
return nil // 这条路走不通,回溯
}
区别在于:代码里的回溯有明确状态和分支;推理模型的内部过程通常不会完整公开。外部 test-time scaling 可以生成多条候选,再用规则、测试、投票或学习到的评分器筛选;模型内部也可能学会延长推理、检查和修正。下面的"多路径 + 评估器"只是一种帮助理解算力与质量关系的教学模型,不代表所有 o1/R1 类模型都在推理时运行同一棵搜索树。
为什么烧更多算力能让答案更准确
对于一道可验证的数学或代码题,增加推理 token、生成更多候选并做验证,通常能扩大搜索覆盖,但收益取决于候选是否真正多样、验证器是否可靠,以及额外计算有没有用在正确位置。
关键在于你得有办法判断哪条路径更可信。这个信号可以来自测试、规则、投票、结果验证器或 Reward Model;它们都可能犯错,所以"采样更多"不自动等于"答案更准"。
所以深度思考模型是拿算力换准确率——多试几条路径,选好的那条。层数固定的模型深度是死的,用推理长度换推理深度。业界给这个思路起了个名字叫 Test-Time Compute——过去几年 Scaling Law 都在讲"训练时堆算力"(Train-time),o1/R1 之后大家发现"推理时堆算力"也能持续换到质量提升,是一次范式转移。
常见误区:CoT ≠ o1 的深度思考
在 prompt 里写"请一步一步思考"(Chain-of-Thought,CoT)和 o1 的深度思考不是一回事。前者是你手动提示模型,任何模型都能用,但模型自身没有学会"如果走错了怎么退回来"。o1 是通过强化学习,把"会思考、会试错、会退回重来"这个能力直接训练进了模型权重里,不需要你写任何 prompt。
用客户端术语:CoT 像是"用户手动写自动化脚本",o1 像是"App 内置自动化引擎"。
什么问题适合深度思考,什么不适合
适合的:数学题、代码逻辑推理、逻辑谜题、复杂多步骤规划——尤其是有测试、规则或可验证结果的任务。
不适合的:写文案、写故事、翻译、简单信息查询、对延迟敏感的场景——深度思考模型的首字延迟很长,thinking 过程可能生成几千到几万个 token。
进阶版
Reward Model 是怎么训练的
标注员看同一个问题的两个不同回答(Answer A 和 Answer B),选更好的那个。重复这个过程几十万到上百万次,得到大量(问题、好答案、差答案)三元组,用来训练一个分类模型——预测"给定问题和回答,人类会觉得这个回答有多好",输出一个分数。
RLHF 的完整训练流程
- 预训练:海量文本做下一词预测,学到语言知识和世界知识。模型只知道"续写文本"
- SFT(有监督微调):用人工精心写好的对话数据("用户问X,助手应该回答Y")做微调,让模型从"续写文本"变成"回答问题"
- RM 训练:用人类偏好数据训练奖励模型(独立的小网络)
- PPO(近端策略优化):让主模型生成回答,Reward Model 打分,根据分数更新主模型参数。同时用 KL 散度约束,防止模型为了刷高分走极端
蒸馏和 Fine-tuning 的本质区别
普通 Fine-tuning 是:给模型看正确答案,让它拟合"这个问题的答案是 XXX"。
蒸馏是:用大模型(teacher)对每个问题生成一个概率分布(比如"答案是'苹果'的概率 0.7,'水果'的概率 0.2……"),让小模型(student)拟合这整个概率分布,而不只是拟合最高概率的那个词。
区别在于:概率分布里包含了 teacher 对所有可能答案的"置信度",苹果旁边的高概率"水果"暗示着 teacher 知道这两个词在语义上很近。这是一种知识传递,student 学到的是 teacher 的"思维方式",而不只是 teacher 的"答案"。
白盒蒸馏 vs 黑盒蒸馏
上面讲的是白盒蒸馏——student 能看到 teacher 的完整概率分布甚至中间层激活,学的信息最丰富。前提是你手里有 teacher 的权重。
黑盒蒸馏是另一种打法:teacher 只给最终文本回答(比如 GPT-4 的 API 输出),student 拿这些高质量问答对做监督微调。信息比白盒少(只有 top-1 答案,没有概率分布),但胜在不用 teacher 权重。开源社区早期蒸国外闭源模型基本走的这条,也因此引发过"用输出蒸馏是否合规"的争议。