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

三个组件配合,在暗箱里自我纠错

翻出张俊林那篇Reverse-o1文章的时候,是凌晨两点半。

三个组件配合,在暗箱里自我纠错

三个组件配合,在暗箱里自我纠错


翻出张俊林那篇Reverse-o1文章的时候,是凌晨两点半。

o3-mini刚发布,我盯着屏幕突然想起来——去年9月o1出来那会儿,我正被一个代码生成项目折磨得死去活来。GPT-4o生成200行代码,第30行变量名写错了,后面170行硬着头皮往下编,最后给你整出一堆莫名其妙的bug。你让它改,它又从头生成一遍。

还是可能出错。

这就是典型的“落Token无悔”。张俊林说得特别形象——LLM得用100个错误来掩盖前面的第一个错误。为了逻辑自洽,只能将错就错。大模型幻觉的根儿也在这儿。

o1解决的就是这个。

它搞了个Hidden COT,隐式思维链。让模型在输出最终答案之前,先在“暗箱”里自己推理、验证、纠错。用户看不到这个过程,只看到最后整理好的结果。你想想,这跟人类解题多像——草稿纸上算了半天,最后誊到答题卡上的只是干净的步骤。

讲真,这让我想起卡尼曼的《思考,快与慢》。系统1是快思考,直觉反应;系统2是慢思考,需要一步步推理。GPT-4o更像系统1,o1则是系统2。OpenAI自己也强调o1用的是“强化学习生成Hidden COT”,但除了这句话,技术细节基本没透露。

比Sora还抠门。Sora好歹给了个粗略框架图。

那张俊林是怎么逆向的?他主要参考了AlphaZero的做法,试图把LLM和RL融合起来。我看完他的推导,有几个点挺有意思:

o1大概不是单个模型。 他推测o1由三部分构成:一个主模型、一个摘要模型、还有一类可以灵活配置数量的跟树搜索相关的模型池子。三个东西配合着干活。

RL的状态空间和行为空间怎么定义? 这可能是最关键的问题。张俊林认为状态空间是“当前已生成的思维链内容”,行为空间则是“下一步要生成的推理步骤”。Reward Model用来判断每一步推理的质量。

关于Reward Model,我后来又看了另一篇文章,讲PRM的三种打分方式:

OpenAI在《Let's Verify Step by Step》里试过prod和min,DeepMind则用了last step。没有绝对的好坏,看你怎么设计训练过程。

绝了。

不过这里有个问题我一直没想通——如果PRM要逐步骤打分,训练数据从哪来?

数学题是最合适的。一道数学题通常有详细题解,每一步推理都是明确的,最终结果也是固定的。你可以用这些数据训练模型做单步推理,也可以在任何步骤截断,让模型学习下一步。错误的推理步骤还能用来构建纠错数据。

代码领域就复杂多了。Leetcode算法题有题解和确定的验证方法,但题解的形式跟模型思考的过程差距挺大。有人提出从题解反向生成思考步骤——这个方案,不对,应该叫策略——还需要验证每一步的正确性,我暂时没想明白怎么搞。

大概是需要更细粒度的验证机制吧。

o1的效果确实猛。IMO资格考试,o1得分83%,GPT-4o只有13%。GPQA-diamond测试,评估化学、物理、生物专业知识,o1是第一个表现胜过人类专家的模型。编程竞赛89%的百分位。

但真正让我兴奋的不是这些数字。

是o1给大模型带来了自我反思和错误修正能力。这个价值怎么强调都不过分。以前的模型生成错了就错了,现在它能在内部重新审视、推翻重来。

不过也别高兴太早。

有人提了个尖锐的问题:大模型Self-play能否通过自我博弈持续提升?“持续”是关键。如果提升会快速收敛,那o1可能只是把上限从“接近人类平均水平”往上提了一截,但不会无限增长。强化学习本身的可扩展性是不错的,但各个环节的输入是否可扩展,这是个问号。

说到Self-play,o1在推理阶段还用了类似MCTS的方法,蒙特卡洛树搜索。就是同时探索多条推理路径,用PRM打分,选择最优的继续往下走。Beam Search或者Best-of-N,看问题难度选。

问题较难时用Beam Search,简单时用Best-of-N。

有意思的是,当PRM训练得足够好时,更复杂的搜索方法表现可能反而不好。比如lookahead search。而当问题特别困难时,test-time scaling law的作用也有限,可能得回到pretrain阶段,加数据、扩模型规模。

这就引出了一个新的Scaling Law——Inference Time Scaling。以前我们只关注训练阶段的Scaling,更多参数、更多数据,现在推理阶段的计算量也能Scale了。o1通过调整搜索深度和广度,在推理时动态分配算力。

o3-mini在2025年1月31日发布时,甚至提供了低、中、高三个推理级别,用户可以自己选。低级别快但粗糙,高级别慢但精准。

这让我想起一个实操细节。上周三下午,我用o1-mini跑了一个复杂的SQL优化任务,大概有7层嵌套子查询。o1-mini“思考”了大概45秒,然后给出了一个完全重写的查询,执行时间从原来的23秒降到了0.8秒。它在思考过程中——虽然我看不到具体内容——应该是拆解了查询逻辑,发现了索引失效的问题,然后重新设计了JOIN顺序。

翻车了。

但同样的任务,有一次它“思考”了快两分钟,最后给出的方案反而更差。我怀疑是搜索空间太大,PRM打分出现了偏差,把一条本来不错的路径给剪掉了。

所以o1也不是万能的。

最后聊两句DeepSeek。他们从V1到V2的演进其实也在走类似路线,只是没有像OpenAI那样大张旗鼓地宣传“推理能力”。V2用了MoE架构,在推理效率上做了很多优化。我猜测他们内部也在搞类似Hidden COT的东西,只是没有产品化。

毕竟这玩意儿太烧算力了。

o1-pro在2025年3月20日发布时,价格贵得离谱。我还没测过,但看了一些评测,在极端复杂的推理任务上确实比o1强一截。至于值不值那个价,得看你的应用场景。

如果是医疗诊断、药物研发、高精度代码生成这类容错率极低的场景,多花点钱买个安心是值得的。如果是写个周报、总结个会议纪要,用GPT-4o就够了。

真的。

好用是好用,就是贵了点。这玩意儿快得像开了挂,但开挂的成本——你品,你细品。大模型学会了自己跟自己下棋,但棋盘上的每一步,烧的都是真金白银。咋整?

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

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

赵一鸣

产品评测编辑

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

读者评论 5

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