MiMo-7B:从预训练到强化学习,解锁语言模型的推理潜能

简介: 目前,大多数成功的 强化学习 工作,包括开源研究,都依赖于相对较大的基础模型,例如 32B 模型,特别是在增强代码推理能力方面。业内普遍认为在一个小模型中同时提升数学和代码能力是具有挑战性的。然而,小米MiMo研究团队相信 RL 训练的推理模型的有效性取决于基础模型固有的推理潜力。为了完全解锁语言模型的推理潜力,不仅需要关注后训练,还需要针对推理定制预训练策略。

引言

目前,大多数成功的 强化学习 工作,包括开源研究,都依赖于相对较大的基础模型,例如 32B 模型,特别是在增强代码推理能力方面。业内普遍认为在一个小模型中同时提升数学和代码能力是具有挑战性的。然而,小米MiMo研究团队相信 RL 训练的推理模型的有效性取决于基础模型固有的推理潜力。为了完全解锁语言模型的推理潜力,不仅需要关注后训练,还需要针对推理定制预训练策略。

MiMo-7B,这是一系列从零开始训练并为推理任务而生的模型。MiMo-7B-Base 的 RL 实验表明,MiMo-7B模型具有非凡的推理潜力,甚至超过了更大的 32B 模型。此外,研究团队在冷启动的 SFT 模型上进行了 RL 训练,生成了 MiMo-7B-RL,旨在通过强化学习(RL)提升数学推理和代码生成能力。模型的设计目标是解决复杂任务,特别是在长上下文理解和多步推理方面表现出色,与 OpenAI o1-mini 的性能相匹配。

image.gif 编辑

研究团队开源了 MiMo-7B 系列,包括基础模型、SFT 模型、从基础模型训练的 RL 模型以及从 SFT 模型训练的 RL 模型的Checkpoint。 研究团队相信这份报告及这些模型将为开发强大的推理 LLM 提供有价值的见解,从而造福更广泛的社区。

模型亮点

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

模型结构

MiMo-7B 的 MTP 层在预训练和 SFT 期间进行调优,并在强化学习期间冻结。使用一层 MTP 进行推测解码时,接受率约为 90%。

image.gif 编辑

模型链接:https://modelscope.cn/collections/MiMo-7edb0ab729c744

模型评估

基准测试

GPT-4o-0513

Claude-3.5-Sonnet-1022

OpenAI o1-mini

QwQ-32B-Preview

R1-Distill-Qwen-14B

R1-Distill-Qwen-7B

MiMo-7B-RL

通用

             

GPQA Diamond

(Pass@1)

49.9

65.0

60.0

54.5

59.1

49.1

54.4

SuperGPQA

(Pass@1)

42.4

48.2

45.2

43.6

40.6

28.9

40.5

DROP

(3-shot F1)

83.7

88.3

83.9

71.2

85.5

77.0

78.7

MMLU-Pro

(EM)

72.6

78.0

80.3

52.0

68.8

53.5

58.6

IF-Eval

(Prompt Strict)

84.3

86.5

84.8

40.4

78.3

60.5

61.0

数学

             

MATH-500

(Pass@1)

74.6

78.3

90.0

90.6

93.9

92.8

95.8

AIME 2024

(Pass@1)

9.3

16.0

63.6

50.0

69.7

55.5

68.2

AIME 2025

(Pass@1)

11.6

7.4

50.7

32.4

48.2

38.8

55.4

代码

             

LiveCodeBench v5

(Pass@1)

32.9

38.9

53.8

41.9

53.1

37.6

57.8

LiveCodeBench v6

(Pass@1)

30.9

37.2

46.8

39.1

31.9

23.9

49.3

MiMo-7B 系列

基准测试

MiMo-7B-Base

MiMo-7B-RL-Zero

MiMo-7B-SFT

MiMo-7B-RL

数学

       

MATH500

(Pass@1)

37.4

93.6

93.0

95.8

AIME 2024

(Pass@1)

32.9

56.4

58.7

68.2

AIME 2025

(Pass@1)

24.3

46.3

44.3

55.4

代码

       

LiveCodeBench v5

(Pass@1)

32.9

49.1

52.3

57.8

LiveCodeBench v6

(Pass@1)

29.1

42.9

45.5

49.3

评估是在 temperature=0.6 的条件下进行的。

AIME24 和 AIME25 是基于 32 次重复的平均得分。LiveCodeBench v5 (20240801-20250201),LiveCodeBench v6 (20250201-20250501),GPQA-Diamond 和 IF-Eval 是基于 8 次重复的平均得分。MATH500 和 SuperGPQA 是单次运行的结果。

最佳实践

模型推理

使用transformers推理

from modelscope import AutoModel, AutoModelForCausalLM, AutoTokenizer
model_id = "XiaomiMiMo/MiMo-7B-Base"
model = AutoModelForCausalLM.from_pretrained(model_id, trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(model_id)
inputs = tokenizer(["Today is"], return_tensors='pt')
output = model.generate(**inputs, max_new_tokens = 100)
print(tokenizer.decode(output.tolist()[0]))

image.gif

模型部署

SGLang 推理

感谢 SGLang 团队的贡献,我们在 24 小时内支持了 SGLang 主流中的 MiMo,MTP 即将到来。

示例脚本

# Install the latest SGlang from main branch
python3 -m uv pip install "sglang[all] @ git+https://github.com/sgl-project/sglang.git/@main#egg=sglang&subdirectory=python"
# Launch SGLang Server
SGLANG_USE_MODELSCOPE=true python3 -m sglang.launch_server --model-path XiaomiMiMo/MiMo-7B-RL --host 0.0.0.0 --trust-remote-code

image.gif

模型微调

ms-swift已经支持了MiMo-7B系列模型的微调。ms-swift是魔搭社区官方提供的大模型与多模态大模型训练部署框架。ms-swift开源地址:https://github.com/modelscope/ms-swift

我们将展示可运行的微调demo,并给出自定义数据集的格式。

在开始微调之前,请确保您的环境已准备妥当。

# pip install git+https://github.com/modelscope/ms-swift.git
git clone https://github.com/modelscope/ms-swift.git
cd ms-swift
pip install -e .

image.gif

自定义数据集格式如下,指定--dataset <dataset-path>即可开始训练:

# 通用格式
{"messages": [
    {"role": "system", "content": "<system-prompt>"},
    {"role": "user", "content": "<query1>"},
    {"role": "assistant", "content": "<response1>"}
]}
# 思考数据集格式
{"messages": [
    {"role": "user", "content": "浙江的省会在哪"},
    {"role": "assistant", "content": "<think>\n...\n</think>\n\n浙江的省会在杭州。"}
]}

image.gif

我们以 XiaomiMiMo/MiMo-7B-RL 模型为例,使用自我认知数据集进行训练。由于自我认知数据集不含思考链路,可以通过在训练时指定--loss_scale ignore_empty_think忽略<think>\n\n</think>\n\n的损失计算,缓解模型推理能力的下降。

CUDA_VISIBLE_DEVICES=0 \
swift sft \
    --model XiaomiMiMo/MiMo-7B-RL \
    --train_type lora \
    --dataset 'liucong/Chinese-DeepSeek-R1-Distill-data-110k-SFT#1000' \
              'swift/self-cognition:empty_think#500' \
    --torch_dtype bfloat16 \
    --num_train_epochs 1 \
    --per_device_train_batch_size 1 \
    --per_device_eval_batch_size 1 \
    --learning_rate 1e-4 \
    --lora_rank 8 \
    --lora_alpha 32 \
    --target_modules all-linear \
    --gradient_accumulation_steps 16 \
    --eval_steps 50 \
    --save_steps 50 \
    --save_total_limit 2 \
    --logging_steps 5 \
    --max_length 2048 \
    --output_dir output \
    --warmup_ratio 0.05 \
    --dataloader_num_workers 4 \
    --loss_scale ignore_empty_think \
    --model_author swift \
    --model_name swift-robot

image.gif

训练显存占用:

image.gif 编辑

训练效果展示:

image.gif 编辑

训练完成后,使用以下命令对训练后的权重进行推理,这里的`--adapters`需要替换成训练生成的last checkpoint文件夹。

CUDA_VISIBLE_DEVICES=0 \
swift infer \
    --adapters output/vx-xxx/checkpoint-xxx \
    --stream true \
    --max_new_tokens 2048 \
    --temperature 0

image.gif

推送模型到ModelScope:

CUDA_VISIBLE_DEVICES=0 \
swift export \
    --adapters output/vx-xxx/checkpoint-xxx \
    --push_to_hub true \
    --hub_model_id '<your-model-id>' \
    --hub_token '<your-sdk-token>'

image.gif

目录
相关文章
|
运维 监控 网络协议
什么是运营商级 NAT (CGNAT)?
【4月更文挑战第16天】
7821 10
什么是运营商级 NAT (CGNAT)?
|
人工智能 数据可视化 物联网
Reasoning模型蒸馏实践:用大模型提升小模型能力
DeepSeek-R1的爆火让更多开发者注意到模型蒸馏技术——这种让小模型也能"开小灶"习得大模型知识精华的秘诀。今天我们就用Qwen2.5-1.5B小模型(相当于AI界的初中生)来进行实践!
1187 5
|
4月前
|
人工智能 数据挖掘 API
2026年OpenClaw Agent Skills深度解析:架构原理+阿里云部署+实战指南
从“只会聊天的机器人”到“能动手干活的智能助手”,OpenClaw(原Clawdbot)的Agent Skills生态正在重塑AI Agent的能力边界。想象这样一个场景:当你需要分析销售数据时,无需繁琐输入“读取Excel→清洗数据→生成图表→输出报告”的完整指令,只需说一句“分析这份销售数据”,OpenClaw就会自动调用“数据分析”技能包,完成全流程操作。这就是Agent Skills的核心价值——将复杂业务逻辑封装成可复用的“技能模块”,让AI像人类专家一样按需调用专业能力。
2756 7
|
机器学习/深度学习 编解码 文字识别
小米又放大招!MiMo-VL 多模态大模型开源,魔搭推理微调全面解读来了!
今天,小米开源发布两款 7B 规模视觉-语言模型 MiMo-VL-7B-SFT 和 MiMo-VL-7B-RL。
1536 9
|
数据可视化 API Swift
全模态图像模型Nexus-Gen对齐GPT-4o!同时搞定,数据、训练框架、模型全面开源
OpenAI GPT-4o发布强大图片生成能力后,业界对大模型生图能力的探索向全模态方向倾斜,训练全模态模型成研发重点。
556 17
|
人工智能 自然语言处理 供应链
为什么一定要做Agent智能体?
作者通过深入分析、理解、归纳,最后解答了“为什么一定要做Agent”这个问题。
2250 41
为什么一定要做Agent智能体?
|
人工智能 算法 API
多模态模型卷王诞生!InternVL3:上海AI Lab开源78B多模态大模型,支持图文视频全解析!
上海人工智能实验室开源的InternVL3系列多模态大语言模型,通过原生多模态预训练方法实现文本、图像、视频的统一处理,支持从1B到78B共7种参数规模。
1774 6
多模态模型卷王诞生!InternVL3:上海AI Lab开源78B多模态大模型,支持图文视频全解析!
|
机器学习/深度学习 人工智能 算法
小米7B参数推理大模型首次开源!Xiaomi MiMo:数学代码双杀,超越32B巨头
小米开源的MiMo推理大模型通过联动预训练与强化学习算法,在7B参数规模下实现数学推理与代码生成能力的突破性提升,技术报告显示其性能超越部分32B级模型。
2031 74
小米7B参数推理大模型首次开源!Xiaomi MiMo:数学代码双杀,超越32B巨头
|
人工智能 自然语言处理 测试技术
UGMathBench:评估语言模型数学推理能力的动态基准测试数据集
近年来,人工智能蓬勃发展,自然语言模型(LLM)进展显著。语言模型被广泛应用于自动翻译、智能客服、甚至医疗、金融、天气等领域。而研究者们仍在不断努力,致力于提高语言模型的规模和性能。随着语言模型的蓬勃发展,评估一个语言模型的性能变得越来越重要。其中一个重要的评估指标,就是衡量语言模型的推理能力和解决数学问题的能力。
559 38

热门文章

最新文章