Tools

工具速评:小米 Mimo 2.6 把强化学习训练做成了公开直播面板,成本数字就地公开

5 min read ·

模型发布通常只给你结果:跑分、榜单、能力描述。至于这个结果花了多少代价换来的、训练过程中有哪些时刻差点失控,一概不公开。

小米这次做了件不太一样的事:把 Mimo 2.6 的强化学习后训练过程做成了一个持续刷新的公开面板。pro 与 flash 两条训练线同时在跑,每一步迭代的读数都在上面。

它最有意思的地方不是数字好看,而是数字不好看的部分也在。

一、面板上到底有什么

先看两条线的当前状态:

                    mimo-v2.6-pro        mimo-v2.6-flash
──────────────────────────────────────────────────────────
起始时间            2026-09-15 10:32 Z   2026-09-15 15:16 Z
已运行              1d 13:24:17          1d 08:40:06
当前步数            step 12              step 17
本次接受/目标       1,784 / 1,568        2,640 / 1,568
──────────────────────────────────────────────────────────
奖励均值 Δ          0.614  ▲0.049        0.603  ▲0.089
累计花费            76.9 万美元           33.6 万美元
单步 token          2.16B                2.6B
累计 token          22.8B                37.8B
已训练样本          276k                 401k
训练批大小          1,568 × 16 seqs      1,568 × 16 seqs
──────────────────────────────────────────────────────────
DeepSWE v1.1        62.24                60.77
(mini-swe-agent, avg@3)

注意「本次接受 / 目标」这一栏:pro 线是 1784 / 1568,接受数超过了目标值;flash 线更夸张,2640 / 1568。这不是故障,而是动态采样器的正常表现——目标值代表该步期望消耗的样本数,实际接受数取决于采样期间有多少样本通过判定。

面板上还有一整套曲线指标值得逐条认识:

指标含义为什么要看
dynsam/avg@n多次采样的平均通过率主能力指标
critic/rewards/mean奖励均值信号强度
actor/entropy_loss策略熵过早收敛的信号灯
actor/pg_loss策略梯度损失更新幅度
actor/grad_norm梯度范数稳定性
train_infer_diff/new_infer/kl训练与推理引擎的分布差分离架构的健康度
ctx_total_length/mean上下文长度均值任务复杂度漂移
dynsam/agg_turn/mean平均轮次智能体是否是「多步」的

其中两个指标特别值得留意。

训练推理 KL 差。 分离式架构里,采样跑在推理引擎上、梯度更新跑在训练框架里,两者对同一批权重的输出会有细微差异。这个差值持续放大,意味着你训练的分布和实际生成的分布在漂移,这是所有异步 RL 架构必须先压住的工程前提。pro 线当前 0.0053、flash 线 0.00827,都是可接受的量级。

平均轮次。 pro 线 46.9 轮、flash 线 52.6 轮,同时上下文长度均值是 86.6k 与 104k。这两个数字说明训练任务不是单轮问答,而是几十步的长程智能体任务。这解释了为什么单步 token 会到 2B 量级。

二、最有价值的部分:数据源配比是公开的

面板的低处有一块「batch composition」,展示每一步的样本由哪些数据源构成。当前分布是:

类别      数据源数    prompts     占比      变化
code        11        1,023      65.3%    ▼2.4 pt
general      4          208      13.2%    ▲1.1 pt
visual       6          231      14.7%    ▲1.6 pt
chat         3           64       4.1%    ▲1.1 pt
cyber        1           43       2.7%    ▼1.4 pt
──────────────────────────────────────────────────
合计        25        1,568     100%

数据源被拆到「类别 / 数据源数 / prompt 数 / 占比 / 相对上一步的变化」这一级,而且标注了每个源是被训练过的 harness 还是临时 run。

💡 这块信息在别处几乎拿不到。 通常你只知道「用了多少数据」,不知道数据配比在训练过程中怎么漂移。而配比漂移直接决定了模型最终能力的形状:code 占 65% 意味着它被反复打磨的是代码能力,cyber 只占 2.7% 说明安全类能力不在这一轮的主攻方向。

面板还留了一句脚注,说明重启后的若干步报告的是消费前的池子状态,此时配比是「结转量加一份按比例分配的新接受量」。这种边角说明恰恰是真实面板的标志——刻意宣传的图表不会保留这种让人困惑的中间态。

三、采样器的实时视图

面板底部是一个一直在滚动的采样器日志,格式大致是:

step 12 · accepted 1,784/1,568
  judged 1,675 · pass 0.596 (n=5,499)
  remaining 611 + 1,065 partial + 425 rewarding
  prewarm 512

这几个量构成一条采样流水线:judged 是已判定样本数,pass 是通过率与样本总量,remaining 是等待中的,partial 是部分完成的,rewarding 是正在计算奖励的,prewarm 是预热保留量。

pro 线通过率 0.596(n=5499),flash 线 0.647(n=10322)。flash 的通过率反而更高,这符合直觉:更小的模型训的是相对更容易达成的要求,通过率自然更高。

此外还有一张按数据源列出的明细表,显示每个源当前「接受 / 目标」以及剩余、已判定、在途的数量。比如某个 code 源是 156/154 而另一个是 211/153,差异说明不同数据源的采样难度和产出率并不均匀。

四、该有的怀疑

第一,面板展示的是训练中的中间态。 奖励均值 0.614 是「相对第一步」的变化量,不是绝对能力值。把 ▲0.049 读成「能力提升 4.9%」是错的——它是采样器内部指标相对起点的位移。

第二,DeepSWE 只有两条线的数字,没有更多基准。 62.24 与 60.77 是 mini-swe-agent 跑出来的 avg@3,样本量不大。单基准单配置的数字,只能当作同一家族内的相对比较。

第三,成本数字包含什么口径不清楚。 76.9 万美元是算力、还是算力加数据加人工,面板没有细分。跨厂商对比时要小心口径差异。

第四,实时面板天然偏向展示过程指标。 熵损失、KL 差、接受率都很专业,但它们不等于最终模型好用。面板解决的是「训练可观测」,没有解决「能力可验证」。

结语

这个面板真正的意义在行业层面,而不在技术层面。

训练成本长期是各家最不愿意公开的信息之一,因为它直接暴露竞争位置。把它打开,加上数据源配比、采样流水线状态和中间态的异常读数,等于把「花多少钱、用多少 token、按什么配比,能换来多少能力」这个问题变成了可横向对照的公开问题。

对于正在做自己后训练的团队,这里能拿到的实际收益是预算校准:看到 22.8B 训练 token 和几十万美元对应的是什么样的奖励曲线位移,比任何估算公式都直观。

值得盯的是它后续的更新频率和是否会给出更多基准——如果这个面板能持续开着,它会比任何一次发布通稿都有信息量。

Frequently asked questions

这个面板和常见的训练日志有什么本质区别?
常见训练日志是事后挑好指标发布的,而这是一个持续刷新的实时面板,包含中间态和不体面的数字。你能看到某一刻接受率超过了目标值、看到 partial 与 rewarding 状态的样本堆积、看到重启后池子报告的异常。它展示的是训练正在发生的过程,而不是训练完成后的总结,这才是它作为观测工具的价值。
dynsam 动态采样器解决了什么问题?
强化学习里最难的是样本效率:如果一批采样里绝大多数都是模型已经能做对的题,这批数据对梯度的贡献很小。动态采样器按难度分布持续调整取样的数据源配比,面板上直接显示每个数据源被接受的 prompt 数和占比,以及目标值与实际接受的比值。这让配比调整从调参玄学变成可对照的读数。
累计花费七十多万美元算贵吗?
取决于参照系。对一个从前沿能力档位下探的后训练流程来说,这个量级与公开报道中同级工作的支出相当。值得注意的是它被公开:训练成本长期是被隐去的竞争信息,公开它意味着把「花多少钱能换来多少能力」变成可以被行业横向对照的问题,而不只是各家自己的内部判断。
训练推理 KL 差这个指标说明什么?
它衡量推理引擎与训练引擎在同一个策略上输出的分布偏移。在分离式架构里,采样用 vLLM 之类的推理引擎,梯度更新用训练框架,两者对同一批权重的计算结果会有细微差异。这个差值持续放大意味着训练信号与实际生成行为在漂移,是这类异步架构必须先解决的工程前提。
公开训练面板对开发者有什么实际用处?
两个层面。第一是校准成本预期:你能看到达到某个奖励水平需要多少 token、多少采样样本、多少美元,从而给自己的项目做预算。第二是学会看指标:熵损失、策略梯度损失、梯度范数、上下文长度均值这些量的联动关系,在真实运行中的波动范围是什么样的,这种直觉很难从论文里获得。
// next.txt ›

Some outbound links in this post are affiliate links — see disclosure.