当前位置: 首页 > ai >正文

模型 - Xiaomi MiMo

在这里插入图片描述


本文翻译整理自:https://github.com/XiaomiMiMo/MiMo


文章目录

    • 一、关于 MiMo
      • 相关链接资源
      • 简介
      • 🌟 突出亮点
    • 二、模型细节
    • 三、评估结果
      • MiMo-7B系列
    • 四、部署
      • vLLM推理
      • HuggingFace推理
      • 推荐环境和提示


一、关于 MiMo

相关链接资源

  • GitHub: https://github.com/XiaomiMiMo/MiMo
  • 官网:https://github.com/XiaomiMiMo/MiMo
  • 官方文档:https://github.com/XiaomiMiMo/MiMo/blob/main/MiMo-7B-Technical-Report.pdf
  • Demo/在线试用:https://github.com/XiaomiMiMo/MiMo
  • Hugging Face: <https://huggingface.co/XiaomiMiMo
  • Discord | Twitter | Youtube | Slack
  • 联系:mimo@xiaomi.com
  • 赞助:https://github.com/XiaomiMiMo/MiMo
  • License: Apache2.0

简介

目前,大多数成功的RL工作,包括开源研究,都依赖于相对较大的基础模型,例如32B模型,特别是用于增强代码推理能力。

此外,人们普遍认为,在小型模型中同时实现数学和代码能力的均匀和同步提升是具有挑战性的。

尽管如此,我们认为,RL训练的推理模型的有效性 依赖于基础模型固有的推理潜力。

为了完全释放语言模型的推理潜力,必须关注不仅限于后训练,还要关注针对推理的定制化预训练策略。


在本工作中,我们介绍了MiMo-7B,这是一系列从头开始训练且专为推理任务而生的模型。

从MiMo-7B-Base的RL实验中,我们发现我们的模型具有非凡的推理潜力,甚至超过了更大的32B模型。

此外,我们在一个冷启动的SFT模型上进行了RL训练,得到了MiMo-7B-RL,它在数学和代码推理任务上表现出色,与OpenAI o1-mini的性能相匹配。


在这里插入图片描述


我们开源了MiMo-7B系列,包括基础模型、SFT模型、从基础模型训练的RL模型以及从SFT模型训练的RL模型的检查点。

我们相信,这份报告以及这些模型将为开发强大的推理LLM提供宝贵的见解,从而造福更广泛的社区。


🌟 突出亮点

  • 预训练:专为推理而生的基础模型
    • 我们优化了数据预处理流程,增强了文本提取工具包,并应用多维度数据过滤来增加预训练数据中的推理模式密度。我们还采用多种策略生成大量多样化的合成推理数据。
    • 我们采用三阶段数据混合策略进行预训练。总的来说,MiMo-7B-Base在约250万亿个标记上进行了预训练。
    • 我们将多标记预测作为额外的训练目标,这提高了模型性能并加速了推理。
  • 后训练配方:开创性的推理模型
    • 我们精心挑选了130K个数学和代码问题作为RL训练数据,这些问题可以通过基于规则的验证器进行验证。
      每个问题都经过仔细的清理和难度评估,以确保质量。
      我们仅使用基于规则的准确度奖励,以避免潜在的奖励黑客攻击。
    • 为了减轻具有挑战性的代码问题的稀疏奖励问题,我们引入了测试难度驱动的代码奖励。
      通过为不同难度级别的测试案例分配细粒度的分数,策略可以通过密集的奖励信号更有效地优化。
    • 我们为简单问题实施数据重采样策略,以提高 rollout 样本效率并稳定策略更新,尤其是在RL训练的后期阶段。
  • RL基础设施
    • 我们开发了一个无缝Rollout引擎,以加速RL训练和验证。我们的设计集成了连续rollout、异步奖励计算和早期终止,以最小化GPU空闲时间,实现2.29倍的训练速度和1.96倍的验证速度。
    • 我们在vLLM中支持MTP,并增强了RL系统中推理引擎的鲁棒性。

二、模型细节

模型可在 https://huggingface.co/XiaomiMiMo 获取

模型描述下载
MiMo-7B-Base具有非凡推理潜力的基础模型🤗 XiaomiMiMo/MiMo-7B-Base
MiMo-7B-RL-Zero从基础模型训练的RL模型🤗 XiaomiMiMo/MiMo-7B-RL-Zero
MiMo-7B-SFT从基础模型训练的SFT模型🤗 XiaomiMiMo/MiMo-7B-SFT
MiMo-7B-RL从SFT模型训练的RL模型,性能优于OpenAI o1-mini🤗 XiaomiMiMo/MiMo-7B-RL

三、评估结果

基准GPT-4o-0513Claude-3.5-Sonnet-1022OpenAI o1-miniQwQ-32B-PreviewR1-Distill-Qwen-14BR1-Distill-Qwen-7BMiMo-7B-RL
通用
GPQA Diamond
(Pass@1)
49.965.060.054.559.149.154.4
SuperGPQA
(Pass@1)
42.448.245.243.640.628.940.5
DROP
(3-shot F1)
83.788.383.971.285.577.078.7
MMLU-Pro
(EM)
72.678.080.352.068.853.558.6
IF-Eval
(Prompt Strict)
84.386.584.840.478.360.561.0
数学
MATH-500
(Pass@1)
74.678.390.090.693.992.895.8
AIME 2024
(Pass@1)
9.316.063.650.069.755.568.2
AIME 2025
(Pass@1)
11.67.450.732.448.238.855.4
代码
LiveCodeBench v5
(Pass@1)
32.938.953.841.953.137.657.8
LiveCodeBench v6
(Pass@1)
30.937.246.839.131.923.949.3

MiMo-7B系列

基准MiMo-7B-BaseMiMo-7B-RL-ZeroMiMo-7B-SFTMiMo-7B-RL
数学
MATH500
(Pass@1)
37.493.693.095.8
AIME 2024
(Pass@1)
32.956.458.768.2
AIME 2025
(Pass@1)
24.346.344.355.4
代码
LiveCodeBench v5
(Pass@1)
32.949.152.357.8
LiveCodeBench v6
(Pass@1)
29.142.945.549.3

注:评估使用 temperature=0.6 进行。

AIME24和AIME25使用32次重复的平均分数。LiveCodeBench v5 (20240801-20250201)、LiveCodeBench v6 (20250201-20250501)、GPQA-Diamond和IF-Eval使用8次重复的平均分数。MATH500和SuperGPQA使用单次运行。


四、部署


vLLM推理

1、[推荐] 我们官方支持使用 我们基于vLLM的分支 进行MiMo-MTP推理。

示例脚本

from vllm import LLM, SamplingParamsmodel_path = "/path/to/MiMo"
llm = LLM(model=model_path,     trust_remote_code=True,     num_speculative_tokens=1,     disable_log_stats=False
)
sampling_params = SamplingParams(temperature=0.6)conversation = [{"role": "system",         "content": ""},     {"role": "user",         "content": "Write an essay about the importance of higher education.",     }, 
]outputs = llm.chat(conversation,                    sampling_params=sampling_params,                    use_tqdm=False)for output in outputs:prompt = output.promptgenerated_text = output.outputs[0].textprint(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")print("=" * 80)

2、或者,您可以在不加载MTP参数的情况下为MiMo注册vLLM加载器。

您可以将 registry/register_mimo_in_vllm.py 复制到您的目录中,并使用以下方式导入:

import register_mimo_in_vllmfrom vllm import LLM, SamplingParamsmodel_path = "/path/to/MiMo"
llm = LLM(model=model_path,     trust_remote_code=True,     # num_speculative_tokens=1,     disable_log_stats=False
)
sampling_params = SamplingParams(temperature=0.6)

HuggingFace推理

示例脚本

from transformers import AutoModel, AutoModelForCausalLM, AutoTokenizermodel_path = "/path/to/MiMo"
model = AutoModelForCausalLM.from_pretrained(model_path, trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(model_path)
inputs = tokenizer(["Today is"], return_tensors='pt')
output = model.generate(**inputs, max_new_tokens = 100)
print(tokenizer.decode(output.tolist()[0]))

推荐环境和提示

  • 我们推荐使用 我们基于vLLM的分支,它是基于vLLM 0.7.3开发的。
  • 我们推荐使用空系统提示。

我们尚未验证MiMo与其他推理引擎,欢迎基于Huggingface仓库中的模型定义进行贡献 💻。


伊织 xAI 2025-04-30(三)

http://www.xdnf.cn/news/3935.html

相关文章:

  • Sui 上线两周年,掀起增长「海啸」
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】5.3 相关性分析(PEARSON/SPEARMAN相关系数)
  • MongoDB入门详解
  • 永磁同步电机控制算法--基于PI和前馈的位置伺服控制
  • C 语言 第五章 指针(7)
  • LLM提示词设计及多轮对话优化策略在心理健康咨询场景中的应用研究
  • 从零开始学习RAG
  • Jetpack Compose 响应式布局实战:BoxWithConstraints 完全指南
  • 从0到1快速了解Redis数据库
  • 数字化转型:激活存量,引爆增量的三大核心逻辑
  • Spring-使用Java的方式配置Spring
  • 基于Python+MongoDB猫眼电影 Top100 数据爬取与存储
  • 常用CPU、GPU、NPU、DSP、ASIC等芯片区别介绍
  • RGB三原色
  • MATLAB仿真定点数转浮点数(对比VIVADO定点转浮点)
  • 【AI论文】像素修补师(PixelHacker):具有结构和语义一致性的图像修复(Image Inpainting)
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】5.2 数据分组与透视(CUBE/ROLLUP/GROUPING SETS)
  • 三十二、命名实体识别概述
  • 前端-Vue的项目流程
  • 基于EFISH-SCB-RK3576工控机/SAIL-RK3576核心板的KTV点歌主机技术方案‌(国产化替代J1900的全场景技术解析)
  • DotNetBrowser 3.2.0 版本发布啦!
  • SpringMVC——第6章:RESTFul编程风格
  • Winform(11.案例讲解1)
  • 用户模块 - IP归属地功能实现与测试
  • Cookie 与 Session详解
  • 【ArcGIS Pro微课1000例】0066:多边形要素添加折点,将曲线线段(贝塞尔、圆弧和椭圆弧)替换为线段?
  • /etc/kdump.conf 配置详解
  • 方法:批量识别图片区域文字并重命名,批量识别指定区域内容改名,基于QT和阿里云的实现方案,详细方法
  • 飞致云开源社区月度动态报告(2025年4月)
  • MySQL——数据库基础操作