1. 从技术报告到可跑通的工程链路MiMo-VL 到底解决了什么问题小米在 2025 年 6 月开源了 MiMo-VL-7B 系列视觉语言模型包含 SFT 和 RL 两个版本。技术报告里最抓眼球的一句话是MiMo-VL-7B-RL 在 40 个评估任务中的 35 个上超过了 Qwen2.5-VL-7BOlympiadBench 拿到 59.4 分GUI grounding 的 OSWorld-G 达到 56.1 分。这些数字背后是一套从四阶段预训练到混合 On-policy 强化学习的完整工程方案。如果你正在做多模态大模型的训练或微调MiMo-VL 的技术路线有几个值得深挖的点原生分辨率 ViT 怎么和语言模型对齐、2.4 万亿 token 的预训练数据怎么分阶段喂进去、MORL 怎么把可验证奖励和人类偏好奖励塞进同一个训练循环。这些问题在报告里都有答案但报告是论文体工程落地时还需要把它翻译成可执行的配置和验证步骤。这篇文章面向多模态大模型开发者和研究者我会把 MiMo-VL 的架构、训练流程、RL 阶段的数据构造和奖励设计拆开讲同时给出可复现的配置清单和关键指标验证方法。你不需要有 A100 集群才能跟很多验证步骤在单卡 24G 显存上就能跑通推理和评估。如果你手头没有本地大显存机器也可以先用云端 API 做模型对话验证把评估脚本跑通再考虑本地部署。MiMo-VL 的核心架构并不复杂ViT 编码视觉输入MLP projector 把视觉特征映射到语言模型的 token 空间MiMo-7B 做推理。真正难的是训练策略——四阶段预训练里每个阶段放开哪些参数、数据配比怎么调、第四阶段为什么要把序列长度从 8K 拉到 32K这些决策直接决定了最终模型在 MMMU、MathVision、OSWorld-G 上的表现。后训练阶段的 MORL 框架则回答了另一个问题当推理、感知、定位、人类偏好对齐这几个目标互相打架时怎么让它们同步提升而不是此消彼长。下面我会按“架构拆解 → 训练流程 → 配置复现 → 验证请求 → 错排查 → 工具链”的顺序展开。每一节都尽量给出可操作的命令、配置片段和预期结果而不是停留在概念层面。2. MiMo-VL 架构拆解与四阶段预训练视觉编码器对齐策略与数据配比2.1 三个核心组件与原生分辨率 ViTMiMo-VL-7B 的架构可以拆成三块视觉编码器、projector、语言模型。视觉编码器用的是 Qwen2.5-ViT支持原生分辨率输入这意味着图片不需要强制 resize 到固定尺寸细粒度视觉细节得以保留。projector 是一个随机初始化的 MLP负责把 ViT 输出的视觉特征映射到和文本 token 对齐的潜在空间。语言模型主干用 MiMo-7B-Base 初始化这个底座本身就有较强的推理能力。这个架构和主流 VLM 没有本质区别但 MiMo-VL 在训练策略上做了几个关键选择。第一projector 是随机初始化的所以第一阶段必须冻结 ViT 和 LLM只用图像-描述对来预热 projector。如果一上来就放开所有参数未对齐的 projector 会产生噪声梯度把 ViT 和 LLM 的预训练权重带偏。第二第二阶段放开 ViT 权重并引入图文交错数据让视觉编码器适应更复杂的视觉-语言对齐任务。第三第三阶段所有参数可训练引入 OCR、定位、视频、GUI 等更丰富的数据类型累计 1.4 万亿 token。第四阶段专注长上下文序列长度从 8K 扩展到 32K学习率从 1e-5 调到 2.5e-5。2.2 四阶段预训练的数据配比与训练细节预训练数据总量 2.4 万亿 token涵盖图像描述、图文交错、OCR、定位、视频、GUI、合成推理和纯文本。每个阶段的数据配比不同这是训练稳定性的关键。第一阶段只用图像-描述对目标是让 projector 学会把视觉概念映射到语言空间。这个阶段训练步数不多但学习率要设得相对高一些因为 projector 是随机初始化的。第二阶段引入图文交错数据这类数据来自网页、书籍和学术论文文本段落经过知识密度和可读性评估视觉内容过滤掉尺寸过小、宽高比异常、不安全或信息贫乏的图像。交错数据的复杂多样性增强了 ViT 的鲁棒性。第三阶段是数据类型最丰富的阶段OCR 数据涵盖文档、表格、自然场景、产品包装和数学公式还专门纳入手写体、变形字体和模糊遮挡文本。定位数据用绝对坐标表示包含单物体和多物体场景。视频数据以 2FPS 采样最大 256 帧标注带精确起止时间戳。GUI 数据覆盖移动端、网页和桌面端统一到标准化动作空间。第四阶段把序列长度从 8K 扩展到 32K新增长纯文本、高分辨率图像、长文档、长视频和长推理数据。这个阶段显著提高推理数据比例引入长程推理模式。报告里提到第四阶段使模型在 MMMU 上提升 9 分、OSWorld-G 提升 14 分、OlympiadBench 提升 16 分而且性能持续提升未现饱和——MMMU 任务中单问题平均响应 token 数从 680 增至 2.5K。2.3 合成推理数据的构造流程MiMo-VL 的一个核心发现是从预训练阶段就融入高质量、长思维链的推理数据对提升模型性能至关重要。传统 QA 数据答案简短直接容易让模型陷入浅层模式匹配和过拟合。合成推理数据则包含显式推理过程能学习复杂逻辑关系和可泛化的推理模式。构造流程分三步首先从开源问题库筛选多样化 queries涵盖感知问答、文档问答、视频问答和视觉推理任务然后用大型推理模型生成包含显式推理的答案最后采用多阶段质量控制验证答案事实准确性同时对推理过程实施清晰度评估、冗余消除和格式标准化。最终形成的高保真数据集继承了 MiMo-7B-Base 的强推理能力使其能无缝迁移到多模态场景。如果你要复现这个流程关键点在于拒绝采样策略——不是所有生成的推理链都保留只保留那些推理过程清晰、答案正确、格式规范的样本。这个筛选比例通常很低但保留下来的数据质量直接决定模型推理能力的上限。3. 可复制配置MiMo-VL 推理环境搭建与 API 接入3.1 本地推理环境配置MiMo-VL 的模型检查点和评估脚本在 GitHub 上开源本地推理需要先拉取仓库和模型权重。以下配置基于单卡 24G 显存环境使用 bfloat16 精度。# 创建虚拟环境 conda create -n mimovl python3.10 -y conda activate mimovl # 安装依赖 pip install torch2.4.0 torchvision0.19.0 --index-url https://download.pytorch.org/whl/cu121 pip install transformers4.46.0 accelerate1.0.0 pip install pillow opencv-python decord # 拉取评估脚本 git clone https://github.com/XiaomiMiMo/MiMo-VL.git cd MiMo-VL模型权重下载后推理脚本的核心配置如下from transformers import AutoModelForCausalLM, AutoProcessor import torch model_path XiaomiMiMo/MiMo-VL-7B-RL processor AutoProcessor.from_pretrained(model_path, trust_remote_codeTrue) model AutoModelForCausalLM.from_pretrained( model_path, torch_dtypetorch.bfloat16, device_mapauto, trust_remote_codeTrue ) # 图像理解推理 messages [ {role: user, content: [ {type: image, image: test_chart.png}, {type: text, text: 请将这张图表转换为Markdown表格} ]} ] inputs processor.apply_chat_template(messages, add_generation_promptTrue, return_tensorspt) outputs model.generate(**inputs.to(model.device), max_new_tokens32768, do_sampleFalse) print(processor.decode(outputs[0], skip_special_tokensTrue))评估设置方面图像理解任务最大像素为 4096×28×28最大生成 token 32768贪心搜索解码。视频任务 2FPS 采样最大 256 帧总 token 限制 16384。文本评估最大生成 token 32768温度 0.6top-p 0.95。3.2 通过 API 快速验证模型能力如果你本地没有大显存机器或者想先快速验证 MiMo-VL 在具体任务上的表现可以通过 TaoToken 的模型对话接口做推理验证。配置方式如下{ base_url: https://taotoken.net/api, api_key: 你的API Key, model_id: MiMo-VL-7B-RL, max_tokens: 32768, temperature: 0.6, top_p: 0.95 }API Key 在控制台的 API Keys 页面创建接入文档里有完整的请求示例和参数说明。模型对话入口可以直接测试图像理解、图表解析、STEM 推理等任务。对于长期做多模态 Agent 开发的场景Coding Plan 提供了更稳定的调用配额和并发支持。需要注意的是API 调用时图像需要先转成 base64 或上传到可访问的 URL具体格式参考接入文档。视频输入目前建议先抽帧成图像序列再传入和本地推理的 2FPS 采样策略保持一致。3.3 评估脚本配置MiMo-VL 开源了包含 50 多项任务的综合评估脚本基于 LMMs-Eval 框架适配长思维链推理模型。评估配置的关键参数# eval_config.yaml model: MiMo-VL-7B-RL tasks: - MMMUval - MathVision - OSWorld-G - CharXivRQ - Video-MMMU - CountBench generation: max_new_tokens: 32768 do_sample: false video: fps: 2 max_frames: 256 max_tokens: 16384 text: temperature: 0.6 top_p: 0.95运行评估python -m lmms_eval \ --model mimovl \ --model_args pretrainedXiaomiMiMo/MiMo-VL-7B-RL \ --tasks MMMUval,MathVision,OSWorld-G \ --batch_size 1 \ --output_path ./eval_results预期结果MMMUval 66.7%MathVision 60.4%OSWorld-G 56.1%CharXivRQ 56.5%。如果分数偏差超过 2 个点优先检查图像预处理分辨率是否匹配 4096×28×28 的设置。4. 验证请求与成功结果从 MMMU 到 OSWorld-G 的关键指标复现4.1 图像理解任务验证用一张包含复杂曲线图的图片测试图表解析能力。MiMo-VL-7B-RL 在 CharXivRQ 上拿到 56.5%比 Qwen2.5-VL 的 42.5% 高 14 个点。验证时重点看模型能否把曲线图转换为结构化 Markdown 表格以及数值提取的准确率。# 图表解析验证 prompt 请将这张图表转换为Markdown表格包含所有数据点和坐标轴标签 # 传入 test_chart.png # 预期输出结构化的Markdown表格数值与图表一致如果模型输出格式正确但数值有偏差检查输入图像分辨率是否足够。原生分辨率 ViT 的优势在于保留细粒度细节但如果图像被过度压缩细节丢失会导致数值提取错误。4.2 多模态推理任务验证MathVision 从 57.9% 提升到 60.4%这个提升来自 RL 阶段。验证时用一道需要多步推理的几何题prompt 请逐步推理以下几何问题 图中有一个半径为5的圆圆内接一个正方形求正方形面积与圆面积的比值。 请给出完整的推理过程。预期输出包含正方形对角线等于圆直径、正方形边长计算、面积比值化简。MiMo-VL-7B-RL 在 OlympiadBench 上拿到 59.4 分超越参数量 78B 的模型说明长思维链推理数据在预训练后期的融入确实有效。4.3 GUI grounding 验证OSWorld-G 56.1 分是 MiMo-VL 的一个亮点超越了 UI-TARS 等专用模型。验证时用一张网页截图让模型定位特定元素prompt 请定位截图中的搜索框输出其边界框坐标绝对坐标格式 # 预期输出[x1, y1, x2, y2] 格式的坐标GUI 定位的奖励用 GIoU 计算点坐标输出则根据预测点是否落入真实边界框判定。验证时如果坐标偏差较大检查图像是否按原生分辨率输入以及是否使用了绝对坐标表示。4.4 视频时序定位验证Charades-STA 上 MiMo-VL-RL 拿到 50.0% mIoU。验证时用一段短视频让模型定位与查询对应的片段prompt 请定位视频中人物打开冰箱的时间段输出格式为[mm:ss,mm:ss] # 预期输出[00:12,00:18] 格式的时间戳视频以 2FPS 采样最大 256 帧。如果时间戳偏差大检查采样帧率是否一致以及视频总时长是否超过模型处理上限。4.5 Elo 评分验证MiMo-VL-7B-RL 在所有开源 VLM 中获得最高 Elo 评分7B 到 72B 参数模型中排名第一紧追 Claude 3.7 Sonnet 等商业模型。MORL 为 SFT 版本带来 22 分的提升。Elo 评估用平衡双语内部数据集基于 GPT-4o 评判采用风格控制评估协议。如果你要做类似评估关键是构建多样化的真实用户提示覆盖多模态推理、图像理解和 GUI 交互等场景。5. 本篇常见错排查401、local proxy failed、reading choices 与 OAuth 报错5.1 401 UnauthorizedAPI 调用返回 401通常是 API Key 无效或未正确传入。检查请求头curl -X POST https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer YOUR_API_KEY \ -H Content-Type: application/json \ -d {model: MiMo-VL-7B-RL, messages: [...]}如果 Key 正确但仍 401检查是否在控制台创建了对应模型的访问权限。API Keys 页面可以查看 Key 的状态和权限范围。5.2 local proxy failed本地推理时出现local proxy failed或连接超时通常是模型权重下载不完整或 device_map 配置冲突。检查# 确认模型文件完整 import os model_path XiaomiMiMo/MiMo-VL-7B-RL print(os.listdir(model_path)) # 应包含 config.json, model.safetensors 等 # 单卡环境指定 device model AutoModelForCausalLM.from_pretrained( model_path, torch_dtypetorch.bfloat16, device_map{: 0}, # 明确指定GPU trust_remote_codeTrue )如果显存不足尝试 4bit 量化加载from transformers import BitsAndBytesConfig bnb_config BitsAndBytesConfig(load_in_4bitTrue, bnb_4bit_compute_dtypetorch.bfloat16) model AutoModelForCausalLM.from_pretrained(model_path, quantization_configbnb_config, device_mapauto)5.3 reading choices 报错评估脚本运行时报reading choices相关错误通常是评估配置中的任务名称与 LMMs-Eval 注册的任务不匹配。检查eval_config.yaml中的 tasks 列表确保任务名与框架注册名一致。MiMo-VL 的评估脚本已经适配了长思维链推理模型如果直接用原版 LMMs-Eval 可能缺少对应任务定义。# 确认任务注册 python -c from lmms_eval.tasks import TaskManager; tm TaskManager(); print(tm.task_index.keys())5.4 OAuth 与认证配置如果使用 Claude Code 或类似工具接入 MiMo-VLOAuth 报错通常出现在认证配置环节。以 Claude Code 为例需要在 settings.json 中配置 Base URL、API Key 和 Model ID 三件套{ model: MiMo-VL-7B-RL, base_url: https://taotoken.net/api, api_key: 你的API Key, max_tokens: 32768 }如果使用 Cline MCP 或 Codex auth.json配置逻辑类似。Codex 的 auth.json 格式{ api_key: 你的API Key, base_url: https://taotoken.net/api, model: MiMo-VL-7B-RL }CC Switch 切换配置时确保 Base URL 不带尾部斜杠Model ID 与 API 支持的模型名完全一致。如果报 OAuth 相关错误检查是否误用了需要浏览器回调的认证方式API Key 方式不需要 OAuth 流程。5.5 推理结果格式异常模型输出包含大量重复 token 或格式混乱检查生成参数。评估设置用贪心搜索do_sampleFalse如果开了采样且 temperature 过高长思维链推理容易发散。视频任务注意总 token 限制 16384超长视频需要先裁剪或降低采样帧率。6. 语义一致 CTA从模型验证到长期多模态 Agent 开发MiMo-VL 的技术报告给多模态大模型开发者提供了一个完整的工程参考四阶段预训练的数据配比策略、合成推理数据的构造流程、MORL 框架的奖励设计、以及 50 多项任务的评估脚本。这些内容的价值不在于数字本身而在于它展示了一条可复现的路径——从架构设计到训练流程再到评估验证每一步都有明确的配置和预期结果。如果你正在做视觉语言模型的微调或评估建议先从模型对话入口验证 MiMo-VL 在具体任务上的表现把评估脚本跑通再考虑本地部署和训练。API Keys 页面可以创建访问凭证接入文档里有完整的请求示例和参数说明。对于需要长期跑多模态 Agent 任务的场景Coding Plan 提供了更稳定的调用配额和并发支持适合把 MiMo-VL 集成到自动化评估流水线或 Agent 工作流中。技术报告里的三个关键发现值得反复琢磨预训练后期引入推理数据能带来持续增益、策略 RL 相比原始 GRPO 有显著优势、跨能力域的 MORL 训练存在任务干扰挑战。前两个可以直接应用到你的训练流程里第三个则是当前多模态 RL 训练的一个开放问题——推理任务促使模型生成更长思维链而定位和计数任务需要缩短输出这种目标冲突怎么平衡报告里没有给出最终答案但指出了方向。