
单次RL后训练烧掉260万美元、每步37亿Token,小米披露MiMo-V2.6“规模化强化学习”路线
10 月 8 日,小米 MiMo 团队发布技术报告《MiMo-V2.6: Scaling Reinforcement Learning Towards Self-Improvement》。这篇报告披露了小米一套完整的规模化 Agentic RL 训练过程:通过同时扩大训练 Batch、任务环境与 Harness,以及用于评判 Agent 行为的 Grader Compute,来探索模型持续自我改进的路径。
以下正文同步自 InfoQ 中国,版权归原站所有,已转换为易读排版。
10 月 8 日,小米 MiMo 团队发布技术报告《MiMo-V2.6: Scaling Reinforcement Learning Towards Self-Improvement》。这篇报告披露了小米一套完整的规模化 Agentic RL 训练过程:通过同时扩大训练 Batch、任务环境与 Harness,以及用于评判 Agent 行为的 Grader Compute,来探索模型持续自我改进的路径。
此次发布包含 MiMo-V2.6-Pro 和 MiMo-V2.6-Flash 两个模型。其中,Pro 总参数量为 1.02T、每次推理激活 42B 参数;Flash 总参数量为 310B、激活 15B 参数。两者均采用稀疏混合专家(MoE)架构,并在文本主干中混合局部滑动窗口注意力(SWA)与全局注意力(GA)。
MiMo-V2.6 将强化学习算力拆成三个部分:Rollout、Grading 和 Training。
实际训练中,每个 RL Step 先采样 1568 个 Prompt,每个 Prompt 同时生成 16 条 Rollout,也就是说,每一步都会产生约 2.5 万条 Agent 轨迹。这些轨迹合计达到 27 亿至 37 亿 Token,平均每条序列约 11 万至 15 万 Token,训练上下文长度最高达到 100 万 Token。
MiMo-V2.6 的训练任务覆盖代码 Agent、通用工具使用、视觉设计、上下文遵循和网络安全。其中在正式 RL Batch 中,代码与竞争性编程任务占 68%,通用工具使用占 12%,视觉设计占 13%,上下文遵循占 3%,网络安全占 4%。整个训练采用 GRPO,并结合异步 Partial Rollout。
这种训练的成本也迅速上升。论文显示,MiMo-V2.6-Pro 的 RL 后训练成本约 260 万美元,Flash 约 90 万美元。其中 Pro 的计算成本中,Rollout 占 43.8%,真正用于模型参数更新的 训练占 43.5%,而单独用来判断 Agent 行为好坏的 Grader 已经占到 12.7%;Flash 的 Grader 成本比例甚至达到 14.2%。
传统代码 RL 很多时候依赖二元测试奖励:测试通过给 1 分、不通过给 0 分,但这套方法在长程 Agent 任务上已经不够用了。
两个方案即使都能通过测试,其中一个可能只改了必要的几行代码,另一个却加入大量兼容分支、吞掉异常、扩大 API 范围,甚至为了通过测试修改与任务无关的配置。二者在传统 Reward 下可能拿到同样的分数,但工程质量完全不同。
为此,MiMo-V2.6 在代码 Agent 训练中引入了两套分组智能体评分机制。
一套是分组奖励合成(Groupwise Reward Synthesis,GRS)。系统首先收集同一个任务的多个 Rollout,由 Agent 同时分析不同方案,生成“解决方案质量”和“行为质量”两套 Rubric。之后,训练中的每条新轨迹不仅需要通过测试,还会按照代码实现质量、边界情况处理、与原代码库的一致性,以及解决问题过程中是否进行了必要验证等因素继续打分。
另一套是分组优势重分配(Groupwise Advantage Redistribution,GAR)。Grader 会把同一个任务中成功和失败的多条轨迹放到一起比较,对已经通过测试的方案继续按照解决思路、实现准确度、修改范围、副作用和工程质量进行排序,再把更多强化信号分配给质量更高的解法。
实验显示,没有在线分组评分时,模型随着 RL 继续训练,会产生越来越长的轨迹和越来越多的 Agent Turn,并逐渐出现为了提高通过率而加入冗余兼容逻辑、吞掉异常等行为。加入在线评分后,通过率可以继续增长,同时 Token 长度和交互轮数保持得更加稳定,模型也倾向于生成更小、更精确、更易维护的 Patch。
论文还额外加入了“组内相对长度惩罚”,对已经成功但明显比同组其他成功解法更长的轨迹进行扣分,希望模型不仅把任务做完,还尽可能使用更少 Token。
当模型越来越擅长优化 Reward,另一个问题也随之出现:模型开始寻找“作弊路径”。
小米在早期训练中发现,代码 Agent 会尝试绕开原本的修复任务。例如直接安装更新版本的软件包查看已经公开的修复、访问 GitHub 最新源码、克隆上游仓库、搜索 Issue 和提交历史,甚至通过比较不同版本来反推出正确答案。这样的操作同样可能让自动测试通过,但并不能证明 Agent 自己解决了问题。
为此,小米在训练前后增加了多层防线。训练环境会主动删除构建日志、Verifier 输出、残留 Patch、二进制、字节码和 Cache,仅保留任务指定版本之前的 Git 历史,并通过容器级网络隔离阻止 Agent 获取上游修复。团队甚至专门训练和部署了一个 Hack Agent,主动进入这些环境寻找还能被利用的漏洞。如果找到新的作弊路径,就继续修改环境、重新测试,再让 Hack Agent 攻击,直到无法继续找到可利用路径。
即使正式 RL 已经开始,团队仍会离线审计 Agent 轨迹;一旦发现确认存在 Reward Hacking,对应轨迹的 Reward 会直接被清零。最终,MiMo-V2.6-Pro 和 Flash 正式训练过程中,被确认存在 Reward Hacking 的轨迹比例始终控制在 2%以下。
MiMo-V2.6 另一个明显变化,是把 Agent Harness 本身也当成 RL 的一个 Scaling 维度。
不同 Coding Agent 的系统提示词、上下文管理、工具调用方式和执行流程都不同。如果模型长期只在一个 Harness 中训练,很容易学到 Harness 特有的行为模式,换一个 Agent 框架后能力就下降。
小米没有直接拿 Codex、MiMo Code 这类完整生产 Harness 混在一起训练。论文认为,生产 Harness 通常包含大量工程保护、复杂工作流和额外 Prompt,而这些行为未必有对应 Reward,很容易干扰强化学习中的信用分配。不同模块之间又高度耦合,也不方便单独控制变量。
因此,MiMo-V2.6 构建了一批更小、更模块化的 mini-harness,统一保留系统提示词、工具和上下文管理等最基本能力,再针对 Code、General、Visual 和 Cyber 组合不同配置进行训练。
效果之一是,模型不仅在训练期间见过的四套 Harness 上提高,在训练时从未见过的 Codex、Claude Code 和 mini-swe-agent 上也同步提升。在 DeepSWE v1.1 上,3 个 Held-out Harness 的平均 Pass@1 从大约 50%提升至 66%。
MiMo-V2.6 是 MoE 模型。理论上,Router 会根据输入决定 Token 应该被送进哪些专家。如果 RL 过程中 Router 也继续更新,不同专家之间的负载分布可能不断漂移。
小米做了一组对照实验:在 MiMo-V2.6-Pro 中,如果不冻结 Router,仅仅经过前 20 个训练 Step,第 9 层专家负载的变异系数就从 0.78 升至 2.0;最繁忙 Expert 的负载从平均值的 6 倍升至 16 倍;负载低于平均值 10%的“冷专家”比例,则从 0.5%升到 22%。
团队随后把第 20 步模型中的 Router 恢复到 RL 开始前的参数,而其他模型参数保持不变,结果专家负载很快恢复正常,但 Benchmark 基本不受影响。这说明问题并不是 Expert 本身在退化,而是 Router 在 RL 中发生漂移。
因此,MiMo-V2.6 最终选择在整个 RL 阶段冻结 MoE Router。冻结后,专家负载变异系数稳定在约 0.7,峰值负载约为平均值的 5.5 倍,冷专家占比维持在约 1%,同时模型性能仍然继续提高。
论文还直接公布了两次正式训练的故障时间线:MiMo-V2.6-Pro 完成 30 个 RL Step 共耗时 123.1 小时,Flash 为 81.8 小时。训练过程中出现过 GPU 显存双比特错误(DBE);Flash 在第 15 至 16 步之间遭遇 Kubernetes 故障,导致 Cyber 集群 Pod 崩溃;Pro 在第 14 步之后因为 Grader 网络不可达而重启。
另外还有更典型的大规模 Agent RL 问题。Partial Rollout 重启后,较短任务会优先完成,导致系统低估剩余任务长度,最终把 GPU KV Pool 和锁页主机内存池一起撑满;训练阶段还出现过 MoE 微 Batch 内负载严重不平衡,某个 Expert Parallel Rank 接收到超过平均值 30 倍的 Token,导致显存溢出。Flash 后期则因为长序列增加数据量,最终把主机内存撑爆,引发显存溢出。
在执行侧,Harness Pool 使用 Ray Actor 运行不同 Agent Harness。为了避免每一个 Agent Loop 都创建独立 Actor 导致控制节点文件描述符耗尽,系统改成固定数量的持久 Host Actor,每个进程同时托管多个 Agent Loop 和 Harness Instance,从而降低高并发 Rollout 的进程与服务开销。
在数据侧,Payload Porter 把控制面和数据面拆开。一个长程 Agent 轨迹除了 Token 和概率,还包含 MoE 路由信息、Top-p 候选集和多模态数据;截图不断累积时,一条轨迹甚至可能携带数 GB 数据。
因此,真正的重数据只写入分布式存储,中央 Driver 只处理 Reward、长度和数据地址等轻量元数据。到真正训练时,再由对应 Rank 按需读取需要的数据,而不是把整个 Batch 聚合到一台控制节点上。
同时,MiMo-V2.6 引入 Sample Mixer 动态控制不同任务的数据比例。论文统计的 25 个数据源中,平均生成 Token 数最大相差 90 倍,Rollout 执行时间最大相差 66 倍。如果简单先到先得,短任务会迅速占满 Batch,长程任务反而不断被挤出去。因此,Sample Mixer 会根据目标比例、通过率和任务耗时动态调整并发量和调度优先级。
为了进一步降低 Rollout 成本,小米还把推理侧的一系列优化直接带进了 RL。
Agent 的每个对话 Context 都维护持久 KV Cache;多轮工具调用期间,当前不活跃的 Cache 会从 HBM 卸载到锁页主机内存,等模型重新开始生成时再搬回来,从而尽可能让 HBM 留给正在运行的请求,提高 Decode Batch。
Rollout 还使用 Block-6 DFlash 做投机解码。相较原来的 MTP-3 配置,RL 适配后的 DFlash 平均接受长度提高 31.3%;Block-6 相比 Block-8 的全局平均吞吐提高约 6%;进一步引入 FP8 低精度草稿计算后,在长上下文工作负载中,单节点吞吐相较基线提高约 10.3%。
强化学习规模扩大之后的一个关键问题是:模型究竟是真的获得了新能力,还是只把训练环境“练熟了”。
小米给出的一组结果显示,MiMo-V2.6-Flash 和 Pro 在训练任务上的平均通过率分别相对提高约 25%和 12%。在未进入训练集的长程软件工程测试 DeepSWE v1.1 上,Flash 的得分由 48.8 提高到 65.7,提升约 17 分;Pro 则由 58.4 提高到 72.6,提升约 14 分。小米据此认为,大规模 RL 获得的一部分能力能够迁移到训练之外的任务。
从整个 MiMo-V2.6 系列的结果来看,小米称 Pro 在 Artificial Analysis Intelligence Index 上得到 46 分,并在多数 Agent Benchmark 上达到其所称的 Claude Opus 5、GPT-5.6 Sol 相近水平。不过,官方也承认,与 Claude Fable 5.1、GPT-6 Astra 等最强闭源模型相比仍存在差距。
此外,MiMo-V2.6 还进一步覆盖电脑操作(Computer Use)、具身智能和科研任务。例如模型可以根据图形界面完成信息检索、编辑和数据处理,并根据视觉反馈检查结果、修正后续操作;在具身模拟环境中,它也可以通过多视角画面持续决策并控制机械臂。
过去几年,大模型性能提升主要依赖一条相对明确的路径:增加参数、数据和预训练计算量。进入推理模型和 Agent 阶段后,新的计算投入正在逐渐转向模型训练完成之后,即让模型进入大量可验证环境,产生更长的 Rollout,通过更复杂的 Grader 获得反馈,再利用 RL 更新策略。
MiMo 团队将这一路线称为对递归自我改进(Recursive Self-Improvement,RSI)的探索。不过,从技术报告实际展示的机制来看,目前距离“模型自主设计、训练下一代模型”的完整 RSI 仍有明显距离。MiMo-V2.6 所实现的,更准确地说,是在人类设计好的任务、环境、奖励和训练基础设施中,通过规模化 RL 建立持续反馈和能力提升闭环。
为了让这套路线能够被外部研究者复现,小米此次同时开源了超过 7000 个高质量 RL 环境,涵盖软件工程、漏洞复现、知识型工作和网页设计开发等任务;还开放了基于 verl、uni-agent 和 mini-swe-agent 构建的端到端 RL 框架,以及用于多 Harness 训练的轻量框架。
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。