综合介绍
MiMo 是小米公司开发的一个开源大语言模型项目,专注于数学推理和代码生成。核心产品是 MiMo-7B 系列模型,包含基础模型 (Base)、监督微调模型 (SFT)、从基础模型训练的强化学习模型 (RL-Zero) 和从 SFT 模型训练的强化学习模型 (RL)。这些 70 亿参数模型通过优化预训练数据、多重令牌预测 (MTP) 和强化学习,展现出媲美更大模型的推理能力。MiMo-7B-RL 在数学和代码任务中性能突出,可匹敌 OpenAI o1-mini。模型支持 vLLM 和 SGLang 推理引擎,并在 Hugging Face 和 ModelScope 提供下载。小米开源 MiMo,旨在推动高效推理模型的发展。
功能列表
- 数学推理:解决 AIME、MATH-500 等数学竞赛题目,支持复杂问题推理。
- 代码生成:生成 Python、C++ 等高质量代码,适用于 LiveCodeBench 编程任务。
- 多重令牌预测 (MTP):预测多个令牌,推理接受率约 90%,提升速度和准确性。
- 开源模型支持:提供 MiMo-7B 系列模型 (Base、SFT、RL-Zero、RL),供开发者自由使用。
- 高效推理引擎:支持小米定制 vLLM 和 SGLang,优化推理性能。
- 强化学习优化:基于 13 万数学和代码问题数据集,提升模型推理能力。
- 无缝回滚引擎:加速强化学习训练,训练速度提升 2.29 倍,验证速度提升 1.96 倍。
- 灵活部署:支持 Hugging Face Transformers、vLLM 和 SGLang 多种部署方式。
使用帮助
安装与部署
MiMo-7B 模型无需独立软件安装,但需配置推理环境。以下为详细部署步骤,推荐使用 Python 3.8 或更高版本。
1. 环境准备
确保系统安装了 Python 和 pip。建议使用虚拟环境以避免依赖冲突:
python3 -m venv mimo_env
source mimo_env/bin/activate
2. 安装依赖
MiMo 推荐使用小米定制的 vLLM 分支,支持 MTP 功能。安装命令如下:
pip install torch transformers
pip install "vllm @ git+https://github.com/XiaomiMiMo/vllm.git@feat_mimo_mtp_stable_073"
若使用 SGLang,执行:
python3 -m pip install "sglang[all] @ git+https://github.com/sgl-project/sglang.git@main#egg=sglang&subdirectory=python"
3. 下载模型
MiMo-7B 模型托管在 Hugging Face 和 ModelScope。以下以 MiMo-7B-RL 为例:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "XiaomiMiMo/MiMo-7B-RL"
model = AutoModelForCausalLM.from_pretrained(model_id, trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(model_id)
模型文件约 14GB,确保有足够存储空间。ModelScope 下载方式类似,替换 model_id
为对应地址。
4. 启动推理服务
使用 vLLM 启动推理服务器(推荐):
python3 -m vllm.entrypoints.api_server --model XiaomiMiMo/MiMo-7B-RL --host 0.0.0.0 --trust-remote-code
或使用 SGLang:
python3 -m sglang.launch_server --model-path XiaomiMiMo/MiMo-7B-RL --host 0.0.0.0 --trust-remote-code
服务器启动后,可通过 API 或命令行与模型交互。
主要功能操作
数学推理
MiMo-7B-RL 在数学推理任务中表现卓越,特别是在 AIME 和 MATH-500 数据集上。用户可输入数学问题,模型生成解答。例如:
from vllm import LLM, SamplingParams
llm = LLM(model="XiaomiMiMo/MiMo-7B-RL", trust_remote_code=True)
sampling_params = SamplingParams(temperature=0.6)
outputs = llm.generate(["Solve: 2x + 3 = 7"], sampling_params)
print(outputs[0].outputs[0].text)
操作提示:
- 使用
temperature=0.6
平衡生成质量和多样性。 - 复杂问题可分步输入,确保描述清晰。
- 支持 AIME 2024 (68.2% Pass@1)、AIME 2025 (55.4% Pass@1) 和 MATH-500 (95.8% Pass@1)。
代码生成
MiMo-7B-RL 可生成高质量代码,支持 Python、C++ 等语言,适用于 LiveCodeBench v5 (57.8% Pass@1) 和 v6 (49.3% Pass@1)。示例:
from vllm import LLM, SamplingParams
llm = LLM(model="XiaomiMiMo/MiMo-7B-RL", trust_remote_code=True)
sampling_params = SamplingParams(temperature=0.6)
outputs = llm.generate(["Write a Python function to calculate factorial"], sampling_params)
print(outputs[0].outputs[0].text)
操作提示:
- 提供具体任务描述,如函数输入输出要求。
- 检查生成代码的语法完整性。
- 适合算法设计和编程竞赛任务。
多重令牌预测 (MTP)
MTP 是 MiMo 的核心特色,通过预测多个令牌加速推理,接受率约 90%。启用 MTP 需使用小米定制 vLLM:
from vllm import LLM, SamplingParams
llm = LLM(model="XiaomiMiMo/MiMo-7B-RL", trust_remote_code=True, num_speculative_tokens=1)
sampling_params = SamplingParams(temperature=0.6)
outputs = llm.generate(["Write a Python script"], sampling_params)
print(outputs[0].outputs[0].text)
操作提示:
- 设置
num_speculative_tokens=1
启用 MTP。 - MTP 在高吞吐量场景下效果最佳。
- MTP 层在预训练和 SFT 阶段调整,RL 阶段冻结。
无缝回滚引擎
MiMo 开发了无缝回滚引擎,优化强化学习训练。用户无需直接操作此功能,但其效果体现在模型性能上:
- 训练速度提升 2.29 倍,验证速度提升 1.96 倍。
- 集成连续回滚、异步奖励计算和早期终止,减少 GPU 空闲时间。
推理引擎选择
- vLLM(推荐):小米定制 vLLM(基于 vLLM 0.7.3)支持 MTP,性能最优。适合高性能推理需求。
- SGLang:支持主流推理,MTP 支持即将上线。适合快速部署。
- Hugging Face Transformers:适合简单测试或本地调试,但不支持 MTP。
注意事项
- 系统提示:推荐使用空系统提示以获得最佳性能。
- 硬件要求:建议使用单 GPU(如 NVIDIA A100 40GB),CPU 推理需至少 32GB 内存。
- 评估设置:所有评估使用
temperature=0.6
。AIME 和 LiveCodeBench 采用多次运行平均值。 - 社区支持:如遇问题,可在 GitHub 提交 issue 或联系
mimo@xiaomi.com
。
应用场景
- 学术研究
MiMo-7B 模型适合研究人员探索数学推理和代码生成算法。开发者可基于开源模型进行微调,研究预训练和强化学习策略。 - 编程教育
教师可使用 MiMo 生成编程练习题解答,学生可验证代码逻辑或学习算法实现。 - 竞赛训练
MiMo 支持 AIME 和 MATH-500 数学竞赛题目,适合学生备战数学和编程竞赛。 - AI 开发
开发者可基于 MiMo-7B 构建定制化应用,如自动化代码审查工具或数学求解器。
QA
- MiMo-7B 系列有哪些模型?
MiMo-7B 包括基础模型 (Base)、监督微调模型 (SFT)、从基础模型训练的强化学习模型 (RL-Zero) 和从 SFT 模型训练的强化学习模型 (RL)。RL 版本性能最佳。 - 如何选择推理引擎?
推荐小米定制 vLLM(支持 MTP,性能最优)。SGLang 适合快速部署,Hugging Face Transformers 适合简单测试。 - MTP 如何提升性能?
MTP 通过预测多个令牌,推理接受率达 90%,显著提升速度,适合高吞吐量场景。 - 模型支持多语言吗?
MiMo 主要优化数学和代码任务,支持英文和部分中文输入,未明确支持其他语言。 - 硬件要求是什么?
单 GPU(如 NVIDIA A100 40GB)可运行 MiMo-7B-RL。CPU 推理需至少 32GB 内存,但速度较慢。