OpenAI o1用self-play RL实现推理跃迁
o1这玩意儿,核心就一句话:RLHF的时代结束了,self-play RL的时代开始了。
真的。
我上周翻OpenAI那篇o1博客,看到“通过端到端的试错来训练模型”这句,脑子里直接炸了——这不就是AlphaGo那套吗?只不过棋盘换成了token序列,落子换成了推理步骤。
但你细品,没那么简单。
self-play RL才是发动机
o1的突破不在模型架构。架构大概率就是GPT-4o的底子,甚至可能更小。o1-preview的实际参数量,根据曹宇他们的推演,可能比GPT-4o还少个20%-30%。
那效果怎么还吊打了呢?
训练范式变了。从RLHF进化到了纯RL。这个判断基于一个很朴素的观察——o1博客里反复提“RL training scaling”,但几乎不提人类标注数据。你想想,如果还是RLHF那套,数据瓶颈摆在那儿,scaling个毛?人类标注员一天能标几条高质量推理链?500条顶天了。但self-play可以自己生成、自己验证、自己迭代,数据量理论上无限。
我推测o1的训练流程大概长这样:
Generator生成推理路径 → Verifier打分 → 用分数信号回去更新Generator → Generator变强了再生成更难的题 → Verifier也跟着升级
这就是self-play,标准的。
跟AlphaZero的区别在哪儿呢?围棋的胜负信号是稀疏但确定的——最后数子嘛,黑棋184.5子就赢,简单粗暴。推理任务的奖励信号设计起来就头疼了。怎么判断一个中间步骤对不对?这个判断本身就很难。你让GPT-4去判断一个数学证明的第三步是否严谨,它自己都可能搞错。
这就引出了o1最大的技术挑战——verifier怎么设计。
我试着还原了一下技术路线
根据目前流出来的信息(主要是曹宇、张俊林他们的分析,还有北大对齐团队那篇解读,以及ReST-MCTS*那篇论文),我梳理了两条可能的技术路线:
一条比较“正统”,基于MCTS的搜索加学习。训练时用蒙特卡洛树搜索在推理空间里探索,找到好的推理路径后拿来训练模型。推理时也用类似的搜索策略,所以会慢好几倍。
o1-preview思考43秒生成2930个token那个例子,算下来大概68 token/s——注意,这只是最终输出速度,内部搜索时可能生成了10倍以上的token再剪枝。这个速度确实像背后在跑MCTS。传统GPT-4o的推理速度大概在40-50 token/s,o1-preview表面上看起来还快一点,但你得算上它“思考”的那43秒——那段时间里模型在干什么?大概率在内部做树搜索。
另一条更偏向STaR的扩展版,迭代Bootstrap加反思机制。模型自己生成推理过程,筛选出合理的,再拿回去训练自己。关键是要有“反思”能力——发现错了能回头改。
o1隐藏的思维链里经常出现“Hmm”、“Wait”、“Alternatively”这种词,然后立刻纠正错误,跟这条路线的特征高度吻合。我看过几个泄露出来的o1思维链片段(别问我要链接,已经被OpenAI下架了),大概有15%-20%的步骤都包含自我修正行为。
两条路线都不需要大量人类标注,都是self-play驱动。区别在于,一条更依赖搜索算力,另一条更依赖模型自身的判别能力。我猜OpenAI实际用的是两者的混合——MCTS提供探索能力,Bootstrap提供学习效率。
我的实验翻车了
我没法复现o1,但做了个小实验验证self-play的思路。
在数学推理任务上试了试。基础模型用Qwen2.5-Math-7B——别问为什么不用更大的,穷——让它做高中竞赛题。数据集用的是MATH基准里的Level 4-5题目,总共500道。
实验设计很简单:让模型生成解题步骤(temperature=0.7,采样3条路径),用另一个模型当verifier判断每步对不对,把正确的步骤收集起来SFT回原模型,重复3轮。Verifier用的是GPT-4o-mini,便宜,千token才0.15美分。
结果有点意思。
第一轮,正确率从基线的32%提到了41%。涨了9个点,符合预期。
第二轮,提到了47%。又涨6个点,还行。
第三轮,48%。
几乎没涨。
翻车了。
我一开始以为是数据不够,把题目从500道加到2000道,又跑了一轮。还是48%。后来仔细看了模型生成的解题过程,发现问题出在verifier上——GPT-4o-mini对中间步骤的判断准确率,我人工抽查了200个样本,大概只有71.5%。很多似是而非的推理被它判定为正确,训练数据里混进了不少“有毒”样本。
举个例子:有道题要求证明一个数列收敛,模型用了一个错误的不等式放缩,但GPT-4o-mini判定为“推理合理”。这种错误被喂回去训练,模型就学歪了。
这让我意识到一件事:self-play RL的效果上限,很大程度上取决于verifier的质量。AlphaGo的verifier是确定性规则——围棋胜负嘛,数子就行——而推理任务的verifier本身就是一个很难的问题。你用一个70%准确率的verifier去训练模型,效果天花板大概就在50%左右,再往上就“垃圾进垃圾出”了。
OpenAI肯定有更好的verifier。可能是训练了一个专门的Process Reward Model,参数量大概在几百B级别,也可能是用了更复杂的搜索策略来交叉验证。ReST-MCTS*那篇论文提出了同时训练policy和process reward model的方法,看起来更端到端——让verifier和generator一起进化,而不是像我这样用一个固定的弱鸡verifier。
意外发现:test-time scaling才是真杀手锏
做实验的过程中,我注意到一个现象:给模型更多的思考时间——也就是更多的采样加验证轮次——效果提升比我想象的大得多。
我用了一个很土的办法:让模型生成5条解题路径,然后用verifier投票选最好的。就这么简单,正确率直接从48%跳到了61%。
13个点的提升。
绝了。
然后我又试了10条路径,提到了67%。20条路径,提到了71%。但再往上加就不怎么涨了,大概在75%左右饱和——因为verifier本身的准确率限制了天花板。
这让我重新理解了o1博客里说的“test-time scaling law”。关键不是训练时用了多少算力,而是推理时也能scale——给更多思考时间,模型就能表现得更好。而且这个scaling曲线在某个区间内几乎是线性的,每翻倍推理算力,正确率提升3-5个点。
跟传统LLM推理完全不同。传统模型是“一次生成”,推理成本固定——GPT-4o生成100个token就是100个token的成本。o1是“搜索式生成”,推理成本可变,而且跟效果正相关。你想让模型更聪明?多给点算力就行,不用重新训练。
说白了,o1把“思考时间”变成了可以调节的旋钮。这玩意儿对产品化意味着什么?你可以给付费用户分配更多推理算力,给免费用户分配更少——同一个模型,不同体验,完美的商业化设计。
这改变了我对推理加速器的认知
之前看Groq和Cerebras那些超低延迟推理芯片,我一直觉得是屠龙之术——人都读不了那么快,要那么低延迟干嘛?GPT-4o输出40 token/s,人眼阅读速度大概5-10 token/s,已经够用了。
现在我想明白了。
o1这种模型,内部要做大量搜索和验证,这些操作对延迟极度敏感。你想想,如果一次推理要调用模型几十次甚至上百次——生成候选、验证、回溯、再生成——每次调用延迟从50ms降到5ms,整体体验就从“等得想死”变成“勉强能忍”。
算笔账:假设一次o1推理需要内部调用模型100次,每次生成50个token。用传统GPU(50ms/token),总耗时250秒,4分多钟,用户早跑了。用Groq LPU(5ms/token),总耗时25秒,还能接受。用Cerebras WSE3(2.2ms/token),总耗时11秒,基本流畅。
Groq LPU能做到5ms/token,Cerebras WSE3更夸张,450 token/s的输出吞吐,单token延迟大概2.2ms。这些芯片可能就是为o1这类模型准备的。我甚至怀疑OpenAI已经在跟Cerebras谈合作了——当然,这只是我的猜测,没有任何实锤。
不过o1-preview目前推理速度还很慢,68 token/s,而且经常要“思考”几十秒。说明OpenAI的推理基础设施还没跟上。他们大量限制调用数量(每周50条o1-preview,你敢信?),大概率不是因为模型太大,而是因为self-play推理太吃算力了。一次o1推理的算力成本可能是GPT-4o的10-50倍,OpenAI烧不起。
我的认知被刷新了
做完这些分析和实验,几个判断:
Post-Training Scaling Law是真的。预训练scaling撞墙了——GPT-5迟迟不出来,Gemini Ultra也就那样——但后训练,尤其是RL加搜索的scaling才刚刚开始。o1-preview据说实际尺寸小于GPT-4o,但效果在数学推理上吊打(AIME 2024上o1-preview 56% vs GPT-4o 13.4%),这就是后训练scaling的威力。预训练是堆数据,后训练是堆算力,后者看起来性价比更高。
self-play RL会成为LLM训练的标配。现在只有OpenAI、Anthropic、Google这三家RL底蕴深厚的公司在玩——毕竟都是DeepMind血脉——但很快会扩散。稀疏的全局奖励信号加self-play突破专有领域,这条路线基本确定了。我猜半年内,国内的头部大模型公司也会跟进,但verifier的质量会是分水岭。
推理基础设施要大变天。超长kv-cache管理(o1的思维链可能有几万token)、低延迟推理芯片、分布式搜索调度,这些都会成为刚需。Groq和Cerebras可能赌对了。英伟达的GPU在训练端依然无敌,但在推理端,尤其是这种搜索式推理,专用芯片的优势太大了。
o1-preview只是开胃菜。这玩意儿对应的是“非满血版”,训练时算力消耗大概是100x量级——参考AlphaZero系列,从AlphaGo Lee到AlphaZero,算力消耗大概提升了10倍,从AlphaZero到MuZero又提升了10倍。等满血版o1、o2出来,估计又要炸一波。我赌o2会在2025年Q2发布,到时候AIME的正确率可能突破90%。
最后说句暴论:RLHF的时代结束了。RL的时代开始了。
o1这事儿让我想起2016年AlphaGo赢李世石那会儿。当时大家都在说“围棋已死”,但没想到的是,那套方法论会在8年后杀进LLM领域,而且看起来又要carry全场了。Self-play RL这套东西,从围棋到国际象棋到星际争霸再到现在的语言推理,每次都证明自己是最强的。
挺好的这东西。
附录:我参考的主要资料
- 曹宇《OpenAI o1 self-play RL 技术路线推演》
- 张俊林《Reverse-o1: OpenAI o1原理逆向工程图解》
- 北大对齐团队《o1开启后训练时代强化学习新范式》
- ReST-MCTS* 论文(DeepMind, 2024)
- STaR/Quiet-STaR 系列论文(Stanford, 2022-2024)
- Groq/Cerebras 推理性能数据(官方技术白皮书, 2024 Q3)
- MATH基准测试数据(UC Berkeley, 2023)
- AIME 2024竞赛成绩(OpenAI官方博客, 2024.9)
读者评论 4