1. 直播训练这件事,最值钱的不是模型,是那本公开的账
先说结论:我觉得罗福莉直播小米 MiMo-V2.6 强化学习这件事,技术上最大的看点不是又跑通了一个版本,而是她把一小时 3 万美元的账本,连同训练过程中的各种不稳定,一起挂到了网上。
在这个行业里,大家平时看到的都是“我们取得了多少提升”“我们的模型在某某榜单上排第几”,几乎没有人愿意把训练成本拆开给你看,更没有人愿意把强化学习训练中那些令人血压飙升的振荡曲线、策略崩溃、奖励爆炸的过程原封不动地贴出来。因为这太丑了,一点都不“SOTA”。
但真实的世界就是这样:托大模型训练的福,预训练阶段的稳定性已经被工程化解决得七七八八了,真正让人夜不能寐的阶段就是强化学习。MiMo-V2.6 选在这个节点做强化学习的公开直播,等于把整个行业最不愿意示人的那一面,用最直接的方式摊开了。
这篇文章我就从三个维度来拆:第一,一小时 3 万美元到底花在哪里,这个账本怎么读才有意义;第二,MiMo-V2.6 这个版本做强化学习,解决的究竟是哪一类问题;第三,训练过程中的“不稳定”具体长什么样,遇到它们时真实团队会怎么处理。
如果你是做大模型训练、强化学习算法或者 AI Infra 的工程师/研究员,这篇内容应该能让你少踩几个坑。如果你是普通的技术爱好者,我也尽量把门道讲得清楚一点——毕竟看热闹也要会看门道。
2. 一小时 3 万美元的账本是怎么拆出来的
账本这东西,外行看个总价,内行得看单价和构成。一小时 3 万美元听起来吓人,但拆开来看其实是可以算清楚的。
2.1 算力成本占了大头,但占比没那么绝对
强化学习训练和预训练最大的区别在于:预训练是“读数据”,强化学习是“做实验”。所谓“做实验”,就是策略模型要不断和环境交互、产生新数据、然后用这些数据更新模型。这个过程意味着,同一份计算资源,不仅要跑模型的前向推理,还要跑策略更新,有时候还要跑奖励模型、价值模型,整套链路比预训练重得多。
以目前主流的多模态模型为例,一个 70B 级别的模型做一次完整的前向推理,在 8 卡 H800 的节点上大概要跑几百毫秒。如果采样批次足够大——比如一次 rollout 要生成几百万 token——那一轮强化学习迭代就需要成百上千次前向推理。再加上反向传播、奖励计算、KL 控制等逻辑,每一步的算力需求都相当可观。
我们按 3 万美元/小时反推一下账目的大致构成:
| 成本项 | 占比估算 | 具体说明 |
|---|---|---|
| GPU 算力(主集群) | 约 60% | 策略模型 rollout + 更新,占绝对大头 |
| 辅助算力(奖励模型、Critic、数据处理) | 约 15% | 跑 Reward Model 推理、对采样数据进行过滤和去重 |
| 数据标注与人工评估 | 约 10% | 强化学习阶段仍然需要人工评测子集来监控质量 |
| 工程与监控人力 | 约 10% | 值班工程师、算法工程师盯训练状态,随时准备干预 |
| 存储与网络 | 约 5% | 日志、checkpoint、数据中转传输 |
如果再细抠 GPU 成本:现在 H800 的时租大约在 2.5~4 美元/卡时,取中位数 3 美元计算,一小时 3 万美元大约对应8000~10000 卡时,也就是大约 1 个 8 卡节点跑满 1000 小时,或者 100 个节点跑满 10 小时这种量级。对于强化学习训练来说,这个资源规模并不夸张,反而是非常典型的配置。
2.2 账本里最容易被忽略的是“无效时间”
实话说,单纯算“有效训练时间”的话,一小时 3 万美元没那么难接受。真正让账本难看的是那些“无效时间”——模型不收敛、奖励在某个区间疯狂震荡、策略崩溃、rollout 进程异常退出,以及一切让 GPU 空转或者重复劳动的情况。
我见过不少团队,对外声称某次强化学习训练“跑了三周”,实际有效产出可能只有十几天。剩下的时间都在试错、调试、回滚、换 reward 设计、调超参数。真正懂训练的人看到一小时 3 万美元这个数字,第一反应大概率不是“真贵”,而是“这已经算控制得很好了”。
提示:判断一次强化学习训练的真实成本,不能只盯着 GPU 账单。要算上无效时间、人工盯盘的精力、以及 checkpoint 反复回滚带来的重复算力消耗。网上很多“千亿模型训练成本”的估算都只算了账面算力,严重低估了真实开销。
所以,罗福莉把一个小时的完整账本公开出来,某种意义上比晒一张“我们花了多少钱训出什么模型”的总结更有信息量——因为你能看到一个真实训练时刻的全部开销构成,而不是事后美化过的平均数。
3. MiMo-V2.6 做强化学习,到底是在解决什么问题
很多人一听到“强化学习”就自动联想到 AlphaGo、机器人控制这些学科经典场景。但大模型语境下的强化学习,目标函数和玩法完全是另一码事。MiMo-V2.6 这种模型迭代版本,用强化学习不是为了“学会下棋”,而是为了把模型的推理能力和对齐质量推到一个新的台阶。
3.1 版本号背后的任务切换:从 SFT 到 RL
V2.6 这个版本号说明模型已经过了大规模预训练和 SFT 阶段,需要靠强化学习来做最后的“精细化打磨”。这个阶段的主要任务有三个:
第一,推理链优化。强化学习可以通过奖励模型对 CoT(思维链)质量进行优化,让模型在数学、代码、逻辑推理等任务上学会“多想几步再作答”。这个过程不是知识注入,而是让模型学会更有效的思维组织方式。
第二,行为对齐与输出偏好。通过人类偏好数据训练奖励模型,再用 PPO/GRPO 这类算法做策略优化,让模型输出的风格、安全性、结构化程度更贴合发布要求。这个环节和 SFT 最大的不同在于:SFT 只是告诉模型“什么是好的回答”,强化学习则让模型在探索过程中真正建立对“好坏回答”的泛化判断。
第三,探索未知的指令空间。SFT 样本都是人写的,覆盖不了所有用户请求。强化学习允许模型在采样过程中自我探索,遇到没见过的 prompt 也能学会给出合理回应。这个能力在长尾场景中特别值钱。
3.2 为什么 V2.6 这个阶段特别适合公开直播
版本迭代到 V2.x 的后期,模型的骨干结构已经稳定,SFT 数据也清洗完毕,剩下的就是强化学习策略的持续调优。这个阶段的训练状态对最终发布质量影响极大——奖励模型是不是准的、策略更新的幅度是不是合适、探索和利用的平衡点在哪里,每一个环节都直接决定模型是“再上一个台阶”还是“原地打转”。
MiMo-V2.6 选在这个节点做直播,还有一个现实原因:这个阶段的训练动态足够有观赏性,也足够有教学价值。
预训练阶段的 loss 曲线变化缓慢,直播三个小时可能只看到一条平滑的下降线,观感很差。而强化学习阶段的各项指标非常“活跃”——奖励值忽高忽低、KL 散度不断变化、生成样本的多样性肉眼可见,观众能直观感受到训练在推进,也能清晰地看到训练“生病”时的各种症状。
从技术视角看,V2.6 做强化学习大概率采用了类似 GRPO 或经过工程改造的 PPO 变体——这类算法在中等规模模型上性价比高,不需要单独维护庞大的 Critic 模型,靠着组内相对奖励就能完成策略更新。这类算法的特点就是训练波动大、对超参数敏感,公开直播相当于把自家算法的“脾气”也暴露了出去。这一点,敢做的人不多。
4. 训练过程中的“不稳定”:它不是事故,是日常
直播中出现的“不稳定”,如果你习惯了预训练的“岁月静好”,第一次接触强化学习训练时绝对会被吓到。这里的不稳定不是偶发的 bug,而是这个训练范式自带的常态。
4.1 最常见的三种不稳定形态
我在实际训练中总结过三类高频不稳定现象,直播中大概率也被观众看到了:
奖励振荡:奖励均值在一个区间内上下乱跳,没有明显的收敛趋势。这种情况的根源通常是奖励模型本身不够稳定,或者采样 batch 内样本质量方差过大。对策是给奖励信号做平滑,或者加大 batch size 降低方差。
策略崩溃:模型在某个迭代步之后突然开始输出大量重复内容、空白内容或者偏离主题的内容,甚至 reward 直接腰斩。策略崩溃的本质是更新步长过大,策略分布被推离了原有支持集。应对办法是收紧 KL 惩罚系数、降低学习率,或者直接从最近的健康 checkpoint 回滚。
Loss 发散:反向传播阶段的 loss 在几次迭代内从正常值跳向 NaN 或者天文数字。多数时候是数值稳定性问题,比如 reward 计算溢出、梯度中混入了异常值。这类问题靠调参解决不了,必须查数据、查 reward 计算的边界条件。
| 不稳定类型 | 典型迹象 | 常见根因 | 第一反应 |
|---|---|---|---|
| 奖励振荡 | reward 上下剧烈跳动 | reward 信号噪声大 / batch 方差高 | 加 Reward Smoothing,放大 batch |
| 策略崩溃 | 输出退化、重复、reward 骤降 | 更新步长过大,KL 太松 | 收紧 KL 惩罚,回滚 checkpoint |
| Loss 发散 | loss 跳 NaN / 无穷大 | 数值溢出、异常 reward 样本 | 查 reward 边界条件,清洗异常样本 |
4.2 一个真实的排查链路:从指标异常到定位根因
直播过程中如果出现不稳定,关注点应该是“现场团队怎么响应”,这比指标本身更有看头。我举一个典型的表征——训练中期 reward 均值突然从 0.8 掉到了 0.2,且连续 20 步没有反弹。
常规响应链路如下:
第一步:看 KL 散度。如果 KL 突然升高,说明策略分布已经偏离参考模型太远,策略崩溃的可能性大。如果 KL 稳定,但 reward 掉了,说明问题更可能在奖励信号侧。
第二步:人工抽看采样样本。拿几个典型 prompt 的生成结果看看,如果模型输出已经出现大量重复、语言空洞、答非所问,基本可以判定策略已经进入退化区。
第三步:检查最近几次更新的梯度统计。如果梯度范数出现尖刺,说明某几个异常样本在主导更新方向。这个环节要查到具体的数据样本,一旦确认是哪几条垃圾样本污染了 batch,直接剔除并重放最近几步即可。
第四步:做 checkpoint 回滚策略。正常的做法是每隔固定迭代步保存一份“健康 checkpoint”,一旦发现策略进入退化区,回滚到最近一个健康点,同时把学习率调低到之前的 0.6~0.7 倍,把 KL 惩罚系数往上调一调,重新跑。
注意:强化学习训练中的不稳定,很多时候不是“某一步写错了”,而是整个系统在动态平衡中被某个环节的噪声推离了稳定点。回滚不是认怂,而是止损。我在线上训模型时,几乎每轮强化学习都会用到回滚策略,区别只是回滚的步数多还是少。
直播把这些过程原样播出来,很多观众可能会觉得“怎么这么乱”。但你去看 Meta、Google、Anthropic 公开的各种后训练访谈,大家描述的日常就是这样的——不停地看曲线、抽样本、查梯度、回滚重跑。乱,才是强化学习的本色。
4.3 如何让不稳定“可控可容”
我们当然不能只靠回滚混日子,要建立一套让系统主动避免不稳定或者快速自愈的机制。我在实际项目里常用的组合拳包括:
- Reward 信号标准化:对 reward 做 Z-Score 标准化,消除不同 batch 之间奖励绝对值的漂移,这能让训练曲线平滑很多。
- Value Function 缓存:如果使用带 Critic 的算法,尽量用 GAE 类的优势估计而不是单步 reward,能显著降低高方差问题。
- 采样温度调控:在训练早期把温度稍微调低,减少过度探索造成的坏样本;等策略稳定后再把温度调回正常水平,保留探索能力。
- 频繁 checkpoint:至少每 500 步存一次可恢复的完整状态,方便快速回滚,而不是从头重来。
这套组合的核心思路是:不要让训练系统处于“随时可能崩溃”的脆弱状态,而是把各种异常都纳入可观测、可回退、可调整的闭环里。
5. 把账本和不稳定一起公开,对行业意味着什么
如果这场直播只是展示训练过程,那还停留在营销层面。但连成本账本、失败曲线一起展示,它就有了更深一层的行业意义。
5.1 给行业提供了一个真实的成本锚点
现在网上流传的各种训练成本,要么是官方 PR 稿里挑好的说,要么是外部人拍脑袋估算。真实的一线数据反而最稀缺。一小时 3 万美元这个锚点一旦公开,至少带来两个影响:
- 外部创业团队和研究者估算成本时,有了更可信的参考基准,不会再被各种“大模型训练只要几万美元”的极端说法误导。
- 内部搞基础设施优化的人,会自然地把成本构成拆开,去追问算力占比是否合理、有没有降低无效开销的空间。
一个透明账本的公开,比一百篇“降本增效”总结文章都管用。
5.2 把“不稳定”编入行业语境
公开不稳定这件事更加少见。原因很现实:不稳定在商业语境里往往等于“能力不行”,哪怕它是所有团队都会遇到的客观现象。行业里虽然都知道强化学习不稳定,但没有人愿意当那个把“不体面”写进简历的人。
但恰恰是这一点,对行业生态最有价值。它向所有正在做强化学习训练的新团队传递了一个信息:不稳定是正常的,你不需要怀疑人生,也不需要因为抖动频繁而反复推翻自己的算法设计。
我当年第一次跑 PPO 时,看到 reward 曲线上蹿下跳,一度以为代码写错了。后来问了前辈才知道,那种形态才是强化学习训练的“日常”。而这种事情,如果不公开,每一个新人都会在同样的困惑中浪费几周时间。
5.3 直播对开源社区的潜在意义
进一步说,这种公开还可能在开源社区引发一个趋势:更多团队愿意分享强化学习训练曲线、超参数敏感性分析、不稳定案例分析。这类材料对开源社区的帮助,不亚于开源一套代码——因为算法代码是“骨架”,训练经验才是“血肉”。
MiMo-V2.6 公开直播的做法,如果后续配套把部分训练细节、数据清洗策略、reward 设计逻辑开源或写成长文,对想做模型后训练的团队会是很好的学习材料。当然,直播只是第一步,真正的行业价值要看后续能沉淀多少可复用的方法论出来。
6. 最后说几句大实话
看完这场直播的账本和曲线,我最大的感受不是“这行真烧钱”,也不是“训练真难”,而是——强化学习训练已经到了一个必须“解锁”的阶段。
所谓“解锁”,就是行业不能再把它当成黑箱:成本是黑箱,不稳定是黑箱,失败也被藏起来当黑箱。如果你能把账本和不稳定都大大方方摆出来,说明你对整个训练系统的理解已经到了一定深度,不只是会跑实验,而是真的知道每一步为什么会这样走、资源花在哪里、失败从哪里来。
我个人在实际操作中的体会是,公开训练过程本身就是一个极好的压力测试。当你需要向外界解释每一步动作时,你自然会去审视那些平时忽略的细节——比如为什么这个超参数选这个值,为什么这个回滚策略有效,为什么这个 batch 会污染策略更新。这些审视往往能帮你发现真实问题。
如果你也想做类似的事情,建议从小规模开始:不用一上来就公开训练大模型,先把自己跑强化学习训练过程中的一条失败曲线、一次策略崩溃的完整排查过程分享出来,哪怕只涉及一个 1B 模型,对社区也有参考价值。
能把自己的“丑图”晒出来,从来都是技术自信的表现。这行太需要更多这种自信了。