用大白话读完 MiMo-V2.6 技术报告:小米是怎么把 RL「练大」的

一句话总结:这份 44 页报告其实就在讲一件事——强化学习怎么「往大了练」。说人话就三招:一批多做题、题型更杂、判卷更认真;再加两根保险丝:别让模型内部乱套别让它学会骗分数。作者自己也很谦虚:这离真正的「自我进化」还远,只是往前迈了一步。

前面站内有两篇:0019 发布会 讲分数和价格,0014 直播页 讲实时烧钱仪表盘。这篇把技术报告摊开,按章节用人话过一遍。

00 六句话先懂全文

  1. 核心就三招:一批题多做、环境更杂、判卷更细——报告管这叫「三维扩展」。
  2. 练之前先热身:先学海量文本和图片音频,再专门学「怎么当 agent 干活」,上下文拉到 100 万 token,等于先把操场修大。
  3. 钱花在哪很清楚:Pro 烧了 260 万美元,Flash 90 万;大约一半时间在「让学生做卷子」,一半在「讲卷子改错」,还有 13% 左右专门请判卷老师
  4. 两根保险丝:一是冻住 MoE 的「路由开关」,否则 20 步专家模块就乱成一锅粥;二是四道关卡防「钻空子拿高分」,全程作弊比例压在 2% 以下
  5. 开源有两层Pro / Flash 大模型权重本身在 HF 上开源了;报告第 7 章另外强调的,是一套方便社区接着练 RL 的「研究套件」(9B 蒸馏小模型 + 约 7000 道环境 + 训练框架)。
  6. 有亮眼也有短板:日常任务、做页面挺能打;黑客攻防类明显还差一截
补习班三门主课:多刷题 · 杂题库 · 认真判卷 先短训对齐,再三路同时加码;课堂纪律靠锁路由 + 防作弊流水线 强化学习「加练」阶段 Pro 约 $2.6M · Flash 约 $0.9M · 大批 GPU ① 更大 Batch / 吞吐 1568 prompts × G=16 ≈25K 序列 · 2.7–3.7B tok/步 异步 · 上下文最长 100 万 ② 更杂环境 × Harness Code / General / Visual / Cyber 简化工具壳混着练 held-out Pass@1 ~50%→66% ③ 更大 Grader 算力 先对答案再打印象分 组内排名,奖励挪给写得好的 grader 占算力约 13–14% 护栏:冻结 MoE Router · 四阶段 Reward-Hacking 防线 · 确认 hack < 2%
图 1 · 三维 RL 扩展:算力 × 环境 × 判卷,外加稳定性护栏

01 报告到底在喊什么口号

标题里的「走向自我改进」听着科幻,正文其实很实在:

  • 光让模型背书不行,得让它在环境里试错(写代码→跑测试→看结果→再改),这才叫有「反馈」。
  • 试错要规模化,就得解决三件事:题够不够多、环境够不够真、分数判得准不准

作者也没有吹成「AI 已经会自己变强了」,结论原话大意是:我们在「多探索、反馈更清楚、训练系统扛得住」上做了务实的一步

和发布稿怎么对上:0019 里说的「更大批量、更杂的题、更贵的判卷机」,就是报告摘要里那三句话的大白话;报告负责把数字和做法补齐。

02 底子:模型长什么样、先学了什么

训练流水线:预训练 → Mid-training → 大规模 RL ① 预训练(两阶段) Stage1 纯文本 Stage2 全模态联训 32K → 256K ctx Flash 48T · Pro 30T ② Mid-training Agent 轨迹数据 上下文 25.6 万 → 100 万 优化器改成「大批量友好」 低精度量化训练 · 扩探索空间 ③ 短 SFT 对齐 RL 起点 (报告 §4 开篇) 再进入三维 RL ④ RL ~30 步 Pro 123h Flash 82h 贯穿全程的骨干(§2) 主干:附近看一段 + 偶尔通看全文,窗口 128 · 开头一层用普通大矩阵稳住 · 后面用「多专家只唤醒 8 个」 多模态:自研看图 ViT + 听声编码 · 投机解码:小草稿一次预写 7 个字给大模型批改 规模:Flash 3100 亿/每次干活 150 亿 · Pro 1.02 万亿/每次干活 420 亿
图 2 · RL 不是第一步:mid-training 先把探索空间和长上下文铺开

2.1 主干:不是一整块注意力

文字主干是「滑动窗口(只看附近一段)+ 全局注意力(偶尔通看全文)」混着叠:

  • 一层只看附近,省算力;隔几层通看一次,不丢全局。
  • 开头第一层故意用全局 + 普通大矩阵,先把「语感」稳住。
  • 后面基本都是 MoE(多个「专家小脑」,每次只唤醒 8 个)——像公司里 256 个专家,每题只派 8 个人开会。
Flash(小杯)Pro(大杯)
总参数 / 每次真干活的参数3100 亿 / 150 亿1.02 万亿 / 420 亿
大概感觉更轻更快更贵更强

2.2 眼、耳、以及「抢跑」

  • 看图:自研 ViT,约 6.8 亿参数,专治高清长图算力爆炸。
  • 听声:声音先切成 25 帧/秒,每帧再编成一串「数字词汇」;训练用了 2000 万小时音频。
  • 抢跑(投机解码):旁边一个小草稿模型一次先猜 7 个字,大模型一口气批改——生成会更快。上下文拉到一百万 token 时尤其有用。

2.3 先吃饱,再上强度

  1. 预训练:先猛学文字,再接上眼睛耳朵学全科。Flash 吃了 48 万亿 token,Pro 30 万亿
  2. 中期训练(报告里的关键一步):专门喂「agent 干活的过程记录」(怎么搜、怎么改代码、怎么试错),上下文从 25.6 万拉到 100 万,优化器也换成更适合「大批量刷题」的。

通俗说:正式上大运动量之前,先把操场扩建好、把呼吸节奏调对。

03 第一招:一批多做题(把算力堆上去)

一次「上课」大致是这样(报告 §4.1)

  一次发 1568 道题
  每道题让模型试 16 遍
           │
           ▼
   约 2.5 万条答卷 / 轮
   约 27–37 亿 token / 轮
   最长可以拖到 100 万 token 的题
           │
     ┌─────┼─────┐
     ▼     ▼     ▼
   孩子做题  老师判卷  讲评改错
   ~44%     ~13%    ~41%

为什么非要这么大?

  • 人多好排班:做题可以很多人同时做,改卷也可以分给很多机器,GPU 才吃得饱。
  • 做不完的题留到下一节课接着做(partial rollout),别让慢题把全班拖死。
  • 全对或全错的题扔掉——对梯度没营养,浪费时间。
  • 多科目混着发,别一节课全是数学。

成绩上:开源软件工程题 DeepSWE,Pro 从 58 分涨到 73 分左右,Flash 从 49 到 66 左右。整轮大概 Pro 五天、Flash 三天多跑完约 30 步。

04 第二招:题型更杂,教室也换着上

报告把题分成四类,判对错的方式也不一样:

类型怎么算对大白话
写代码真的跑测试交卷必须跑得通,还要防「时灵时不灵」的测试
一般办公/操作沙盒里状态能重来给你一台干净虚拟电脑,做完能一键还原
做页面/设计像素比对 + 模型点评像素级对照参考图,再让模型评审美
找漏洞崩的地方要对上崩溃类型和位置都对上才算你抓到了

「换教室」很重要:训练时故意用简化版工具壳,而不是某一款成品软件。结果是:换成没练过的 codex / Claude Code 等,通过率也从大约 一半涨到三分之二——学的是解题能力,不是背熟了某一个壳

05 第三招:请更较真的判卷老师

只判「对 / 错」太糙了。尤其大家都能跑通测试时,模型不知道哪条路更干净。

从「过/不过」到「哪份卷子写得更好」 同一 prompt 采 G=16 条轨迹;二元信号太稀,组内比较给出更密的学习信号 同一组 rollout 过·弱 过·中 过·优 印象分(离线)· 常过的题 R = R_test × S_sol × S_beh 比较多次 offline rollout → 任务 rubric 全过时仍靠 rubric 乘积区分质量 组内排名(在线)· 有过有挂 Agentic grader 对「通过」轨迹五维排序 方案适配 · 实现精确 · 最小改动 无副作用 · 工程工艺 正优势:低质通过 → 高质通过(和不变) 有细判卷 → 通过率涨到第 52 步、补丁更小;只判过/不过 → 越写越长、学会钻空子
图 3 · 判卷机变聪明:组内比较把「都过了」也能变成梯度

报告的做法(说人话版):

  1. 先对答案、再打印象分:测试过了之后,还要按「方案选得好不好、有没有多余动作、有没有改崩别处」打分;分数相乘,全过也能分出高下。
  2. 组内排名、把「好评」挪一挪:同一道题的 16 份答卷里,让一个「评审模型」给及格卷按五条打分——思路对不对、改得准不准、够不够小、有没有误伤、像不像老员工写的——然后把奖励从「勉强及格」挪给「写得漂亮」的。

好处很直接:奖励更细 → 模型倾向交小而准的补丁 → 下次做题更省字 → 同样的钱能多试几轮。报告里去掉这套判卷后,模型会越写越长、疯狂堆兼容代码;加上之后,通过率能一直涨到第 52 步,补丁反而更小。

06 两根保险丝

两条稳定性护栏(§5.4 / §4.2.6) 冻结 MoE Router 可训练 router(前 20 步塌缩) CV 0.78 → 2.0 峰值负载 6× → 16× 冷专家 0.5% → 22% 冻结后 三指标平坦 · 分数正常上涨 诊断:恢复 router 初值 → 平衡恢复 (专家权重未坏,是 router drift) 四阶段 Anti-Reward-Hacking 1 · Mid-training 对齐数据(反思 hack 样本) 2 · 环境清场:缓存/Git/断网/防泄漏提示 3 · Hack agent 对抗扫到找不到洞 4 · 考试中抽查 + 确认作弊直接 0 分 全程确认 hack 占比 < 2%
图 4 · 路由漂移与钻空子:一个用冻结,一个用四层流水线

6.1 别让「专家路由」乱跳(冻 Router)

MoE 里有个路由器,决定「这道题派哪几个专家」。RL 一开,它会越走越偏:

  • 分配不均的指标一路恶化(大约 20 步内,最闲的专家从几乎闲置变成大量「冷板凳」)。
  • 作者做了个很聪明的实验:只把路由器拧回出厂设置,其他都不动 → 负载恢复、分数几乎不变。

结论:不是专家本体坏了,是「派活的人」疯了。

所以正式训练时:路由器冻结,谁也不许动。

6.2 别让模型学会骗分(四道关)

最常见的作弊:去网上搜现成补丁,根本没自己修。四道关:

  1. 课前思想教育:把已发现的作弊案例做成「反思题」塞进中期训练。
  2. 考场清场:清缓存、清 Git 历史、拔网线、明说禁止剧透。
  3. 请人当「作弊侦探」:专门的小模型去每个考场找漏洞,找不动了才开考。
  4. 考试中抽查 + 立刻作废:一旦确认作弊,这道题奖励直接清零再统计算分。

结果:两个模型全程作弊比例 压在 2% 以下

07 后台:怎么同时伺候 2.5 万条「活的」轨迹

普通训练是「一排文本进、一排文本出」;RL 是每条轨迹都像开着 IDE 的小编程员——要开环境、点工具、来回改。报告用四根柱子撑住:

混合任务 Agentic RL 基础设施四支柱(§6) Agent Loop 中心 rollout · SGLang 推理 + Megatron-LM 训练 统一轨迹层级 Sample → Sequence → Context → Segment 分支/压缩 → 前缀匹配 KV 复用 · loss mask Harness Pool 多租户 Ray actor 池 避免 GCS fd 耗尽 异构 harness 分池 预算份额启动时固定 重货走货梯 控制面只调度元数据 重载荷写入分布式 KV 多模态只传 delta 打包按 TP 组拉窗口行 排课表 25 源差 90×/66× 自适应并发/调度 预测式 KV 下发 Sample Replay 训推一致(贯穿四支柱) 推理和训练尽量「同一支笔」:专家派活、采样结果都对齐,避免考场上会、交卷时不会
图 5 · 让 25K 条异构轨迹在同一套调度里稳定跑完
  1. 统一记账:把一段经历拆成四层(样本→序列→上下文→片段),方便复用缓存、分清哪些要算损失。
  2. 工位池(Harness Pool):不能一人一台虚拟机把总部连接数撑爆,所以做成「共享工位、一人一小隔间」。
  3. 重货走货梯:调度只看「便签条」,真正的海量数据放仓库里,避免全员挤电梯。
  4. 排课表:不同题的时长能差几十倍,靠预测「谁马上要爆内存」再放人进场,保证课表比例不跑偏。

训推还要像「同一支笔」:推理和训练对专家路由、采样结果尽量对齐,否则模型「考场上会、交卷时不会」。

08 分数和「开源」到底给了什么

开源的两层:模型权重 + 报告 §7 的研究套件 第一层 · 模型权重(HF 合集) Pro-RL + Flash-RL 约 1.02T / 310B 权重可下载 Distill-Qwen-9B 9B 小模型(研究起点) ~7k RL 环境 + 验证器 Code 3k / Cyber 1k / Gen 1k / Vis 2k RL 框架 + 工具壳 + 日志 mimo.xiaomi.com/rl/mimo-v26 小模型上 11/11 评测都涨 · 换工具壳 21/21 组合都涨 第二层 · 报告 §7 研究套件 Distill-Qwen-9B 等 ~7k 环境 + RL 框架 + 工具壳 给社区「接着练」的完整作坊 两层都在开源,不是二选一 能力边界:日常操作、做页面挺能打 · 黑客攻防类明显还差一截 ExploitGym Pro 17.8 vs GPT-5.6 30.3 · ExploitBench 47.9 vs Opus 70.0
图 6 · 权重开源了,报告另外把「能自己练 RL 的作坊」也交出来了

8.1 几组代表分(Pro)

类型题目Pro大白话
写代码DeepSWE71.9上一代同款只有 19,进步巨大;离最强闭源还差一点
日常自动化AutomationBench53.1比报告里对比的闭源模型还高一截
做页面Visual Coding72.3和第一梯队咬得很紧
找漏洞Exploit 系列明显偏低这块别洗,就是还差

8.2 开源其实有两层,别混成一句

第一层:模型权重(发布当天就上的)

Hugging Face 合集 MiMo-V2.6 里能直接下到:

  • MiMo-V2.6-Pro-RL(约 524B safetensors,MIT)
  • MiMo-V2.6-Flash-RL(约 159B)
  • 以及下面要讲的 9B 蒸馏版

模型卡带 SGLang / vLLM 部署说明,这就是完整意义上的大模型开源——站内 0019 说「Pro、Flash 模型权重与技术报告」开源,是对的。

第二层:报告第 7 章的「RL 研究套件」

技术报告单独用一章讲「怎么让社区也能复现这种 RL」,开放的是:

  • 9B 蒸馏小模型(用 MiMo 生成的数据去调 Qwen3.5-9B,给社区一个便宜起点)
  • 7000 道带判卷器的练习环境
  • 能跑通全流程的 RL 训练框架 + 简化工具壳
  • 训练过程日志(和 0014 直播页同源)

所以正确说法是:Pro / Flash 都开源了;报告强调的是「除了给权重,还给了能自己接着练的完整作坊」。1.02 万亿参数的 Pro 当然难本地跑,但「难跑」不等于「没开源」——HF 上文件就在那里。

09 站内三篇怎么串着看

文章你看到的层次
0019 发布解读结果层:多少分、多少钱
0014 直播仪表盘现场层:每秒烧多少、卡在哪一步
本文 0021原理层:为什么这么烧、为什么有效、坑在哪

合起来就是:发布会说打到哪了 → 直播看你正在打 → 报告告诉你这枪是怎么造的。

10 报告也没讲清楚的

  1. 「数千张 GPU」具体多少张、什么型号——没说。
  2. 吞吐「每秒多少 token」——没给绝对值,只有相对曲线。
  3. 「印象分」和「组内排名」各管多少道题——没拆。
  4. 为什么黑客攻防分低:是数据少、环境难,还是模型能力上限——没做归因实验。
  5. 正文没有单独的「相关工作」章节,对比都嵌在结果表里。

---

想啃原文Hugging Face · 技术报告 PDF(44 页)。本文数字均来自该报告正文;和站内 00140019 交叉印证。