变化点
2026.09 · MiMo-V2.6 Pro / Flash
- 扩大混合 RL,引入
GRS / GAR分组奖励,改善多领域训练。 - 采用
MOPD2整合教师能力,并向开放的 9B 模型蒸馏。
2026.04 · MiMo-V2.5-Pro
- 扩大至
1.02T-A42B与1M上下文,面向长程 Agent。 - 增强多步工具执行、长上下文利用与任务完成能力。
2025.12 发布 / 2026.01 报告 · MiMo-V2-Flash
- 引入混合滑动窗口注意力与轻量 MTP,降低长序列生成成本。
- 训练领域教师,再通过 MOPD 整合能力,配合 Agent RL 调度。
2025.05 · MiMo-7B
- 从预训练阶段强化推理,构建高质量数学与代码数据。
- 使用测试难度奖励与 Seamless Rollout,提高小模型 RL 效率。
(2609) MiMo-V2.6 (RL Scaling、分组奖励、MOPD2)
🌺 论文摘要
参考链接
问题背景
- 长程 Agent 的 RL 同时受限于 rollout 吞吐、任务与环境质量、奖励精度;只增加更新量不够。
- 01 测试奖励无法区分优质修复与投机过测,单一 Harness 也容易限制策略迁移。
核心方法
- 多模态基模:混合 SWA 的 MoE,经过 PreTrain、Agent MidTrain 和 SFT,再进行混合 RL。
- 环境与分组奖励:构建四类任务;GRS 生成任务评分规则,GAR 将正优势分配给更好的成功解。
- 大规模 RL:扩大 batch,冻结 router;异步混合采样、路由与采样集合重放保持训练稳定。
- MOPD2:结合 RL / SFT 教师,通过完整学生 rollout 与前缀条件蒸馏整合更多能力。
模型效果(MiMo-V2.6,混合RL与MOPD2)
- Pro 混合 RL:DeepSWE v1.1
avg@3:58.4 → 72.6;Flash 为48.7 → 65.7。 - Pro 最终模型:DeepSWE
71.9、Toolathlon-Verified76.9、Terminal-Bench 2.189.9。
重要结论
- GAR 消融中,奖励成功解的实现质量,可以抑制轮数膨胀,并维持更长时间的性能增长。
- Router 更新造成专家负载偏移;冻结 router 后仍能提升能力,不必让路由随 RL 一起漂移。
关键贡献
- 将大 batch、多环境与 Harness、Agent grader 三条扩展路线接入同一套 Agent RL 系统。
- 开放 MiMo-V2.6-Distill-Qwen-9B、任务环境、verifier、mini-harness 和 RL 框架。
未来方向
- 结合更广的探索、有效反馈与可扩展训练系统,推进可复现的 Agent 自进化研究。
问题背景
任务与奖励
- 测试通过但实现质量差:吞异常、扩大 API、增加无关兼容分支,也可能得到成功奖励。
- 环境泄漏答案:上游修复、构建缓存或残留 patch,使模型通过检索答案代替解决任务。
- 单一交互方式过拟合:工具接口、系统提示和上下文管理固定,换 Harness 后能力下降。
训练与能力覆盖
- 异步采样改变任务比例:短任务先完成,慢任务或筛选率高的任务难以进入足够多的 batch。
- 训练端重算概率错位:量化、MoE 路由和采样候选集不同,会污染重要性采样比。
- 开放任务难以验证:游戏开发、科研等难以设计可靠奖励,仍需要教师蒸馏补充能力。
核心方法
多模态架构与基模训练
模型规模
- Pro:
1.02T总参数、42B激活;70层 = 60层 SWA + 10层 Global Attention。 - Flash:
310B总参数、15B激活;48层 = 39层 SWA + 9层 Global Attention。 - SWA 窗口为
128 tokens,全局层连接远距离历史,减少长上下文的 KV 读写。
专家与生成模块
- 首层采用全局 Attention 与 Dense FFN,其余 FFN 使用 MoE,不设共享专家。
- Pro 每层
384选8,Flash 为256选8;稀疏 FFN 控制单 token 计算量。 - 预训练包含轻量 MTP 模块;RL rollout 再使用 DFlash 草稿解码加速。
MiMoViT
681M视觉编码器,包含24层 SWA + 4层全局 Attention,交替采用行优先和列优先扫描。- 带 attention sink 的 SWA 跨越固定窗口边界,全局层继续整合图像整体关系。
- 连接较小的预训练 LLM,联合训练视觉理解;采用生成式 CE 目标,不使用对比学习。
音频压缩
308MAudio Tokenizer 将音频编码为25Hz帧,每帧由20层 RVQ产生离散编码。127MAudio Patch Encoder 聚合每帧编码,再将连续4帧合成一个输入 patch。- 输入主模型的音频序列降至
6.25Hz,同时保留语音、音乐与一般声音信息。
基模与上下文扩展
- 先训练文本 backbone,再接入视觉、音频模块,进行多模态联合训练。
- 预训练从
32K扩至256K;MidTrain 大部分使用256K,最后扩展到1M。 - Agent MidTrain 增加代码、工具交互、视觉、科研轨迹,扩大 RL 能探索到的有效行为范围。
优化器与量化
- 预训练使用 AdamW;大 batch 下效率趋于下降,MidTrain 将 hidden matrices 改为 Muown。
- Muon 对矩阵更新做正交化;Muown 再控制行范数,减轻谱范数漂移与 weight decay 敏感性。
- Embedding、LM head 和 router 仍使用 AdamW;MidTrain 引入
MXFP4 QAT。 - 短 SFT 建立交互能力;RL 从该 SFT checkpoint 继承 FP32 master weights 与 Muown 行状态。
任务环境与分组奖励
任务来源
- GitHub Issue / PR:筛除重复、异常与不可复现记录,保留问题描述、修复与执行环境。
- 真实开发请求:收集功能开发、重构、维护和调试任务,由 Agent 补充行为测试。
- 规格合成与 CodeMidas:从多约束需求或现有函数行为构建任务,不依赖已有 PR。
- 长程任务:逐轮增加需求、跨组件依赖和测试,扩大持续开发的复杂度。
测试质量
- 测试约束任务要求的行为,避免强迫所有解法复现 reference patch 的实现细节。
- 同时检查漏测与误杀:对比任务说明、提交 patch、执行日志,识别错误通过和正确失败。
- Reference patch 应修复原失败测试且保留原通过测试,并通过重复执行检查稳定性。
General Agent
- Agent 构建本地 workspace、文件、数据库和 MCP / CLI / GUI 工具,固定初始状态并隔离执行。
- 从职业任务生成需求;多 Agent 填充资料,检查实体、数字、时间和引用的一致性。
- Rubric 拆成可独立判断的条件:代码验证确定性结果,LLM 评价开放内容。
- 用不同能力模型试跑,修正规则歧义;额外检查无关文件和数据库是否被误改。
Visual 与 Cyber
- Visual:网站、游戏、3D、幻灯片等;先验证运行和要求,再比较布局与视觉质量。
- 参考图复刻结合像素指标与整体评价,开放设计采用 rubric 和组内作品比较。
- Cyber:从可复现漏洞建立任务,要求触发指定问题,而非任意 crash。
- Verifier 同时匹配 sanitizer 错误类型与项目内关键栈位置,避免以无关崩溃冒充完成。
可组合交互方式
- mini-harness 将系统提示、工具和上下文管理拆成独立模块,再组合成不同交互配置。
- 同一模型混合训练多种配置;同一个 rollout group 使用相同 Harness,保持优势比较条件一致。
环境与轨迹审计
- 清除上游修复、残留 patch、目标项目缓存和构建产物,Git 历史只保留任务起点及之前版本。
- 容器级网络隔离阻止下载已有修复;保留离线依赖,避免破坏任务正常执行。
- HackAgent 持续探测可利用路径,修复环境后重新测试;RL 中继续离线审计轨迹。
- MidTrain 加入识别违规行为并重新解决任务的自纠正轨迹;在线确认投机后将奖励置零。
离线生成,在线复用
- 主要用于测试通过率较高的 Code 任务:01 奖励已经难以区分多个成功解。
- Agent 联合阅读多条离线轨迹、任务说明和仓库,生成
solution rubrics与behavior rubrics。 - 前者检查要求、边界情况与实现质量;后者检查证据收集、验证等可观察行为。
- 规则以任务需求为依据,不把某个成功 patch 的个人实现选择变成统一要求。
乘法奖励
- 在线 grader 进入每条轨迹的环境,结合代码与执行证据,分别评估实现与行为。
test为原始测试奖励;蓝色项评价实现质量,红色项评价求解和验证行为。- 测试失败仍为
0;全部通过时,质量分不同也能产生组内学习信号。
在线比较成功解
- 其余 Code 任务中,对有成功也有失败的 rollout group 进行联合评价。
- SFT 训练的 grader 阅读所有 patch 与测试输出,可检查仓库并执行针对性测试。
- 按方案适配、实现精确、修改最小、无额外副作用、代码规范,对成功解排序;允许并列。
- 确认借用外部答案的轨迹先改为失败,再重新计算组均值与优势。
保持正负优势平衡
- 先计算
A_i = R_i − mean(R),再给成功轨迹分配质量权重f_i∈(0,1]。 - 低质量成功解降权;用公共系数按质量比例重新分配成功解的正优势。
P为成功轨迹集合;蓝色系数保留正优势总量,红色项是重新分配后的优势。- 仅降低正优势会破坏正负更新平衡;重归一化避免由此带来的熵过快增长。
- 实际训练限制
λ上限,再对全组优势减均值;最终轨迹优势分配到响应 token。
- 假设四条轨迹奖励为
[1, 1, 0, 0],原优势为[0.5, 0.5, −0.5, −0.5]。 - 两条成功解的质量权重为
[1, 0.5],公共系数为λ=4/3。 - 不触发系数上限时,新优势为
[2/3, 1/3, −0.5, −0.5]。 - 成功解的总正优势仍是
1,但更好的实现获得两倍学习权重;失败解保持负优势。
按任务难度约束长度
- 仅对通过率超过阈值的 group 启用长度惩罚,困难任务保留较大的探索空间。
- 以本组成功轨迹长度的指定分位数为参照,超过容忍范围后逐渐扣分,并限制最大扣分。
- 只扣成功轨迹的奖励,不用统一长度门槛惩罚所有任务。
Segment 级优势调整
- 对格式错误、非法工具名、错误参数等标记具体 token,避免只靠最终结果强化错误步骤。
- 正优势轨迹:错误 token 的优势归零,将正优势转移到正常 token。
- 负优势轨迹:放大错误 token 的负优势,减轻正常 token 的负向更新。
- 在 batch 内分别平衡正、负优势总量;基础设施失败采用 mask,避免惩罚模型。
大规模 RL 与训练系统
采样、评价与更新
- Harness 管理工具交互,rollout 模型采样动作,grader 给出奖励,trainer 重算动作概率并更新参数。
- 每个 prompt 生成一组轨迹;先对组内 token loss 归一化,再在 prompt 之间取平均。
- 相比直接平均整批 token,
prompt-mean避免长轨迹所在 group 获得过大的更新权重。
- 蓝色项是组内长度归一化;
A_i由奖励与行为约束得到,M决定 token 是否参与更新。
重要性采样与熵控制
r = stop_gradient(当前训练概率 / 该token生成时的rollout概率),partial rollout 保留原采样概率。- 正、负优势分别设置概率比上下界;超界 token 通过二值 mask 排除。
- 熵过低时放宽正优势范围、收紧负优势范围;熵过高时反向调节。
专家负载漂移
- RL 更新 router 会不断改变 token 的专家选择,使少数专家拥挤、部分专家接近闲置。
- 冻结 router,继续训练模型其余部分;冻结路由参数不等于冻结专家。
概率重算对齐
- Rollout 使用 SGLang,trainer 使用 Megatron;同一个动作的概率需基于一致计算条件。
- 量化对齐:专家权重进行匹配的 MXFP4 量化 / 反量化,减少两端数值偏差。
- R3 路由重放:保存 rollout 的专家编号,训练时复用,避免数值微差改变 Top-k 路由。
- 采样集合重放:保存 top-p / top-k 实际候选集,训练概率在同一词表子集上重新归一化。
四层轨迹结构
Sample:同一个 prompt 的 rollout group;Sequence:一次完整 Agent 执行。Context:对话分支,包括 sub-agent 或压缩后历史;Segment:一次生成或工具消息。- 仅模型生成内容参与 loss;保留分支与请求边界,使行为惩罚准确落到对应片段。
HarnessPool 与 PayloadPorter
- 固定数量的持久 Ray actor 承载大量 Agent Loop,共享推理代理与 tokenizer,减少控制面开销。
- 轨迹 payload 写入分布式存储;driver 只处理奖励、长度和对象地址,不集中搬运整批张量。
- Grader 异步回写奖励;按最终优势过滤无效 group,再按训练 rank 打包。
- CP rank 仅读取自己的窗口;多模态请求只传新增图片,视觉编码后再分发给对应 token 所在 rank。
任务比例控制
- 对每个数据源设定目标保留量
B_i,根据 group 接受率r_i估算采样需求B_i/r_i。 - 慢任务需要更高并发,低接受率任务需要更多尝试;预算同时考虑耗时与过滤比例。
- 调度综合长期目标配比与当前缺额,避免短任务抢占 batch,也避免慢任务长期供给不足。
Partial rollout 与分发
- 收满训练 batch 后暂停未完成轨迹,下轮更新后继续;大 batch 分摊重新 prefill 的开销。
- 按数据源预测完整长度和活跃时间,选择有足够 KV 容量、负载较低的推理 rank。
- 启动与故障恢复阶段,用满足 policy staleness 约束的 replay 补充慢任务缺额。
- Replay 用于启动和恢复,不是持续用历史轨迹替代正常在线采样。
草稿解码
- DFlash 读取主模型 hidden states 与已确认 token,并行预测一段后续 token,再由主模型验证。
- 草稿模型先通过 SFT 初始化,再用早期 RL 轨迹适配当前任务分布,减少草稿与策略错位。
- 工具执行期间将 KV 移到 pinned host memory,恢复生成时异步搬回 GPU。
训练端内存
- SWA 的 context parallel 通信只交换窗口可达的 KV,不传输完整历史。
- Optimizer state 在 CPU 存储,更新时按需加载;融合 policy / OPD loss 与熵计算减少中间张量。
- 多模态数据按图像数量均衡编码负载,再与 LLM 的 token 分片对接。
MOPD2 与小模型蒸馏
教师与学生 rollout
- 混合 RL 后,用 MOPD2 整合更多能力;可验证任务采用 RL 教师,开放任务采用 SFT 教师。
- Standard MOPD:学生生成完整轨迹,RL 教师在学生实际到达的上下文上提供 token 级指导。
- Teacher-Prefix OPD:从教师轨迹提取历史前缀,每个前缀独立初始化学生的一轮生成。
- SFT-Prefix OPD:从 SFT 演示提取前缀,学生同样自己生成后续内容。
前缀条件的作用
- 一条含
k轮 assistant的轨迹可拆成k个完整历史前缀,每个都结束在对应生成之前。 - 学生不必重做此前的全部交互;教师基于相同历史与学生已生成 token 计算监督。
- SFT 教师较少见到学生多次偏离后的状态,固定演示前缀缩小这种分布差异。
- 演示提供历史,不提供必须照抄的答案;新一轮仍属于学生的 on-policy 生成。
SFT 蒸馏
- 以 Qwen3.5-9B 为基础,用 MiMo 生成的 Code、Cyber、General、Visual 轨迹训练。
- 通过监督学习转移复杂交互经验,得到可供后续 RL 使用的共同起点。
开放训练资源
- 约
7K任务:Code 配执行测试,Cyber 配规则验证,General 配 rubric,Visual 配视觉评价。 - 另提供约
1K音乐生成任务,探索创作任务中的 RL。 - 开放环境、verifier、mini-harness 与端到端 RL 框架,便于比较数据、奖励和交互方式。
实验设置(V2.6混合RL、MOPD2与9B领域RL)
训练起点与数据
- 使用 V2.6 自身的 Base → MidTrain → SFT checkpoint,分别训练 Pro 与 Flash。
- Pro 预训练
30T tokens:文本27T、多模态3T;Flash 为48T:文本26T、多模态22T。 - RL 配比:Code
68%、General Tool Use12%、Visual13%、Context Following3%、Cyber4%。
优化配置
prompt_bs=1568, rollout=16, global_bs≈25K轨迹, staleness=4,报告主训练运行30步。- 每步约
2.7B~3.7B tokens,平均轨迹110K~150K,最长上下文1M。 - Muown:
lr=3e-6, weight_decay=0, warmup=0, grad_clip=1.0。 - Muon:
momentum=0.95, Nesterov, NS_iters=10, update_scale=0.5;Adam:β1=β2=0.95。 - 正负优势的 IS mask 初始范围均为
[0.2, 5.0];冻结 router,继承 SFT 优化状态。
评测任务
- Code:DeepSWE v1.1 长程开发、ProgramBench 程序重建、内部 MiMo Code Bench。
- General:AutomationBench、Toolathlon、GDPval、Terminal-Bench、OSWorld 等工具与职业任务。
- Visual / Cyber:视觉设计与复刻;漏洞复现与更长链路的安全任务。
- 前沿模型按最高 reasoning effort 评测;RL 过程与 MOPD2 后最终模型分别报告。
控制变量
- GAR 消融:MiMo-V2.6-Flash,Code-only RL,
bs=128,使用token-meanloss。 - Router 消融:对比训练 router、冻结 router,并测试仅恢复初始 router 的效果。
- Harness 泛化:评估未参与训练的 Codex、Claude Code、mini-SWE-agent 配置。
- 解码消融:MTP-3 对照 DFlash,RL 默认
block=6,另比较block=8与 RL 轨迹适配。
SFT 数据
- 总量
77.4B tokens,其中参与 SFT loss 的响应为27.2B tokens。 - Code
23.2B、Cyber11.0B、General22.0B、Visual21.2B。 - 四类 RL 环境分别约
3K、1K、1K、2K任务。
两组独立实验
- 领域 GRPO:从同一个 SFT checkpoint 分别训练 Code、Cyber、General、Visual 模型。
- Code 领域先采用单一 Harness;这些领域成绩对应各自 checkpoint。
- Multi-Harness Code RL:另行混合四种 mini-harness 训练,评估四种训练配置与三种未见配置。
- Code 主表使用
avg@3,多数 General 评测使用avg@1;跨 Harness 表取七种配置的均值。
关键结果(MiMo-V2.6:混合RL + MOPD2;9B:SFT + GRPO)
混合 RL 的持续收益
- DeepSWE v1.1
avg@3:Pro 从58.4 → 72.6,Flash 从48.7 → 65.7。 - Code、General、Visual 等任务随训练推进共同提升,表明该混合训练配方能够持续产生收益。
- Pro 的 RL 成本中,rollout 与更新各约
44%,grader 约13%;奖励评价也是重要计算投入。
MOPD2 后的最终模型
- Pro 在 DeepSWE 为
71.9、AutomationBench 为53.1、Toolathlon-Verified 为76.9。 - 相对 V2.5-Pro 的
19.0、16.0、49.1,长程开发与跨应用工作流均明显提升。 - Flash 对应为
67.9、52.3、73.6,以更小激活规模保留了较强的 Agent 能力。 - 这是代际最终模型比较;混合 RL 的单阶段提升由上面的训练曲线衡量。
工具与职业任务
- Pro 的 Terminal-Bench 2.1 达
89.9,OSWorld-Verified 达82.0,MiMo Visual Coding 为72.3。 - AutomationBench 高于表中对照模型,但 Toolathlon 仍低于 Claude Opus 5 的
80.6。
更长任务与安全任务
- ProgramBench 为
26.5,低于 Claude Opus 5 的37.0;完整程序重建仍有明显提升空间。 - Terminal-Bench 4.0 为
34.9,低于 Claude Opus 5 的49.0,新版困难任务尚未解决。 - ExploitGym 为
17.8,低于 GPT-5.6 Sol 的30.3;复杂安全任务中的差距仍然存在。
质量评价改善训练动态
- 无 GAR 时,轮数和 token 数快速增长,更多轨迹耗尽预算,通过率难以持续提高。
- 加入 GAR 后,训练到
52步仍保持提升,轮数较稳定,token 长度增长更缓。 - 代码审计中,过度兼容、吞异常、放宽校验等行为减少,patch 更精确且更符合任务范围。
- 收益是相对控制组的长度增长更稳定,不表示所有 RL 训练中的输出长度都会下降。
交互方式迁移
- 三种未参与训练的 Harness 上,平均 DeepSWE pass@1 约从
50 → 66。 - 训练配置与未见配置之间的差距缩小,多 Harness 训练有助于迁移工具交互策略。
冻结 Router 消融
- 训练 router 时,Pro 第9层专家负载 CV 约从
0.78 → 2.0,最大负载从6倍 → 16倍。 - 仅将 router 恢复到初始状态,就能恢复负载分布,而评测分数基本不变。
- 冻结 router 的运行保持负载稳定且能力继续提升,说明这部分负载漂移并非能力增长所必需。
训练系统经验
- 主训练中,即便全 batch 看似均衡,单 microbatch 仍可能出现专家拥挤并触发 OOM。
- 启动时短任务先完成,会低估后续 KV 需求;长序列打包也可能耗尽节点 CPU 内存。
- DFlash 的平均接受长度较 MTP 提升
31.3%;block=6较block=8吞吐高约6%。 - 草稿块的选择看端到端吞吐,而非只看接受长度;较短草稿减少了主模型验证计算。
先建立交互基础,再进行领域优化
- Qwen3.5-9B → SFT → Code GRPO:SWE-bench Pro
32.0 → 44.6 → 47.6。 - SWE-bench Verified 从 SFT 的
61.1 → 66.2,说明更强 SFT 起点仍能通过 RL 改进。 - General GRPO:Terminal-Bench 2.1
37.1 → 52.8,Toolathlon-Verified35.2 → 38.0。 - Visual / Cyber GRPO:内部 mini 评测分别为
64.0 → 72.4、31.3 → 47.0。
独立的 Multi-Harness Code 实验
- 七种 Harness 平均 SWE-bench Verified:基础模型
53.1、SFT62.3、RL65.7。 - SWE-bench Pro 为
27.5 → 44.4 → 46.5,全部21个数据集与 Harness 组合均有提升。 - 蒸馏提供可迁移的交互基础,继续混合 Harness RL 后,未见配置也能受益。
未来方向
更通用的 Agent 自进化
- 继续结合广泛探索、更有信息量的反馈和可扩展训练系统,增强通用 Agent 能力。
- 依托开放小模型、环境和框架,推进可复现、可积累的 Agent RL 实验。
当前系统限制
- 长尾 rollout、启动期长度估计偏差和 microbatch 专家拥挤仍会造成资源浪费或训练中断。
- 环境与 grader 需要持续审计,避免策略增强后发现新的奖励投机路径。
(2604) MiMo-V2.5-Pro (1.02T-A42B, 长程Agent)
参考链接
模型与训练路线
- 面向复杂开发与长程 Agent,扩展模型规模、历史容量和持续工具执行能力。
1.02T-A42B MoE;约27T tokens预训练,采用 FP8 混合精度与32K序列。- 后训练采用
SFT → 领域 Agent RL → MOPD;Base 为256K上下文,最终模型支持1M。
局部与全局 Attention
70层:60层 SWA + 10层 Global Attention,局部窗口128 tokens。- SWA 处理邻近信息,全局层连接远距离内容,降低长历史的 KV 存储与读取成本。
- Learnable Attention Sink 提供额外注意力分配位置,减轻窗口内无关信息的干扰。
MoE 与 MTP
- 首层 Dense,其余 MoE;每层
384个routed experts,每 token 选择Top-8。 - 三个轻量 MTP 模块生成后续 token 草稿,主模型并行验证,提高长输出与 rollout 效率。
SFT 与领域 RL
- SFT 建立指令遵循和工具交互能力,再分别训练数学、安全、复杂 Tool Use 等领域教师。
- 各教师使用对应任务与 RL 奖励,先提高专项能力,减少多领域直接混训的冲突。
MOPD
- 学生生成自己的轨迹,领域教师在相同上下文上提供逐 token 指导。
- 学生在自身会遇到的状态中学习教师行为,将多个领域能力整合到单个模型。
长历史推理与 Base 能力
- GraphWalks 的 BFS / Parents:
512K时0.56 / 0.92,1M时0.37 / 0.62。 - 百万窗口可支持关系查询,但图规模扩大后,精确多跳推理仍明显下降。
- Base 在 SWE-bench 的
AgentLess、3-shot设置下为35.7,MiMo-V2.5 Base 为30.8。
SysY 编译器案例
- 从零实现词法、语法、IR、RISC-V 后端和优化;
4.3小时、672次工具调用后通过233/233隐藏测试。 - 中途重构引起测试回退,模型继续诊断并恢复,展示长任务中的状态维护和错误修复能力。
(2601) MiMo-V2-Flash (309B-A15B, MOPD)
🌺 论文摘要
参考链接
问题背景
- 长推理与 Agent 训练受限于解码成本;多任务后训练又容易出现能力相互干扰。
- 需要同时提高模型效率、领域训练质量与多能力整合效果。
核心方法
- 架构优化:
309B-A15B MoE,39层 SWA + 9层全局 Attention,结合轻量 MTP 降低解码成本。 - 基模训练:
22T预训练 →4T MidTrain→1T扩窗,再进行多领域 SFT。 - 领域教师训练:构建 Agent 环境与奖励;R3 保持路由一致,partial rollout 调度长轨迹。
- MOPD:学生自己 rollout,领域教师给 token 级指导,再结合结果奖励整合能力。
模型效果(MiMo-V2-Flash,MOPD前后)
- AIME 2025:
89.3 → 94.1;SWE-bench Verified:67.8 → 73.4。 - BrowseComp:
42.5 → 45.4,仍低于最佳教师51.7;能力整合并非完全无损。
重要结论
- 小窗口与全局层分工、MTP 解码和领域蒸馏可以协同提升训练与推理效率。
- 教师逐 token 指导提供密集反馈,最终结果奖励仍有价值。
核心贡献
- 将高效 MoE、专业教师训练与 on-policy 蒸馏接成统一的基模及 Agent 后训练路线。
未来方向
- 扩大模型与训练计算,继续优化 Agent 架构,并迭代教师与学生共同训练。
问题背景
推理效率
- 长推理和多轮 Agent 大量消耗 rollout;长尾轨迹会拖慢整批更新。
- 小 batch 更接近 on-policy,但难以充分利用 GPU,需要额外的解码并行方式。
能力整合
- 数学、代码、搜索和通用对话需要不同数据与奖励,直接混训容易出现能力回退。
- 先独立优化领域教师,再整合到统一学生,可以分别控制专业训练与能力保持。
核心方法
架构优化
MoE 与层配置
- 共
48层,首层 Dense,其余使用256选8的 MoE,不设置共享专家。 - 总参数
309B,激活参数15B;hidden size4096。 - 主体按多层 SWA 后接一层全局 Attention 组织,共
39层 SWA、9层全局。
局部窗口
- SWA 仅读取相邻
128 tokens,全局层承担远距离依赖。 - 局部层的 KV 不需要随完整历史持续增长,降低长上下文读写成本。
机制
- 每个 head 在 softmax 分母加入可学习的 sink 项,实际 token 的权重和可以小于 1。
- 当局部窗口缺少相关信息时,模型可以减少对这些 token 的关注。
- sink 不对应新的文本内容;它控制当前 head 对实际 value 的输出强度。
设计目的
- 避免小窗口内被迫分配全部注意力,支持更激进的局部/全局分工。
- 小窗口效果需结合全局层与 sink 一起评估,不能只按窗口大小判断信息损失。
结构与训练
- 每个 MTP head 使用小型 Dense FFN 与 SWA,约
0.33B参数。 - 输入主模型 hidden state 与 token embedding,预测后续 token。
- 预训练只挂一个 head;后训练复制为多个 head,联合训练多步预测。
推理与 rollout
- MTP 产生多个候选 token,主模型并行验证,提高一次权重/KV 读取的产出。
- 加速来自 token 维度并行,对小 batch 与长尾请求尤其有用。
- 草稿越容易被接受,解码收益越大;任务的不确定性会影响接受长度。
预训练与上下文扩展
通用预训练:22T tokens
- 使用网页、书籍、论文、代码和 STEM 材料,原生序列长度
32K。 - 强化长文档、仓库代码、PR、Issue 与 commit,增加长距离依赖数据。
MidTrain:4T tokens
- 提高代码数据比例,加入约
5%合成推理,增强逻辑与程序生成能力。
扩窗:1T tokens
- 沿用 MidTrain 数据类型,上下文扩至
256K,提高长依赖样本占比。 - 调整全局 Attention 的 RoPE 配置,局部 Attention 继续使用小窗口。
领域教师训练
数据
- 百万级对话、推理、代码与 Agent 示例,同时覆盖 Thinking 与非 Thinking 模式。
- 由内部领域模型生成示范,先建立指令遵循与交互格式。
MoE 监控
- 监控零梯度参数数量
num-zeros,观察专家负载与训练状态变化。 - 配合专家 bias 更新率和 AdamW ε 调整,避免 SFT 阶段的不稳定延续到 RL。
Code 与 Terminal Agent
- Code 数据包括
90K真实问题 + 30K合成问题,统一进入真实仓库环境。 - 自动安装依赖并构建容器;Agent 通过
bash / str_replace / finish操作,以测试结果获得奖励。 - Terminal 从技术问答提取可执行任务,构造 query、Dockerfile 和测试,再按可靠性与难度过滤。
Web、Search 与 General Agent
- Web 任务从优质页面逆向构造需求;Playwright 录制运行视频,视觉 verifier 判断外观与功能。
- Search 构造
150K可验证任务,通过关系链深度与细节隐藏调节难度。 - General Agent 构造
50K合成任务,工具图同时包含显式数据依赖与隐含状态依赖。
非 Agent 任务
- 数学、代码等任务结合工具验证与 LLM judge;开放任务使用 rubric 评价帮助性与安全性。
- 不同领域分别优化教师,避免由同一组奖励权重承担所有训练目标。
Data Scheduler
- 按序列调度,某条完成即可判分并补入新任务,降低整批等待。
- partial rollout 将超长轨迹跨训练步续写,并限制样本过期程度与占比。
- 按数据源设置配额、优先级、长度与温度,重叠生成和奖励计算。
Toolbox / Tool Manager
- 集中管理工具配额与 QPS,通过 Ray actor pool 复用运行资源。
- 环境预热减少冷启动,异步判分与 timeout 恢复减少工具等待。
- 工具逻辑与全局调度分离,使不同 Agent 环境共享训练系统。
多教师 On-Policy 蒸馏
数据流
- 学生根据当前策略生成回答或轨迹,再选择对应领域教师评价这些上下文。
- 教师可以来自 RL、SFT,也可以使用学生自身的已有 checkpoint 保留原有能力。
- 学生学习自己实际访问的状态,减少静态教师示范与自身生成分布的差异。
优势定义
- 第一项比较教师与学生对当前 token 的概率,提供密集的局部指导。
- 第二项来自最终结果奖励,补充任务是否成功的整体信号。
sg表示该指导信号不反传梯度;优化时使用它调整学生 token 概率。
直观例子
- 若教师对某 token 的概率为
0.4、学生为0.2,第一项为log 2,倾向提高其概率。 - 若任务失败带来负结果优势,这一局部鼓励可能被抵消;教师偏好与任务成功共同决定更新。
概率比修正
- 训练策略
πθ与推理引擎中的采样策略μθ可能存在数值差异。 - 使用
πθ / μθ作为 importance weight;差异超过阈值的 token 权重置零。 - 权重修正作用在学生采样分布,教师概率比则负责形成蒸馏优势。
R3:Rollout Routing Replay
- 保存 rollout 期间选择的 MoE experts,训练时复用相同路由。
- 多轮请求缓存自己的 KV 与历史路由,避免重新 prefill 或跨请求缓存改变采样路径。

实验设置(预训练、SFT与MOPD)
预训练参数
- AdamW:
β₁=0.9、β₂=0.95、weight decay=0.1,梯度裁剪1.0。 - 前两阶段 batch size 逐渐增至
2048;扩窗阶段 batch size256。 - 学习率依阶段从
3.2e-4逐渐降至1e-5;训练与 rollout 使用 FP8。
SFT 参数
- batch size
128,学习率5e-5 → 5e-6,AdamWε=1e-8。 - 专家 bias 更新率
1e-4,sequence auxiliary loss 系数1e-6。
方法对照
- 32B Dense 代理模型比较全局 Attention、128窗口有/无 sink、512窗口有 sink。
- 代理模型预训练
250B tokens,再用40B tokens扩至32K,并进行长上下文与推理 SFT。 - MOPD 比较原学生、最佳领域教师与蒸馏后学生,并比较有/无 ORM 的训练。
评测与系统实验
- 评测推理、写作、长上下文、SWE、Terminal、BrowseComp 与 τ₂-bench。
- MTP 使用
16K输入 / 1K输出,比较不同 batch size 与接受长度。
关键结果(MiMo-V2-Flash,领域教师 + MOPD)
数学与代码
- AIME 2025:学生
89.3 → 94.1,最佳教师93.9,蒸馏后保留了高水平推理能力。 - SWE-bench Verified:
67.8 → 73.4,接近教师74.2。 - τ₂-bench:
75.9 → 80.3,多轮工具交互也从专业教师中获益。
仍有能力损失
- BrowseComp:
42.5 → 45.4,与教师51.7仍有差距。 - 创意写作:
90.1 → 86.2,说明统一蒸馏仍需关注不同能力的保持。 - 加入上下文管理后 BrowseComp 为
58.3,体现 Agent 运行策略对最终效果的影响。
Attention Sink 消融
- 32B 代理模型的128窗口配置,MMLU 从无 sink 的
54.9提高到58.3。 - 该设置下128窗口的长上下文效果优于512窗口,支持局部与全局层的明确分工。
MTP 解码收益
- 每节点 batch
64、接受长度3.6时,三层 MTP 解码提速2.53×。 - 接受长度随生成不确定性变化,实际加速需要结合任务与并发配置。
未来方向
能力与效率
- 扩大模型规模和训练计算,继续缩小与最强模型的能力差距。
- 深入研究 Attention、MTP 与 Agent 任务的结构适配,改善长上下文与解码效率。
教师与学生共同迭代
- 以蒸馏后的学生继续训练更强领域教师,再进行下一轮 MOPD。
- 扩大这一循环的计算投入,同时跟踪搜索、写作等能力的保持情况。
(2505) MiMo-7B (测试难度奖励, Seamless Rollout)
🌺 论文摘要
参考链接
问题背景
- 小模型的 RL 上限受到预训练推理能力、有效奖励与 rollout 效率共同限制。
- 难代码题要求全测试通过才得分,反馈过于稀疏;动态采样又会浪费大量生成与等待时间。
核心方法
- 推理预训练:约
25T tokens,逐阶段增加数学、代码和合成推理,配合 MTP。 - 后训练数据:构建长 CoT SFT 与可验证 RL 任务,对比 RL-Zero 和 SFT 冷启动路线。
- RL 算法与奖励:测试难度分层提供部分正确性反馈;改进 GRPO,并以
10%概率回采简单题。 - Seamless Rollout:连续生成、异步判题和按启动顺序收尾,减少 GPU 等待与短回答偏置。
模型效果(MiMo-7B,SFT + RL)
- 初版 SFT → RL:AIME 2025
44.3 → 55.4;LiveCodeBench v552.3 → 57.8。 - RL-0530 更新后分别为
70.2 / 60.9;同时扩大 SFT 与生成预算。
重要结论
- 较强的 SFT 起点仍能继续受益于 RL;只做格式对齐的轻量 SFT 并不理想。
- 奖励应提供可学习的差异,采样系统则要高效获得这些有效样本。
核心贡献
- 将推理预训练、代码部分奖励和连续 rollout 联合优化,提供小模型推理训练经验。
未来方向
- 改善数学与代码混训、奖励可靠性,并继续研究 SFT 规模和 on-policy 计算的分配。
问题背景
推理起点
- RL 依赖模型能够探索到有效解法,预训练应包含足够多的数学和代码推理模式。
- 长 CoT 增加解码成本,训练吞吐与模型能力需要一起优化。
有效反馈与采样
- 全对才得分使困难代码题很容易出现整组零奖励。
- 动态采样要过滤无差异的回答组,但随着简单题增多,凑齐有效 batch 会越来越慢。
核心方法
推理导向预训练
推理内容保留
- 改进 HTML / PDF 提取,保留公式、代码块和技术讨论的结构。
- URL 与 MinHash 全局去重,再用小型 LLM 做领域分类和多维质量评分。
- 从 STEM 材料与数学、代码问题合成推理,同时补充创意写作等通用任务。
三阶段混合
- 阶段1:保留多领域知识,降低广告、新闻等低信息密度内容的权重。
- 阶段2:数学与代码提高到约
70%,前两阶段上下文为8K。 - 阶段3:加入约
10%合成推理回答,上下文扩到32K。
模型配置
36层,hidden size4096,FFN size11008;32个attention heads、8个KV groups。- 采用 GQA、pre-RMSNorm、SwiGLU 与 RoPE。
MTP
- 预训练增加单个 MTP head,让表示同时支持后续 token 预测。
- 后续复制出两个额外 head,冻结主模型和首个 head,训练新增 head。
- 推理时使用多步草稿与主模型验证,加速长推理生成。
SFT 与 RL 数据
SFT
- 混合开源与内部蒸馏数据,过滤 benchmark 重叠、语言混杂和不完整回答。
- 每个 query 最多保留
8个回答,初版形成约500K样本。
数学 RL:100K题
- 去掉证明题、多选题与明显错误问题,保留可验证的原始问题。
- 先用强模型排除无解或过难题,再用 MiMo-SFT
16次采样评估难度。 - 过滤通过率超过
90%的简单题。
代码 RL:30K题
- 要求有测试;若参考解无法通过全部测试则删除问题。
- 用强模型排除无有效反馈的任务,再过滤 MiMo-SFT
16次全对的问题。 - 构建并行 Online Judge,支撑大量测试执行。
强化学习算法与奖励
测试难度
- 使用多个模型多次生成答案,统计每个测试用例的通过率。
- 将测试按通过率聚类;通过率低的测试对应更难的子问题。
- 困难题即使暂时无法全过,也能通过较简单的子任务获得学习信号。
两种奖励
- Strict:只有当前难度层及所有更简单层的测试全部通过,才获得当前层分数。
- Soft:将每层分数平均分到该层测试,累加所有已通过测试的分数。
- 数学仍使用 Math-Verify;正式配方不额外加入格式奖励与长度惩罚。
示意分组
- 简单层总分
0.4,困难层总分0.6;这些权重仅用于理解规则。 - 某答案通过全部简单测试和一半困难测试。
反馈差异
- 全对奖励为
0;Strict 为0.4;Soft 为0.4 + 0.6 × 0.5 = 0.7。 - Strict 强调分层完整性,Soft 提供更细的渐进反馈。
GRPO 改进
- 按同一问题的多个回答计算组内相对优势,让高奖励回答获得正向更新。
- 去掉 KL loss;提高上裁剪范围,给低概率有效动作保留更多增长空间。
- 动态采样过滤全对、全错等无有效区分的回答组,保持有效 batch 规模。
简单题池
- 随着模型进步,将整组全对的问题放入独立简单题池。
- 以
10%概率从池中回采,其余采样集中在仍有学习空间的问题。 - 避免每步大量重做简单题,也避免永久删题造成训练分布突变。
扩大 SFT
- SFT 从约
500K扩到6M条,增强推理与通用对话起点。 - 继续在更强 SFT 模型上进行 RL,而不是只用少量格式样本冷启动。
延长生成预算
- 使用更接近 on-policy 的训练,提高持续优化稳定性。
- 生成预算逐步从
32K → 38K → 48K,让更复杂的推理有足够展开空间。
Rollout 调度系统
序列级调度
- 某条 rollout 完成立即送去判分,GPU 可以继续生成新的任务。
- 根据已获得的有效样本数与当前通过率,估计是否还需要补充 rollout。
- 不必等待整批最长回答结束后,才开始计算奖励。
异步 Reward
- Ray 并行管理 rollout 与判分,代码任务使用独立判题服务器。
- 数学与代码奖励的耗时不同,异步执行避免慢测试阻塞其他生成。
直接截停的问题
- 若凑够样本立即停止所有未完成生成,短回答更容易进入训练。
- 这种选择会改变回答长度分布,并减少复杂推理的训练机会。
按启动顺序选择
- 有效样本数足够后,仍等待比已选样本更早启动的任务结束。
- 只停止无需继续等待的较晚任务,兼顾收尾效率与长回答保留。

实验设置(MiMo-7B,SFT与RL-Zero对照)
模型与训练路线
- 比较 Base → RL-Zero,以及 Base → SFT → RL。
- 初版 SFT:
500K样本、lr=3e-5、batch=128、32K packing。 - 初版 RL:
batch=512、actor mini-batch=32、lr=1e-6,每次迭代16次梯度更新。 - RL 生成温度与 top-p 均为
1.0,最大长度32768。
评测协议
- 评测温度
0.6、top-p0.95;AIME 重复32次,代码重复8次,统计平均成绩。 - 初版推理、代码与科学任务最大生成
32K;RL-0530 使用48K。 - 对比 Strict、Soft 与全测试通过奖励,评估代码奖励设计。
系统实验
256张 H20,随机抽取5步训练轨迹。- 逐项加入连续 rollout、异步奖励与 early termination,比较完整训练耗时和 GPU 空闲。
关键结果(MiMo-7B,推理预训练 + SFT + RL)
RL-Zero 与 SFT + RL
- AIME 2025:Base
24.3,RL-Zero46.3;SFT44.3,SFT + RL55.4。 - LiveCodeBench v5:Base
32.9,RL-Zero49.1;SFT52.3,SFT + RL57.8。 - 直接 RL 可以明显提高推理能力,较强 SFT 起点在这里达到更高的最终效果。
0530 更新
- AIME 2025 达
70.2,LiveCodeBench v5 达60.9,进一步提高数学与代码表现。 - 该版本同时扩大 SFT 数据并调整 on-policy 训练与生成长度,体现整套训练路线的收益。
训练经验
- 仅做格式对齐的轻量 SFT 后期落后于 RL-Zero,说明冷启动数据应包含实际推理能力。
- Base 直接 RL 后期出现数学与代码干扰;可靠问题集与较强 SFT 有助于稳定混训。
- 简单语言惩罚可能诱导始终用英语回答,额外奖励需要检查其实际行为影响。
困难代码任务
- Strict 和 Soft 的训练曲线均优于全对奖励基线,困难题的部分正确性具有训练价值。
Seamless Rollout
- 相对朴素动态采样,端到端训练提速
2.29×,GPU 空闲比例69.3% → 27.7%。 - 生成与判题衔接减少等待;有效样本仍需经过动态筛选,不能只追求原始生成吞吐。
未来方向
奖励与混训
- 改进数学判分和问题清洗,减少 reward hacking;持续跟踪数学、代码之间的能力干扰。
- 根据训练阶段调整测试难度分组与任务配比,保持有效奖励差异。
数据与计算分配
- 比较更大 SFT、更多 on-policy RL 与更长生成预算的边际收益。
- 将连续 rollout、MTP 与有效样本筛选联合优化,降低每次有效更新的计算成本。