MiMo-VL
小米在 5月30号 发布了 MiMo-VL 7B (Team et al., 2025) 多模态推理大模型,模型包括 SFT 和 RL 两个版本,作者在技术报告里讲解了 MiMo-VL 的架构,预训练和后训练过程,最后对 MiMo-V L的性能进行了评测
Architecture
MiMo-VL 7B 的架构是一个标准的 “ViT-MLP-LLM” 架构,其中:
- ViT 使用了 Qwen2.5-VL (Bai et al., 2025) 的 Qwen2.5-ViT
- MLP 是一个两层的 SwiGLU MLP Layer
- LLM 是之前发布的 MiMo-7B
Data
Pre-training data
预训练阶段一共使用了 2.4T token
- Image caption data: 使用了 rewrite caption 等方法提升和过滤数据,作者还基于MetaCLIP来降低数据的不平衡性
- Interleaved data: 主要从 webpage, books, papers 中提取,最后基于 relevance, complementarity, balance of information density 来保证数据的质量
- OCR and grounding data: OCR 数据包括文档,表格,数学公式等。grounding data 包括单物体和多物体
- video data: rewrite caption, caption 有对应的时间戳,加入了 video analysis 数据
- GUI data: 覆盖 mobile, web, desktop 三种场景, 加入了 GUI grounding 和 GUI action 数据
- Synthetic reasoning data: 使用一个 reasoning model 来生成带有思考过程的 reasoning 数据
Post-training data
RLVR 的数据包括:
- visual reasoning, 80K数据,使用 rule-based math-verify library 来评估
- text reasoning, 使用了 MiMo 的数学推理数据,评估方式与 visual reasoning 一致
- Image grounding, 包括 general and GUI grounding 任务,使用 GIoU 来计算奖励
- Visual Counting, 使用准确率来打分
- Temporal Video Grounding, temporal video grounding 任务,使用 IoU 来计算奖励
RLHF 的数据包括中英文的 query,作者使用M iMo-VL-7B 和其他模型来采样,然后使用一个 advanced VLM 来排序.
Training
Pre-training
训练有四个阶段,基本上和之前的模型一致,先训练MLP,然后解冻ViT,再训练全部参数,最后扩展模型的上下文。 训练过程如下
- warmup: 仅训练 projection layer, 使用 image-caption 数据,300B token
- alignment: ViT 和 projection layer, image-caption 数据和 interleaved 数据, 167B
- multimodal pre-training: 其他数据,全部参数,1.4T token
- long-context sft: 长上下文数据,550B token, 32K context
Post-training
作者提出了 Mixed On-policy Reinforcement Learning (MORL) 框架来把 RLVR 和 RLHF 结合起来
训练过程就是将 RLVR 和 RLHF 放在一起进行训练,作者使用了 MiMo 的 seamless rollout engine. RLHF 的 reward model 使用 Breadley-Terry model 作为训练目标,text-only reward 由 MiMo-7B 初始化得到,多模态 reward model 由 MiMo-VL-7B 初始化得到 训练目标与 GRPO 一致,但是本文中作者使用了 on-policy 的训练方式。
Experiments
Ablation study
作者首先探究了在预训练阶段加入 Long CoT 数据对模型表现的影响,结果发现模型在 MMMU, OlympiadBench 等 benchmark 上都有了提升
作者还比较了原始的 GRPO 和本文中使用的 on-policy 版本的 GRPO ,结果发现 on-policy 版本的 GRPO 效果更好
最后,作者探讨了一下将不同任务放在一起训练导致的互相干扰问题。 这个在MiMo里也提到过,核心问题就是有的任务是 short CoT 的,有的任务是 Long CoT 的,如何让模型根据任务来选择不同的 reasoning length 是一个需要探讨的问题,这个问题在 VC-PPO 里进行了初步的探讨。
- Bai, S., Chen, K., Liu, X., Wang, J., Ge, W., Song, S., Dang, K., Wang, P., Wang, S., Tang, J., Zhong, H., Zhu, Y., Yang, M., Li, Z., Wan, J., Wang, P., Ding, W., Fu, Z., Xu, Y., … Lin, J. (2025). Qwen2.5-VL Technical Report. https://arxiv.org/abs/2502.13923
- Team, C., Yue, Z., Lin, Z., Song, Y., Wang, W., Ren, S., Gu, S., Li, S., Li, P., Zhao, L., Li, L., Bao, K., Tian, H., Zhang, H., Wang, G., Zhu, D., Cici, He, C., Ye, B., … Xia, B. (2025). MiMo-VL Technical Report. https://arxiv.org/abs/2506.03569