Skip to content

小米系列

📅 发表于 2025/01/02
🔄 更新于 2026/08/05
👁️ — 次访问
📝 11313 字
⏳ 34 分钟
mimo
#MiMo-V2.6
#MiMo-V2-Flash
#RL
#MOPD2

变化点 ​

2026

2026.09 · MiMo-V2.6 Pro / Flash

  • 扩大混合 RL,引入 GRS / GAR 分组奖励,改善多领域训练。
  • 采用 MOPD2 整合教师能力,并向开放的 9B 模型蒸馏。

2026.04 · MiMo-V2.5-Pro

  • 扩大至 1.02T-A42B 与 1M 上下文,面向长程 Agent。
  • 增强多步工具执行、长上下文利用与任务完成能力。
2025

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) ​

🌺 论文摘要

MiMo-V2.6 论文摘要

参考链接

问题背景

  • 长程 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-Verified 76.9、Terminal-Bench 2.1 89.9。

重要结论

  • GAR 消融中,奖励成功解的实现质量,可以抑制轮数膨胀,并维持更长时间的性能增长。
  • Router 更新造成专家负载偏移;冻结 router 后仍能提升能力,不必让路由随 RL 一起漂移。

关键贡献

  • 将大 batch、多环境与 Harness、Agent grader 三条扩展路线接入同一套 Agent RL 系统。
  • 开放 MiMo-V2.6-Distill-Qwen-9B、任务环境、verifier、mini-harness 和 RL 框架。

未来方向

  • 结合更广的探索、有效反馈与可扩展训练系统,推进可复现的 Agent 自进化研究。

问题背景 ​

长程 Agent 的训练瓶颈

任务与奖励

  • 测试通过但实现质量差:吞异常、扩大 API、增加无关兼容分支,也可能得到成功奖励。
  • 环境泄漏答案:上游修复、构建缓存或残留 patch,使模型通过检索答案代替解决任务。
  • 单一交互方式过拟合:工具接口、系统提示和上下文管理固定,换 Harness 后能力下降。

训练与能力覆盖

  • 异步采样改变任务比例:短任务先完成,慢任务或筛选率高的任务难以进入足够多的 batch。
  • 训练端重算概率错位:量化、MoE 路由和采样候选集不同,会污染重要性采样比。
  • 开放任务难以验证:游戏开发、科研等难以设计可靠奖励,仍需要教师蒸馏补充能力。

核心方法 ​

多模态架构与基模训练 ​

Hybrid SWA 与稀疏 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 目标,不使用对比学习。

音频压缩

  • 308M Audio Tokenizer 将音频编码为 25Hz 帧,每帧由 20层 RVQ 产生离散编码。
  • 127M Audio Patch Encoder 聚合每帧编码,再将连续 4帧 合成一个输入 patch。
  • 输入主模型的音频序列降至 6.25Hz,同时保留语音、音乐与一般声音信息。
PreTrain → MidTrain → SFT

基模与上下文扩展

  • 先训练文本 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 行状态。

任务环境与分组奖励 ​

Code 任务与测试构建

任务来源

  • GitHub Issue / PR:筛除重复、异常与不可复现记录,保留问题描述、修复与执行环境。
  • 真实开发请求:收集功能开发、重构、维护和调试任务,由 Agent 补充行为测试。
  • 规格合成与 CodeMidas:从多约束需求或现有函数行为构建任务,不依赖已有 PR。
  • 长程任务:逐轮增加需求、跨组件依赖和测试,扩大持续开发的复杂度。

测试质量

  • 测试约束任务要求的行为,避免强迫所有解法复现 reference patch 的实现细节。
  • 同时检查漏测与误杀:对比任务说明、提交 patch、执行日志,识别错误通过和正确失败。
  • Reference patch 应修复原失败测试且保留原通过测试,并通过重复执行检查稳定性。
General、Visual 与 Cyber 环境

General Agent

  • Agent 构建本地 workspace、文件、数据库和 MCP / CLI / GUI 工具,固定初始状态并隔离执行。
  • 从职业任务生成需求;多 Agent 填充资料,检查实体、数字、时间和引用的一致性。
  • Rubric 拆成可独立判断的条件:代码验证确定性结果,LLM 评价开放内容。
  • 用不同能力模型试跑,修正规则歧义;额外检查无关文件和数据库是否被误改。

Visual 与 Cyber

  • Visual:网站、游戏、3D、幻灯片等;先验证运行和要求,再比较布局与视觉质量。
  • 参考图复刻结合像素指标与整体评价,开放设计采用 rubric 和组内作品比较。
  • Cyber:从可复现漏洞建立任务,要求触发指定问题,而非任意 crash。
  • Verifier 同时匹配 sanitizer 错误类型与项目内关键栈位置,避免以无关崩溃冒充完成。
多 Harness 与防奖励投机

可组合交互方式

  • mini-harness 将系统提示、工具和上下文管理拆成独立模块,再组合成不同交互配置。
  • 同一模型混合训练多种配置;同一个 rollout group 使用相同 Harness,保持优势比较条件一致。

环境与轨迹审计

  • 清除上游修复、残留 patch、目标项目缓存和构建产物,Git 历史只保留任务起点及之前版本。
  • 容器级网络隔离阻止下载已有修复;保留离线依赖,避免破坏任务正常执行。
  • HackAgent 持续探测可利用路径,修复环境后重新测试;RL 中继续离线审计轨迹。
  • MidTrain 加入识别违规行为并重新解决任务的自纠正轨迹;在线确认投机后将奖励置零。
GRS:任务级评分规则

离线生成,在线复用

  • 主要用于测试通过率较高的 Code 任务:01 奖励已经难以区分多个成功解。
  • Agent 联合阅读多条离线轨迹、任务说明和仓库,生成 solution rubrics 与 behavior rubrics。
  • 前者检查要求、边界情况与实现质量;后者检查证据收集、验证等可观察行为。
  • 规则以任务需求为依据,不把某个成功 patch 的个人实现选择变成统一要求。

乘法奖励

  • 在线 grader 进入每条轨迹的环境,结合代码与执行证据,分别评估实现与行为。
Ri=Ritest⋅Sisol⋅Sibeh
  • test 为原始测试奖励;蓝色项评价实现质量,红色项评价求解和验证行为。
  • 测试失败仍为 0;全部通过时,质量分不同也能产生组内学习信号。
GAR:成功轨迹的优势重分配

在线比较成功解

  • 其余 Code 任务中,对有成功也有失败的 rollout group 进行联合评价。
  • SFT 训练的 grader 阅读所有 patch 与测试输出,可检查仓库并执行针对性测试。
  • 按方案适配、实现精确、修改最小、无额外副作用、代码规范,对成功解排序;允许并列。
  • 确认借用外部答案的轨迹先改为失败,再重新计算组均值与优势。

保持正负优势平衡

  • 先计算 A_i = R_i − mean(R),再给成功轨迹分配质量权重 f_i∈(0,1]。
  • 低质量成功解降权;用公共系数按质量比例重新分配成功解的正优势。
λ=∑j∈PAj∑j∈PfjAj,Ai′={λfiAi,i∈P,Ai,i∉P.
  • P 为成功轨迹集合;蓝色系数保留正优势总量,红色项是重新分配后的优势。
  • 仅降低正优势会破坏正负更新平衡;重归一化避免由此带来的熵过快增长。
  • 实际训练限制 λ 上限,再对全组优势减均值;最终轨迹优势分配到响应 token。
GAR 数值示例
  • 假设四条轨迹奖励为 [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 与训练系统 ​

GRPO 与 Prompt-Mean 更新

采样、评价与更新

  • Harness 管理工具交互,rollout 模型采样动作,grader 给出奖励,trainer 重算动作概率并更新参数。
  • 每个 prompt 生成一组轨迹;先对组内 token loss 归一化,再在 prompt 之间取平均。
  • 相比直接平均整批 token,prompt-mean 避免长轨迹所在 group 获得过大的更新权重。
L=−Eq[1∑i|oi|∑i,tri,tMi,tAilog⁡πθ(oi,t∣q,oi,<t)]
  • 蓝色项是组内长度归一化;A_i 由奖励与行为约束得到,M 决定 token 是否参与更新。

重要性采样与熵控制

  • r = stop_gradient(当前训练概率 / 该token生成时的rollout概率),partial rollout 保留原采样概率。
  • 正、负优势分别设置概率比上下界;超界 token 通过二值 mask 排除。
  • 熵过低时放宽正优势范围、收紧负优势范围;熵过高时反向调节。
Router 冻结与训练推理一致性

专家负载漂移

  • RL 更新 router 会不断改变 token 的专家选择,使少数专家拥挤、部分专家接近闲置。
  • 冻结 router,继续训练模型其余部分;冻结路由参数不等于冻结专家。

概率重算对齐

  • Rollout 使用 SGLang,trainer 使用 Megatron;同一个动作的概率需基于一致计算条件。
  • 量化对齐:专家权重进行匹配的 MXFP4 量化 / 反量化,减少两端数值偏差。
  • R3 路由重放:保存 rollout 的专家编号,训练时复用,避免数值微差改变 Top-k 路由。
  • 采样集合重放:保存 top-p / top-k 实际候选集,训练概率在同一词表子集上重新归一化。
统一轨迹与多 Harness 执行

四层轨迹结构

  • 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。
SampleMixer 与异步采样

任务比例控制

  • 对每个数据源设定目标保留量 B_i,根据 group 接受率 r_i 估算采样需求 B_i/r_i。
  • 慢任务需要更高并发,低接受率任务需要更多尝试;预算同时考虑耗时与过滤比例。
  • 调度综合长期目标配比与当前缺额,避免短任务抢占 batch,也避免慢任务长期供给不足。

Partial rollout 与分发

  • 收满训练 batch 后暂停未完成轨迹,下轮更新后继续;大 batch 分摊重新 prefill 的开销。
  • 按数据源预测完整长度和活跃时间,选择有足够 KV 容量、负载较低的推理 rank。
  • 启动与故障恢复阶段,用满足 policy staleness 约束的 replay 补充慢任务缺额。
  • Replay 用于启动和恢复,不是持续用历史轨迹替代正常在线采样。
DFlash 与长上下文系统优化

草稿解码

  • 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 与小模型蒸馏 ​

多前缀、多教师 On-Policy 蒸馏

教师与学生 rollout

  • 混合 RL 后,用 MOPD2 整合更多能力;可验证任务采用 RL 教师,开放任务采用 SFT 教师。
  • Standard MOPD:学生生成完整轨迹,RL 教师在学生实际到达的上下文上提供 token 级指导。
  • Teacher-Prefix OPD:从教师轨迹提取历史前缀,每个前缀独立初始化学生的一轮生成。
  • SFT-Prefix OPD:从 SFT 演示提取前缀,学生同样自己生成后续内容。

前缀条件的作用

  • 一条含 k轮 assistant 的轨迹可拆成 k个完整历史前缀,每个都结束在对应生成之前。
  • 学生不必重做此前的全部交互;教师基于相同历史与学生已生成 token 计算监督。
  • SFT 教师较少见到学生多次偏离后的状态,固定演示前缀缩小这种分布差异。
  • 演示提供历史,不提供必须照抄的答案;新一轮仍属于学生的 on-policy 生成。
MiMo-V2.6-Distill-Qwen-9B

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) ​

基模与混合 RL 配置

训练起点与数据

  • 使用 V2.6 自身的 Base → MidTrain → SFT checkpoint,分别训练 Pro 与 Flash。
  • Pro 预训练 30T tokens:文本 27T、多模态 3T;Flash 为 48T:文本 26T、多模态 22T。
  • RL 配比:Code 68%、General Tool Use 12%、Visual 13%、Context Following 3%、Cyber 4%。

优化配置

  • 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-mean loss。
  • Router 消融:对比训练 router、冻结 router,并测试仅恢复初始 router 的效果。
  • Harness 泛化:评估未参与训练的 Codex、Claude Code、mini-SWE-agent 配置。
  • 解码消融:MTP-3 对照 DFlash,RL 默认 block=6,另比较 block=8 与 RL 轨迹适配。
9B 开放实验

SFT 数据

  • 总量 77.4B tokens,其中参与 SFT loss 的响应为 27.2B tokens。
  • Code 23.2B、Cyber 11.0B、General 22.0B、Visual 21.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 Scaling 与最终能力

混合 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 与跨 Harness 泛化

质量评价改善训练动态

  • 无 GAR 时,轮数和 token 数快速增长,更多轨迹耗尽预算,通过率难以持续提高。
  • 加入 GAR 后,训练到 52步 仍保持提升,轮数较稳定,token 长度增长更缓。
  • 代码审计中,过度兼容、吞异常、放宽校验等行为减少,patch 更精确且更符合任务范围。
  • 收益是相对控制组的长度增长更稳定,不表示所有 RL 训练中的输出长度都会下降。

交互方式迁移

  • 三种未参与训练的 Harness 上,平均 DeepSWE pass@1 约从 50 → 66。
  • 训练配置与未见配置之间的差距缩小,多 Harness 训练有助于迁移工具交互策略。
Router 与系统负载

冻结 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%。
  • 草稿块的选择看端到端吞吐,而非只看接受长度;较短草稿减少了主模型验证计算。
9B 蒸馏与领域 GRPO

先建立交互基础,再进行领域优化

  • 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-Verified 35.2 → 38.0。
  • Visual / Cyber GRPO:内部 mini 评测分别为 64.0 → 72.4、31.3 → 47.0。

独立的 Multi-Harness Code 实验

  • 七种 Harness 平均 SWE-bench Verified:基础模型 53.1、SFT 62.3、RL 65.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) ​

MiMo-V2.5-Pro 概况

参考链接

模型与训练路线

  • 面向复杂开发与长程 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) ​

🌺 论文摘要

MiMo-V2-Flash 论文摘要

参考链接

问题背景

  • 长推理与 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,需要额外的解码并行方式。

能力整合

  • 数学、代码、搜索和通用对话需要不同数据与奖励,直接混训容易出现能力回退。
  • 先独立优化领域教师,再整合到统一学生,可以分别控制专业训练与能力保持。

核心方法 ​

架构优化 ​

局部与全局 Attention 分工

MoE 与层配置

  • 共 48层,首层 Dense,其余使用 256选8 的 MoE,不设置共享专家。
  • 总参数 309B,激活参数 15B;hidden size 4096。
  • 主体按多层 SWA 后接一层全局 Attention 组织,共 39层 SWA、9层全局。

局部窗口

  • SWA 仅读取相邻 128 tokens,全局层承担远距离依赖。
  • 局部层的 KV 不需要随完整历史持续增长,降低长上下文读写成本。
Learnable Attention Sink

机制

  • 每个 head 在 softmax 分母加入可学习的 sink 项,实际 token 的权重和可以小于 1。
  • 当局部窗口缺少相关信息时,模型可以减少对这些 token 的关注。
  • sink 不对应新的文本内容;它控制当前 head 对实际 value 的输出强度。

设计目的

  • 避免小窗口内被迫分配全部注意力,支持更激进的局部/全局分工。
  • 小窗口效果需结合全局层与 sink 一起评估,不能只按窗口大小判断信息损失。
轻量 Multi-Token Prediction

结构与训练

  • 每个 MTP head 使用小型 Dense FFN 与 SWA,约 0.33B参数。
  • 输入主模型 hidden state 与 token embedding,预测后续 token。
  • 预训练只挂一个 head;后训练复制为多个 head,联合训练多步预测。

推理与 rollout

  • MTP 产生多个候选 token,主模型并行验证,提高一次权重/KV 读取的产出。
  • 加速来自 token 维度并行,对小 batch 与长尾请求尤其有用。
  • 草稿越容易被接受,解码收益越大;任务的不确定性会影响接受长度。
MiMo-V2-Flash 的混合架构:局部 SWA 与全局 Attention 分工,MTP 分支采用轻量结构;注意主干与 MTP 的不同配置。
原文图 2:MiMo-V2-Flash 的混合架构:局部 SWA 与全局 Attention 分工,MTP 分支采用轻量结构;注意主干与 MTP 的不同配置。 来源

预训练与上下文扩展 ​

预训练与上下文扩展

通用预训练:22T tokens

  • 使用网页、书籍、论文、代码和 STEM 材料,原生序列长度 32K。
  • 强化长文档、仓库代码、PR、Issue 与 commit,增加长距离依赖数据。

MidTrain:4T tokens

  • 提高代码数据比例,加入约 5% 合成推理,增强逻辑与程序生成能力。

扩窗:1T tokens

  • 沿用 MidTrain 数据类型,上下文扩至 256K,提高长依赖样本占比。
  • 调整全局 Attention 的 RoPE 配置,局部 Attention 继续使用小窗口。

领域教师训练 ​

SFT 与 MoE 稳定性

数据

  • 百万级对话、推理、代码与 Agent 示例,同时覆盖 Thinking 与非 Thinking 模式。
  • 由内部领域模型生成示范,先建立指令遵循与交互格式。

MoE 监控

  • 监控零梯度参数数量 num-zeros,观察专家负载与训练状态变化。
  • 配合专家 bias 更新率和 AdamW ε 调整,避免 SFT 阶段的不稳定延续到 RL。
Agent 环境与奖励

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 评价帮助性与安全性。
  • 不同领域分别优化教师,避免由同一组奖励权重承担所有训练目标。
Agent RL 调度系统

Data Scheduler

  • 按序列调度,某条完成即可判分并补入新任务,降低整批等待。
  • partial rollout 将超长轨迹跨训练步续写,并限制样本过期程度与占比。
  • 按数据源设置配额、优先级、长度与温度,重叠生成和奖励计算。

Toolbox / Tool Manager

  • 集中管理工具配额与 QPS,通过 Ray actor pool 复用运行资源。
  • 环境预热减少冷启动,异步判分与 timeout 恢复减少工具等待。
  • 工具逻辑与全局调度分离,使不同 Agent 环境共享训练系统。

多教师 On-Policy 蒸馏 ​

学生轨迹与 Token 级优势

数据流

  • 学生根据当前策略生成回答或轨迹,再选择对应领域教师评价这些上下文。
  • 教师可以来自 RL、SFT,也可以使用学生自身的已有 checkpoint 保留原有能力。
  • 学生学习自己实际访问的状态,减少静态教师示范与自身生成分布的差异。

优势定义

A^t=sg[log⁡πteacher(yt∣x,y<t)πθ(yt∣x,y<t)]+αA^ORM
  • 第一项比较教师与学生对当前 token 的概率,提供密集的局部指导。
  • 第二项来自最终结果奖励,补充任务是否成功的整体信号。
  • sg 表示该指导信号不反传梯度;优化时使用它调整学生 token 概率。

直观例子

  • 若教师对某 token 的概率为 0.4、学生为 0.2,第一项为 log 2,倾向提高其概率。
  • 若任务失败带来负结果优势,这一局部鼓励可能被抵消;教师偏好与任务成功共同决定更新。
训练与采样分布修正

概率比修正

  • 训练策略 πθ 与推理引擎中的采样策略 μθ 可能存在数值差异。
  • 使用 πθ / μθ 作为 importance weight;差异超过阈值的 token 权重置零。
  • 权重修正作用在学生采样分布,教师概率比则负责形成蒸馏优势。

R3:Rollout Routing Replay

  • 保存 rollout 期间选择的 MoE experts,训练时复用相同路由。
  • 多轮请求缓存自己的 KV 与历史路由,避免重新 prefill 或跨请求缓存改变采样路径。
MiMo-V2-Flash 后训练路线:先训练领域教师,再在学生自己的轨迹上进行多教师蒸馏,整合不同领域的能力。
原文图 3:MiMo-V2-Flash 后训练路线:先训练领域教师,再在学生自己的轨迹上进行多教师蒸馏,整合不同领域的能力。 来源

实验设置(预训练、SFT与MOPD) ​

实验设置

预训练参数

  • AdamW:β₁=0.9、β₂=0.95、weight decay=0.1,梯度裁剪 1.0。
  • 前两阶段 batch size 逐渐增至 2048;扩窗阶段 batch size 256。
  • 学习率依阶段从 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) ​

🌺 论文摘要

MiMo-7B 论文摘要

参考链接

问题背景

  • 小模型的 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 v5 52.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。
MTP 与模型结构

模型配置

  • 36层,hidden size 4096,FFN size 11008;32个 attention heads、8个 KV groups。
  • 采用 GQA、pre-RMSNorm、SwiGLU 与 RoPE。

MTP

  • 预训练增加单个 MTP head,让表示同时支持后续 token 预测。
  • 后续复制出两个额外 head,冻结主模型和首个 head,训练新增 head。
  • 推理时使用多步草稿与主模型验证,加速长推理生成。

SFT 与 RL 数据 ​

SFT 与 RL 数据

SFT

  • 混合开源与内部蒸馏数据,过滤 benchmark 重叠、语言混杂和不完整回答。
  • 每个 query 最多保留 8个 回答,初版形成约 500K 样本。

数学 RL:100K题

  • 去掉证明题、多选题与明显错误问题,保留可验证的原始问题。
  • 先用强模型排除无解或过难题,再用 MiMo-SFT 16次 采样评估难度。
  • 过滤通过率超过 90% 的简单题。

代码 RL:30K题

  • 要求有测试;若参考解无法通过全部测试则删除问题。
  • 用强模型排除无有效反馈的任务,再过滤 MiMo-SFT 16次 全对的问题。
  • 构建并行 Online Judge,支撑大量测试执行。

强化学习算法与奖励 ​

测试分层与 Strict / Soft Reward

测试难度

  • 使用多个模型多次生成答案,统计每个测试用例的通过率。
  • 将测试按通过率聚类;通过率低的测试对应更难的子问题。
  • 困难题即使暂时无法全过,也能通过较简单的子任务获得学习信号。

两种奖励

  • Strict:只有当前难度层及所有更简单层的测试全部通过,才获得当前层分数。
  • Soft:将每层分数平均分到该层测试,累加所有已通过测试的分数。
  • 数学仍使用 Math-Verify;正式配方不额外加入格式奖励与长度惩罚。
奖励示例

示意分组

  • 简单层总分 0.4,困难层总分 0.6;这些权重仅用于理解规则。
  • 某答案通过全部简单测试和一半困难测试。

反馈差异

  • 全对奖励为 0;Strict 为 0.4;Soft 为 0.4 + 0.6 × 0.5 = 0.7。
  • Strict 强调分层完整性,Soft 提供更细的渐进反馈。
GRPO 与简单题回采

GRPO 改进

  • 按同一问题的多个回答计算组内相对优势,让高奖励回答获得正向更新。
  • 去掉 KL loss;提高上裁剪范围,给低概率有效动作保留更多增长空间。
  • 动态采样过滤全对、全错等无有效区分的回答组,保持有效 batch 规模。

简单题池

  • 随着模型进步,将整组全对的问题放入独立简单题池。
  • 以 10% 概率从池中回采,其余采样集中在仍有学习空间的问题。
  • 避免每步大量重做简单题,也避免永久删题造成训练分布突变。
RL-0530:SFT扩展与On-Policy训练

扩大 SFT

  • SFT 从约 500K 扩到 6M条,增强推理与通用对话起点。
  • 继续在更强 SFT 模型上进行 RL,而不是只用少量格式样本冷启动。

延长生成预算

  • 使用更接近 on-policy 的训练,提高持续优化稳定性。
  • 生成预算逐步从 32K → 38K → 48K,让更复杂的推理有足够展开空间。

Rollout 调度系统 ​

连续生成与异步判题

序列级调度

  • 某条 rollout 完成立即送去判分,GPU 可以继续生成新的任务。
  • 根据已获得的有效样本数与当前通过率,估计是否还需要补充 rollout。
  • 不必等待整批最长回答结束后,才开始计算奖励。

异步 Reward

  • Ray 并行管理 rollout 与判分,代码任务使用独立判题服务器。
  • 数学与代码奖励的耗时不同,异步执行避免慢测试阻塞其他生成。
FIFO 收尾与长回答保留

直接截停的问题

  • 若凑够样本立即停止所有未完成生成,短回答更容易进入训练。
  • 这种选择会改变回答长度分布,并减少复杂推理的训练机会。

按启动顺序选择

  • 有效样本数足够后,仍等待比已选样本更早启动的任务结束。
  • 只停止无需继续等待的较晚任务,兼顾收尾效率与长回答保留。
Seamless Rollout 的调度流程:生成、判题和样本筛选交错运行,批次收尾时保留尚未完成的长轨迹。
原文图 6:Seamless 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-p 0.95;AIME 重复 32次,代码重复 8次,统计平均成绩。
  • 初版推理、代码与科学任务最大生成 32K;RL-0530 使用 48K。
  • 对比 Strict、Soft 与全测试通过奖励,评估代码奖励设计。

系统实验

  • 256张 H20,随机抽取 5步 训练轨迹。
  • 逐项加入连续 rollout、异步奖励与 early termination,比较完整训练耗时和 GPU 空闲。

关键结果(MiMo-7B,推理预训练 + SFT + RL) ​

SFT起点与RL收益

RL-Zero 与 SFT + RL

  • AIME 2025:Base 24.3,RL-Zero 46.3;SFT 44.3,SFT + RL 55.4。
  • LiveCodeBench v5:Base 32.9,RL-Zero 49.1;SFT 52.3,SFT + RL 57.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%。
  • 生成与判题衔接减少等待;有效样本仍需经过动态筛选,不能只追求原始生成吞吐。
测试难度奖励消融:比较 Strict、Soft 与全对奖励的训练曲线,观察困难代码任务的部分正确反馈能否持续带来收益。
原文图 5:测试难度奖励消融:比较 Strict、Soft 与全对奖励的训练曲线,观察困难代码任务的部分正确反馈能否持续带来收益。 来源

未来方向 ​

后续问题(笔记整理)

奖励与混训

  • 改进数学判分和问题清洗,减少 reward hacking;持续跟踪数学、代码之间的能力干扰。
  • 根据训练阶段调整测试难度分组与任务配比,保持有效奖励差异。

数据与计算分配

  • 比较更大 SFT、更多 on-policy RL 与更长生成预算的边际收益。
  • 将连续 rollout、MTP 与有效样本筛选联合优化,降低每次有效更新的计算成本。
总访客数:— · 总访问量:—
PLM's Blog @ 2016 - 2026