MiniCPM
MiniCPM 是由 OpenBMB 团队打造的一系列超高效大型语言模型,专为在手机、笔记本等终端设备上流畅运行而设计。它主要解决了传统大模型对硬件要求高、推理速度慢的难题,让用户无需依赖昂贵的云端服务器,即可在本地设备享受强大的 AI 能力。
无论是希望在移动端部署 AI 应用的开发者、追求极致效率的研究人员,还是希望保护数据隐私的企业用户,MiniCPM 都是理想选择。其最新发布的 MiniCPM4 及 4.1 系列更是实现了质的飞跃:在保持与更大参数模型相当性能的同时,生成速度提升了 3 倍以上,特别适合处理复杂的逻辑推理任务。
MiniCPM 的核心技术亮点在于其创新的架构设计。例如,MiniCPM-SALA 架构巧妙融合了稀疏注意力与线性注意力机制,能够高效处理百万级 token 的超长上下文;而混合推理模式则让模型既能进行深度思考,也能快速响应简单指令。此外,该系列模型在中文理解、数学计算及代码生成方面表现优异,部分小参数版本甚至能媲美主流的大尺寸开源模型。通过深度的系统级优化,MiniCPM 真正推动了高性能大模型从云端走向端侧的普及。
使用场景
某初创团队开发了一款面向户外作业人员的离线智能助手 App,需在无网络环境下通过普通安卓手机实时处理复杂的设备故障排查指令。
没有 MiniCPM 时
- 响应严重滞后:在骁龙 7 系列中端芯片上运行通用大模型,生成一步推理步骤需耗时 3-5 秒,用户等待焦虑感极强。
- 电量消耗过快:高算力负载导致手机发热严重,电池在半小时内耗尽,无法满足全天野外作业需求。
- 必须依赖云端:因本地无法流畅运行大参数模型,不得不保留云端接口,但在信号弱的山区经常请求超时或失败。
- 复杂逻辑易中断:面对多步故障树分析,长上下文推理常因显存溢出(OOM)而崩溃,无法完成完整诊断。
使用 MiniCPM 后
- 推理速度飞跃:利用 MiniCPM4.1 的端侧优化特性,在同一设备上生成速度提升 3 倍以上,实现“话音落、答案出”的流畅体验。
- 能效显著优化:稀疏注意力机制大幅降低计算功耗,连续使用两小时手机仅微温,电量剩余仍超 60%。
- 纯离线稳定运行:模型完美适配端侧硬件,彻底切断对云端的依赖,即使在深山无信号区域也能提供专家级指导。
- 长程推理不崩溃:支持百万级 token 上下文建模,能完整记忆并处理长达数十页的设备维修手册,精准定位隐蔽故障。
MiniCPM 让高性能大模型真正从云端走下神坛,成为普通终端设备上随时待命的智能专家。
运行环境要求
- Linux
- macOS
- Windows
- 推理可选:支持 NVIDIA GPU(配合 vLLM/SGLang/CPM.cu,需 CUDA)、Apple Silicon(配合 MLX)、Intel AIPC
- 特定优化竞赛提及 NVIDIA 6000D
- 量化版本(GGUF/GPTQ/AWQ)可降低显存需求以适配端侧芯片
未说明(取决于模型规模及是否量化,端侧版本如 0.5B/1B 旨在低内存运行)

快速开始
中文 | English
MiniCPM论文 | MiniCPM维基(中文) | MiniCPM-V仓库 | 加入我们的Discord和微信群组 | 加入我们
[!NOTE]
🏆 2026稀疏算子加速与竞赛(SOAR)现已启动!
MiniCPM-SALA架构仅仅是个开始。要充分发挥其潜力,还需要系统层面的深度协同以及跨层编译优化。
OpenBMB联合SGLang和NVIDIA,诚邀全球极客挑战在专用NVIDIA 6000D环境下实现9B规模、1M token推理的极限。
- 💰 奖金池: 超过10万美元(最高奖金:89,000美元)
- 🚀 目标: 通过跨层编译优化单批次及多批次性能。
👉 了解更多并报名
变更日志🔥
- [2026.02.11] MiniCPM-SALA 发布!这是首个有效整合稀疏注意力与线性注意力的大规模混合模型,可支持百万token上下文建模。🔥🔥🔥
- [2025.09.29] InfLLM-V2论文发布! 我们仅需5B长文本token即可训练出稀疏注意力模型。🔥🔥🔥
- [2025.09.05] MiniCPM4.1系列 发布!该系列是具备可训练稀疏注意力的混合推理模型,既可用于深度推理模式,也可用于非推理模式。🔥🔥🔥
- [2025.06.06] 发布了MiniCPM4! 该模型在保持同等规模下最佳性能的同时,实现了极致的效率提升!在典型终端芯片上,生成速度可提升5倍以上!
- [2024.09.05] 我们发布了MiniCPM3-4B! 该模型性能超越Phi-3.5-mini-instruct和GPT-3.5-Turbo-0125,并可与Llama3.1-8B-Instruct、Qwen2-7B-Instruct以及GLM-4-9B-Chat等7B至9B参数量级的模型相媲良。
- [2024.07.05] 发布了MiniCPM-S-1B! 该模型在FFN层平均稀疏度达到87.89%,使FFN FLOPs减少84%,同时保持下游任务性能。
- [2024.04.11] 发布了MiniCPM-2B-128k、MiniCPM-MoE-8x2B以及MiniCPM-1B! 点击这里阅读我们的技术博客。
- [2024.02.01] 发布了MiniCPM-2B! 该模型在公开基准测试中表现与Mistral-7B相当(尤其在中文、数学和代码能力方面更胜一筹),整体性能优于Llama2-13B、MPT-30B和Falcon-40B等模型。
快速链接
- 变更日志🔥
- 快速链接
- 模型下载
- MiniCPM-SALA
- MiniCPM4及MiniCPM4.1系列
- LICENSE
- 机构
- 引用
模型下载
📋 点击查看所有 MiniCPM 系列模型
MiniCPM-SALA
亮点
MiniCPM-SALA(稀疏注意力与线性注意力)是首个有效融合稀疏注意力和线性注意力的大规模混合模型,可实现百万标记的上下文建模。
✅ 创新混合架构:将25%的稀疏注意力(InfLLM-v2)与75%的线性注意力(Lightning Attention)相结合,前者用于高保真度的长上下文建模,后者则确保全局效率。
✅ 打破效率瓶颈:突破“计算墙”和“内存墙”,推理速度达到密集基线的3.5倍,同时KV缓存开销显著降低。
✅ 百万标记上下文:借助HyPE(混合位置编码),模型可扩展至100万+标记,并保持强大的长度泛化能力。
✅ HALO适配:通过层优化(HALO)实现混合注意力机制,这是一种新颖的蒸馏方法,能够有效地将密集注意力的能力迁移到混合架构中,从而避免纯线性模型常见的性能严重下降问题。
简介
MiniCPM-SALA是一种高效的混合模型,其中25%的层采用InfLLM-V2,其余75%则使用Lightning Attention。这种架构使得在消费级GPU(如NVIDIA RTX 5090)上即可进行百万标记的推理。
SALA混合注意力机制
- 集成25%的InfLLM-V2和75%的Lightning Attention,既能利用稀疏注意力对局部细节的精细关注,又能发挥线性注意力在全局上下文中的高效优势。
从Transformer到混合模型的持续训练
- 通过在预训练权重基础上进行架构转换,避免了冷启动训练的低效问题,从而将总训练预算降低至从头训练同等规模模型所需预算的约25%。
HyPE(混合位置编码)
- 在短上下文和长上下文之间实现性能平衡,能够保持与Qwen3-8B等现代全注意力模型相当的知识、数学和编程等通用能力,并在多个长上下文基准测试中展现出显著优势。
长序列的高效推理
- 在A6000D上,当序列长度为256K标记时,推理速度可达Qwen3-8B的3.5倍;在NVIDIA A6000D和5090 GPU上,均可支持最高100万标记的上下文推理,而Qwen3-8B在此长度下会因内存不足(OOM)而失败。
评估结果
效率评估
我们在NVIDIA A6000D和RTX 5090 GPU上将MiniCPM-SALA(9B)与Qwen3-8B进行了对比,以评估其推理速度和内存效率。结果显示,MiniCPM-SALA不仅在首令牌生成时间(TTFT)上实现了高达2.5倍的加速,还克服了全注意力架构的内存瓶颈。相比之下,Qwen3-8B在较长序列下容易出现内存溢出错误,而MiniCPM-SALA则能在单个消费级RTX 5090上成功处理100万标记的上下文,真正实现了超长上下文推理在边缘设备上的普及。


长上下文评估
在大多数涉及的长上下文基准测试中,MiniCPM-SALA的表现均优于其他同规模的开源大语言模型。特别是在RULER和NoLiMa测试中,它在所有上下文长度(最高128K)上均取得了最高分,并以38.97的总体平均分位居榜首,表明其在处理长上下文信息方面具有卓越性能。

超长上下文评估
评估显示,MiniCPM-SALA具备出色的长度外推能力,在仅用520K标记进行训练的情况下,仍能在2048K标记的上下文中取得81.6分的成绩。值得注意的是,该模型并未使用YaRN等辅助技术,这很可能得益于其稀疏注意力层中无位置编码(NoPE)的设计。

标准评估
MiniCPM-SALA在标准基准测试中获得了76.53的平均分,表现优于Qwen3-8B和Falcon-H1R-7B等同类模型。该架构在知识、代码和数学等领域均表现出稳健的性能。

推理
为了获得最佳性能,我们建议将温度设置为0.9。
HuggingFace
我们的模型与Hugging Face Transformers完全兼容。您可以通过以下方式使用我们的模型进行推理:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_path = "openbmb/MiniCPM-SALA"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path, trust_remote_code=True, device_map="auto")
model.eval()
prompts = ["我的名字是", "中国的首都是"]
with torch.no_grad():
inputs = tokenizer(prompts, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs)
output_texts = tokenizer.batch_decode(outputs)
print(output_texts)
SGLang
系统要求
- CUDA 12.x或更高版本
gcc/g++编译器uv包管理器(脚本会自动检查)
安装步骤
# 克隆仓库
git clone -b minicpm_sala https://github.com/OpenBMB/sglang.git
cd sglang
# 一键安装(创建虚拟环境并编译所有依赖)
bash install_minicpm_sala.sh
# 或者指定PyPI镜像
bash install_minicpm_sala.sh https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
安装脚本将执行以下步骤:
- 创建名为
sglang_minicpm_sala_env的虚拟环境(Python 3.12) - 将依赖项克隆至
3rdparty/目录(infllmv2),并初始化子模块(sparse_kernel) - 安装MiniCPM-SALA(当前仓库)
- 编译并安装
infllmv2_cuda_impl - 编译并安装
sparse_kernel - 安装
tilelang和flash-linear-attention
使用方法
# 激活环境
source sglang_minicpm_sala_env/bin/activate
# 启动推理服务器(请将 MODEL_PATH 替换为实际路径)
MODEL_PATH=/path/to/your/MiniCPM-SALA
python3 -m sglang.launch_server \
--model ${MODEL_PATH} \
--trust-remote-code \
--disable-radix-cache \
--attention-backend minicpm_flashinfer \
--chunked-prefill-size 8192 \
--max-running-requests 32 \
--skip-server-warmup \
--port 31111 \
--dense-as-sparse
| 参数 | 描述 |
|---|---|
--trust-remote-code |
允许模型中使用自定义代码 |
--disable-radix-cache |
禁用 RadixAttention 前缀缓存 |
--attention-backend minicpm_flashinfer |
使用 MiniCPM FlashInfer 后端 |
--chunked-prefill-size 8192 |
分块预填充大小 |
--max-running-requests 32 |
最大并发请求数 |
--skip-server-warmup |
跳过服务器预热 |
--port 31111 |
服务器端口 |
--dense-as-sparse |
使用密集转稀疏模式 |
手动安装
如果脚本无法正常工作,请按照以下步骤操作:
# 0. 确保已安装 uv
pip install uv
# 1. 创建虚拟环境
uv venv --python 3.12 sglang_minicpm_sala_env
source sglang_minicpm_sala_env/bin/activate
# 2. 安装 SGLang
uv pip install --upgrade pip setuptools wheel
uv pip install -e ./python[all]
# 3. 编译 CUDA 扩展
# (确保依赖项已克隆到 3rdparty/ 目录下)
cd 3rdparty/infllmv2_cuda_impl && python setup.py install && cd ../..
cd 3rdparty/sparse_kernel && python setup.py install && cd ../..
# 4. 安装额外依赖
uv pip install tilelang flash-linear-attention
问答
问:CUDA 扩展编译失败?
- 请确保已安装 CUDA 12 或更高版本(运行
nvcc --version检查)。 - 确保系统中已安装
gcc和g++。 - 如果
CXX被设置为clang++ -pthread,请手动执行export CXX=g++。
MiniCPM4 和 MiniCPM4.1 系列
亮点
MiniCPM 4.1-8B 是首个具有可训练稀疏注意力机制的开源推理大模型:
✅ 强大的推理能力:在 15 项任务中超越同类规模模型!
✅ 高效生成:推理速度提升 3 倍
✅ 高效架构:可训练稀疏注意力机制、基于频率排序的推测式解码
简介
MiniCPM4 和 MiniCPM4.1 系列是高度高效的大型语言模型(LLMs),专为终端设备设计。其高效性得益于在四个关键维度上的系统性创新:模型架构、训练数据、训练算法和推理系统。
🏗️ 高效模型架构:
- InfLLM-V2 — 可训练稀疏注意力机制:采用可训练稀疏注意力机制架构,在处理 128K 长文本时,每个 token 只需与不到 5% 的其他 token 计算相关性,从而显著降低长文本计算开销(InfLLM-V2 训练内核)
🧠 高效学习算法:
- Model Wind Tunnel 2.0 — 高效可预测缩放:引入下游任务性能的缩放预测方法,实现更精准的模型训练配置搜索
- BitCPM — 极致三值量化:将模型参数位宽压缩至 3 种取值,实现 90% 的极端模型位宽缩减
- 高效训练工程优化:采用 FP8 低精度计算技术,并结合多 token 预测训练策略
📚 高质量训练数据:
- UltraClean — 高质量预训练数据筛选与生成:基于高效数据验证构建迭代式数据清洗策略,开源高质量中英文预训练数据集 UltraFinweb
- UltraChat v2 — 高质量监督微调数据生成:构建大规模高质量监督微调数据集,涵盖知识密集型、推理密集型、指令遵循、长文本理解以及工具调用等多个维度
⚡ 高效推理与部署系统:
- CPM.cu — 轻量高效 CUDA 推理框架:集成稀疏注意力、模型量化和推测采样,实现高效预填充和解码(推理内核与框架)
- ArkInfer — 跨平台部署系统:支持在多种后端环境中高效部署,提供灵活的跨平台适配能力
评估结果
效率评估
在 Jetson AGX Orin 和 RTX 4090 这两种典型终端芯片上,MiniCPM4 和 MiniCPM4.1 在长文本处理任务中表现出显著优于同类规模模型的速度。随着文本长度增加,MiniCPM4 和 MiniCPM4.1 的效率优势愈发明显。在 Jetson AGX Orin 平台上,与 Qwen3-8B 相比,MiniCPM4 和 MiniCPM4.1 的解码速度提升了约 7 倍。

MiniCPM4.1 在推理任务中实现了 3 倍的解码速度提升。

综合评估
MiniCPM4 推出了 8B 和 0.5B 参数规模的终端版本,两者均在各自类别中达到最佳性能。

MiniCPM4.1 推出了 8B 参数规模的终端版本,在深度推理模式下达到了同类最佳性能。

长文本评估
MiniCPM4 经过 32K 长文本的预训练,并通过 YaRN 技术实现长度扩展。在 128K 长文本“大海捞针”任务中,MiniCPM4 表现出色。MiniCPM4.1 则经过 64K 长文本的预训练,并同样通过 YaRN 技术实现长度扩展。在 128K 长文本“大海捞针”任务中,MiniCPM4.1 也展现了卓越的表现。

推理
MiniCPM 4.1 可与以下框架配合使用:Huggingface Transformers、SGLang、vLLM 和 CPM.cu。若追求极致的推理速度,我们强烈推荐使用 CPM.cu。
MiniCPM4/MiniCPM4.1 同时支持密集注意力推理和稀疏注意力推理模式,而 vLLM 和 SGLang 目前仅支持密集推理模式。如需使用稀疏推理模式,请选用 Huggingface Transformers 和 CPM.cu。
- 密集注意力推理:vLLM、SGLang、Huggingface Transformers
- 稀疏注意力推理:Huggingface Transformers、CPM.cu
混合推理模式
MiniCPM4.1 支持混合推理模式,该模式既可用于深度推理,也可用于非推理模式。要启用混合推理模式,用户可在 tokenizer.apply_chat_template 中设置 enable_thinking=True 来启用混合推理模式,或设置 enable_thinking=False 来启用非推理模式。同样地,用户也可以在查询末尾直接添加 /no_think 来启用非推理模式。若未添加任何特殊标记或在查询末尾添加 /think,模型将自动启用推理模式。
# 启用推理模式
prompt_text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
enable_thinking=True
)
# 启用非推理模式
prompt_text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
enable_thinking=False
)
HuggingFace
- 密集注意力推理
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
torch.manual_seed(0)
path = 'openbmb/MiniCPM4.1-8B'
device = "cuda"
tokenizer = AutoTokenizer.from_pretrained(path)
model = AutoModelForCausalLM.from_pretrained(path, torch_dtype=torch.bfloat16, device_map=device, trust_remote_code=True)
# 用户可以直接使用聊天接口
# responds, history = model.chat(tokenizer, "写一篇关于人工智能的文章。", temperature=0.7, top_p=0.7)
# print(responds)
# 用户也可以使用 generate 接口
messages = [
{"role": "user", "content": "写一篇关于人工智能的文章。"},
]
prompt_text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
)
model_inputs = tokenizer([prompt_text], return_tensors="pt").to(device)
model_outputs = model.generate(
**model_inputs,
max_new_tokens=32768,
top_p=0.95,
temperature=0.6
)
output_token_ids = [
model_outputs[i][len(model_inputs[i]):] for i in range(len(model_inputs['input_ids']))
]
responses = tokenizer.batch_decode(output_token_ids, skip_special_tokens=True)[0]
print(responses)
- 稀疏注意力推理 本模型支持 InfLLM v2,这是一种专为高效长序列推理设计的稀疏注意力机制。它需要 infllmv2_cuda_impl 库。
您可以通过运行以下命令来安装:
git clone -b feature_infer https://github.com/OpenBMB/infllmv2_cuda_impl.git
cd infllmv2_cuda_impl
git submodule update --init --recursive
pip install -e . # 或 python setup.py install
要启用 InfLLM v2,您需要在 config.json 中添加 sparse_config 字段:
{
...,
"sparse_config": {
"kernel_size": 32,
"kernel_stride": 16,
"init_blocks": 1,
"block_size": 64,
"window_size": 2048,
"topk": 64,
"use_nope": false,
"dense_len": 8192
}
}
这些参数控制着 InfLLM v2 的行为:
kernel_size(默认值:32):语义核的大小。kernel_stride(默认值:16):相邻核之间的步长。init_blocks(默认值:1):每个查询 token 首先关注的块数。这可确保对序列开头的关注。block_size(默认值:64):键值块的块大小。window_size(默认值:2048):局部滑动窗口的大小。topk(默认值:64):指定每个 token 只会与最相关的前 k 个键值块计算注意力。use_nope(默认值:false):是否在块选择中使用 NOPE 技术以提升性能。dense_len(默认值:8192):由于稀疏注意力对于短序列的收益有限,模型可以对较短文本使用标准(密集)注意力。当序列的 token 长度低于dense_len时,模型将使用密集注意力;超过此长度则切换到稀疏注意力。将其设置为-1则无论序列长度如何均始终使用稀疏注意力。
- 长上下文扩展 MiniCPM4.1 原生支持高达 65,536(64k)token 的上下文长度。对于总长度(包括输入和输出)显著超出此限制的对话,我们建议使用 RoPE 缩放技术来有效处理长文本。我们已通过修改 LongRoPE 因子,验证了模型在高达 131,072 token 上下文长度下的表现。
您可以通过修改模型文件来应用 LongRoPE 因子的调整。具体而言,在 config.json 文件中,调整 rope_scaling 字段。
{
...,
"rope_scaling": {
"rope_type": "longrope",
"long_factor": [0.9982316082870437, 1.033048153422584, 1.0749920956484724, 1.1255096879436193, 1.1863348602111476, 1.259543828902579, 1.3476188888731149, 1.4535223827776373, 1.5807816745852985, 1.7335856049489526, 1.9168922912975785, 2.1365471404135326, 2.3994084200118646, 2.713475511863602, 3.0880118452194134, 3.533650295140154, 4.062463396503134, 4.687974098908333, 5.425075306704039, 6.289818967956352, 7.29902962722721, 8.6357018163639, 10.210822723989212, 12.053807765671676, 14.193944598909404, 16.65780676784363, 19.463620727694074, 22.628311203524586, 26.150106147261315, 30.02526691405111, 34.23183327975347, 38.73811934094828, 43.502489489729555, 48.47627117965394, 53.61139491762471, 58.857366522037935, 64.16798299215064, 69.51359464319125, 74.86555458220285, 80.21497790341579, 85.55322183307433, 90.89611806932027, 96.26245306514224, 101.68269304046481, 107.18619510219668, 112.82253283014026, 118.63764063163615, 119.88866203644656, 120.9462882391725, 121.837565139014, 122.58663780572562, 123.2147719894291, 123.74049454862576, 124.17980424685767, 124.54641761955492, 124.85202548028222, 125.10654406389756, 125.31835105170659, 125.49450117164764, 125.64091910903052, 125.76256945356558, 125.86360463815589, 125.94749252260765, 126.01712561287873],
"short_factor": [0.9982316082870437, 1.033048153422584, 1.0749920956484724, 1.1255096879436193, 1.1863348602111476, 1.259543828902579, 1.3476188888731149, 1.4535223827776373, 1.5807816745852985, 1.7335856049489526, 1.9168922912975785, 2.1365471404135326, 2.3994084200118646, 2.713475511863602, 3.0880118452194134, 3.533650295140154, 4.062463396503134, 4.687974098908333, 5.425075306704039, 6.289818967956352, 7.29902962722721, 8.6357018163639, 10.21082...,
"original_max_position_embeddings": 65536
}
}
vLLM
推测解码
使用 vLLM 进行推测解码加速推理时,请按照以下步骤操作:
1. 下载 MiniCPM4.1 草稿模型
首先,下载 MiniCPM4.1 草稿模型:
cd /your_path
git clone https://huggingface.co/openbmb/MiniCPM4.1-8B-Eagle3
2. 安装兼容 EAGLE3 的 vLLM
EAGLE3 的 vLLM PR 已提交。目前请使用我们的仓库进行安装:
git clone https://github.com/LDLINGLINGLING/vllm.git
cd vllm
pip install -e .
3. 启动支持推测解码的 vLLM 服务器
启动启用推测解码功能的 vLLM 推理服务器。请确保将推测配置中的模型路径更新为指向您下载的 MiniCPM4_1-8B-Eagle3-bf16 文件夹:
VLLM_USE_V1=1 \
vllm serve openbmb/MiniCPM4.1-8B \
--seed 42 \
--trust-remote-code \
--speculative-config '{
"model": "your/path/MiniCPM4_1-8B-Eagle3-bf16",
"num_speculative_tokens": 3,
"method": "eagle3",
"draft_tensor_parallel_size": 1
}'
4. 客户端使用示例
无论是标准推理还是推测解码,客户端的使用方式都相同:
import openai
client = openai.Client(base_url="http://localhost:8000/v1", api_key="EMPTY")
response = client.chat.completions.create(
model="openbmb/MiniCPM4.1-8B",
messages=[
{"role": "user", "content": "写一篇关于人工智能的文章。"},
],
temperature=0.6,
max_tokens=32768,
extra_body=dict(add_special_tokens=True), // 确保为聊天模板添加特殊标记
)
print(response.choices[0].message.content)
vLLM 配置参数
VLLM_USE_V1=1:启用 vLLM v1 API--speculative-config:推测解码的 JSON 配置model:用于推测的草稿模型路径num_speculative_tokens:推测令牌数量(默认值为 3)method:推测解码方法(eagle3)draft_tensor_parallel_size:草稿模型的张量并行规模(默认值为 1)
--seed:随机种子,用于保证结果可重复性--trust-remote-code:允许执行自定义模型的远程代码
标准推理(无推测解码)
目前,您需要安装最新版本的 vLLM。
pip install -U vllm \
--pre \
--extra-index-url https://wheels.vllm.ai/nightly
然后您可以使用 vLLM 对 MiniCPM4.1-8B 进行推理:
from transformers import AutoTokenizer
from vllm import LLM, SamplingParams
model_name = "openbmb/MiniCPM4.1-8B"
prompt = [{"role": "user", "content": "写一篇关于人工智能的文章。"}]
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
input_text = tokenizer.apply_chat_template(prompt, tokenize=False, add_generation_prompt=True)
llm = LLM(
model=model_name,
trust_remote_code=True,
max_num_batched_tokens=65536,
dtype="bfloat16",
gpu_memory_utilization=0.8,
)
sampling_params = SamplingParams(top_p=0.95, temperature=0.6, max_tokens=32768)
outputs = llm.generate(prompts=input_text, sampling_params=sampling_params)
print(outputs[0].outputs[0].text)
此外,您还可以通过运行以下命令来启动推理服务器:
注意:在 vLLM 的聊天 API 中,默认情况下
add_special_tokens是False。这意味着重要的特殊标记——例如序列开始标记(BOS)——不会自动添加。为了确保输入提示正确地格式化以供模型使用,您应显式设置extra_body={"add_special_tokens": True}。
vllm serve openbmb/MiniCPM4.1-8B --trust-remote-code
然后您可以使用以下代码调用聊天界面:
import openai
client = openai.Client(base_url="http://localhost:8000/v1", api_key="EMPTY")
response = client.chat.completions.create(
model="openbmb/MiniCPM4.1-8B",
messages=[
{"role": "user", "content": "写一篇关于人工智能的文章。"},
],
temperature=0.6,
max_tokens=32768,
extra_body=dict(add_special_tokens=True), // 确保为聊天模板添加特殊标记
)
print(response.choices[0].message.content)
SGLang
推测解码
要实现推测解码加速推理,请按照以下步骤操作:
1. 下载 MiniCPM4.1 草稿模型
首先,下载 MiniCPM4.1 草稿模型:
cd /your_path
git clone https://huggingface.co/openbmb/MiniCPM4.1-8B-Eagle3
2. 安装与 EAGLE3 兼容的 SGLang
EAGLE3 适配的 PR 已经提交。目前,请使用我们的仓库进行安装:
git clone https://github.com/LDLINGLINGLING/sglang.git
cd sglang
pip install -e .
3. 启动支持推测解码的 SGLang 服务器
启动启用推测解码功能的 SGLang 服务器:
python -m sglang.launch_server \
--model-path "openbmb/MiniCPM4.1-8B" \
--host "127.0.0.1" \
--port 30002 \
--mem-fraction-static 0.9 \
--speculative-algorithm EAGLE3 \
--speculative-draft-model-path "your/path/MiniCPM4_1-8B-Eagle3-bf16" \
--speculative-num-steps 3 \
--speculative-eagle-topk 1 \
--speculative-num-draft-tokens 32 \
--temperature 0.7
4. 客户端使用方法
无论是标准解码还是推测解码,客户端的使用方式都相同:
import openai
client = openai.Client(base_url=f"http://localhost:30002/v1", api_key="None")
response = client.chat.completions.create(
model="openbmb/MiniCPM4.1-8B",
messages=[
{"role": "user", "content": "写一篇关于人工智能的文章。"},
],
temperature=0.6,
max_tokens=32768,
)
print(response.choices[0].message.content)
注意:请确保在客户端代码中将端口号更新为与服务器端口一致(在推测解码示例中为 30002)。
配置参数
--speculative-algorithm EAGLE3:启用 EAGLE3 推测解码--speculative-draft-model-path:推测用草稿模型的路径--speculative-num-steps:推测步骤数(默认:3)--speculative-eagle-topk:EAGLE 的 Top-k 参数(默认:1)--speculative-num-draft-tokens:草稿令牌数量(默认:32)--mem-fraction-static:静态内存分配比例(默认:0.9)
标准推理(无推测解码)
目前,您需要安装我们分叉的 SGLang 版本。
git clone -b openbmb https://github.com/OpenBMB/sglang.git
cd sglang
pip install --upgrade pip
pip install -e "python[all]"
您可以通过运行以下命令来启动推理服务器:
python -m sglang.launch_server --model openbmb/MiniCPM4.1-8B --trust-remote-code --port 30000 --chat-template chatml
然后,您可以使用以下命令调用聊天接口:
import openai
client = openai.Client(base_url=f"http://localhost:30000/v1", api_key="None")
response = client.chat.completions.create(
model="openbmb/MiniCPM4.1-8B",
messages=[
{"role": "user", "content": "写一篇关于人工智能的文章。"},
],
temperature=0.6,
max_tokens=32768,
)
print(response.choices[0].message.content)
CPM.cu
我们推荐使用 CPM.cu 来进行 MiniCPM4 和 MiniCPM4.1 的推理。CPM.cu 是由 OpenBMB 开发的 CUDA 推理框架,集成了高效的稀疏采样、推测采样和量化技术,能够充分发挥 MiniCPM4 和 MiniCPM4.1 的效率优势。
您可以通过运行以下命令来安装 CPM.cu:
git clone https://github.com/OpenBMB/CPM.cu.git --recursive
cd CPM.cu
python3 setup.py install
您可以运行以下命令来测试模型的速度:
python3 tests/long_prompt_gen.py # 生成 prompt.txt
python3 tests/test_generate.py --prompt-file prompt.txt
您还可以运行以下命令来使用 EAGLE3 推测解码算法进行推理:
python3 -m cpmcu.cli \
--model-path $BASE_MODEL_PATH \
--draft-model-path $EAGLE3_DRAFT_MODEL_PATH \
--prompt-text "给我讲讲清华大学吧" \
--use-eagle3 true
有关 CPM.cu 的更多详细信息,请参阅 CPM.cu 仓库。
llama.cpp 和 Ollama
我们还支持使用 llama.cpp 和 Ollama 进行推理。
llama.cpp
您可以从 Hugging Face 下载 MiniCPM4.1-8B 模型的 GGUF 格式,并使用 llama.cpp 进行高效的 CPU 或 GPU 推理。
# 案例 1:主命令行
./build/bin/llama-cli -m MiniCPM4.1-8B-Q4_K_M.gguf -p "写一篇关于人工智能的文章。" -n 1500
# 案例 2:服务器
## 启动服务器
./build/bin/llama-server -m MiniCPM4.1-8B-Q4_K_M.gguf --host 127.0.0.1 --port 8080 -c 4096 -fa on &
## 发送请求
curl -X POST http://127.0.0.1:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "用户", "内容": "写一篇关于人工智能的文章。"}],
"max_tokens": 1500
}'
Ollama
请参考 模型中心 下载模型。安装 ollama 包后,您可以使用以下命令运行 MiniCPM4.1:
ollama run openbmb/minicpm4.1
BitCPM4:量化
BitCPM4 是通过量化感知训练(QAT)从 MiniCPM 系列模型衍生出的三值量化模型,显著提升了训练效率和模型参数效率。
- 训练方法的改进
- 在小型模型上利用风洞搜索超参数。
- 采用两阶段训练法:先以高精度训练,再进行 QAT,充分利用已训练好的高精度模型,从而大幅减少 QAT 阶段所需的计算资源。
- 高参数效率
- 仅以 1.58 位的比特宽度,便能达到与同规模全精度模型相当的性能,展现出极高的参数效率。
BitCPM4 评估
BitCPM4 的性能与其他同等规模的全精度模型相当。

BitCPM4 推理
BitCPM4 的参数以伪量化格式存储,支持直接在 Hugging Face 框架内进行推理。
MiniCPM4 应用
点击查看 MiniCPM4 应用详情
MiniCPM4-Survey:可信调查问卷生成
MiniCPM4-Survey 是由 THUNLP、中国人民大学和 ModelBest 联合开发的开源 LLM 代理模型。它基于 MiniCPM4-8B 构建,能够接收用户的查询作为输入,并自主生成可信的长篇调查报告。
其主要特点包括:
计划-检索-撰写问卷生成框架 — 我们提出了一种多智能体生成框架,该框架通过三个核心阶段运行:计划(定义问卷的整体结构)、检索(生成合适的检索关键词)和撰写(综合检索到的信息以生成连贯的章节级内容)。
高质量数据集构建 — 我们收集并处理大量专家撰写的调查论文,以构建高质量的训练数据集。同时,我们还收集了大量研究论文来建立检索数据库。
多维度奖励设计 — 我们精心设计了一个包含结构、内容和引用三个方面的奖励体系,用于评估问卷的质量,并将其作为强化学习训练阶段的奖励函数。
多步强化学习训练策略 — 我们提出了一种上下文管理器,以确保关键信息的保留,同时促进高效的推理;此外,我们还构建了并行环境,以维持高效的强化学习训练循环。
演示与快速入门
请参阅此处
性能评估
| 方法 | 相关性 | 覆盖面 | 深度 | 新颖性 | 平均分 | 事实准确性 |
|---|---|---|---|---|---|---|
| 简单RAG(由G2FT驱动) | 3.25 | 2.95 | 3.35 | 2.60 | 3.04 | 43.68 |
| AutoSurvey(由G2FT驱动) | 3.10 | 3.25 | 3.15 | 3.15 | 3.16 | 46.56 |
| Webthinker(由WTR1-7B驱动) | 3.30 | 3.00 | 2.75 | 2.50 | 2.89 | -- |
| Webthinker(由QwQ-32B驱动) | 3.40 | 3.30 | 3.30 | 2.50 | 3.13 | -- |
| OpenAI深度研究(由GPT-4o驱动) | 3.50 | 3.95 | 3.55 | 3.00 | 3.50 | -- |
| MiniCPM-4-Survey | 3.45 | 3.70 | 3.85 | 3.00 | 3.50 | 68.73 |
| 无强化学习 | 3.55 | 3.35 | 3.30 | 2.25 | 3.11 | 50.24 |
问卷生成系统的性能对比。"G2FT"代表Gemini-2.0-Flash-Thinking,而"WTR1-7B"则表示Webthinker-R1-7B。由于Webthinker不包含引用功能,且OpenAI深度研究在导出结果时也不提供引用,因此未对这两者进行事实准确性评估。
MiniCPM4-MCP:基于模型上下文协议的工具使用
MiniCPM4-MCP是由THUNLP、中国人民大学以及ModelBest联合开发的一款开源端侧LLM代理模型,其基础为拥有80亿参数的MiniCPM-4。它能够通过MCP与各类工具和数据资源交互,从而解决广泛的现实世界任务。截至目前,MiniCPM4-MCP支持以下功能:
在16个MCP服务器上使用工具:这些服务器涵盖办公、生活、通信、信息和工作管理等多个类别。
单一工具调用能力:它可以使用符合MCP标准的单一工具执行单步或多步工具调用。
多工具调用能力:它可以使用不同的符合MCP标准的工具执行单步或多步工具调用。
演示
演示可在该链接中查看。
性能评估
| MCP服务器 | gpt-4o | qwen3 | minicpm4 | ||||||
|---|---|---|---|---|---|---|---|---|---|
| func | param | value | func | param | value | func | param | value | |
| Airbnb | 89.3 | 67.9 | 53.6 | 92.8 | 60.7 | 50.0 | 96.4 | 67.9 | 50.0 |
| Amap-Maps | 79.8 | 77.5 | 50.0 | 74.4 | 72.0 | 41.0 | 89.3 | 85.7 | 39.9 |
| Arxiv-MCP-Server | 85.7 | 85.7 | 85.7 | 81.8 | 54.5 | 50.0 | 57.1 | 57.1 | 52.4 |
| Calculator | 100.0 | 100.0 | 20.0 | 80.0 | 80.0 | 13.3 | 100.0 | 100.0 | 6.67 |
| Computor-Control-MCP | 90.0 | 90.0 | 90.0 | 90.0 | 90.0 | 90.0 | 90.0 | 90.0 | 86.7 |
| Desktop-Commander | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 |
| Filesystem | 63.5 | 63.5 | 31.3 | 69.7 | 69.7 | 26.0 | 83.3 | 83.3 | 42.7 |
| Github | 92.0 | 80.0 | 58.0 | 80.5 | 50.0 | 27.7 | 62.8 | 25.7 | 17.1 |
| Gaode | 71.1 | 55.6 | 17.8 | 68.8 | 46.6 | 24.4 | 68.9 | 46.7 | 15.6 |
| MCP-Code-Executor | 85.0 | 80.0 | 70.0 | 80.0 | 80.0 | 70.0 | 90.0 | 90.0 | 65.0 |
| MCP-Docx | 95.8 | 86.7 | 67.1 | 94.9 | 81.6 | 60.1 | 95.1 | 86.6 | 76.1 |
| PPT | 72.6 | 49.8 | 40.9 | 85.9 | 50.7 | 37.5 | 91.2 | 72.1 | 56.7 |
| PPTx | 64.2 | 53.7 | 13.4 | 91.0 | 68.6 | 20.9 | 91.0 | 58.2 | 26.9 |
| Simple-Time-Server | 90.0 | 70.0 | 70.0 | 90.0 | 90.0 | 90.0 | 90.0 | 60.0 | 60.0 |
| Slack | 100.0 | 90.0 | 70.0 | 100.0 | 100.0 | 65.0 | 100.0 | 100.0 | 100.0 |
| Whisper | 90.0 | 90.0 | 90.0 | 90.0 | 90.0 | 90.0 | 90.0 | 90.0 | 30.0 |
| 平均值 | 80.2 | 70.2 | 49.1 | 83.5 | 67.7 | 43.8 | 88.3 | 76.1 | 51.2 |
MiniCPM 英特尔 AIPC 客户端:新一代边缘大模型强者
由面壁智能与英特尔合作开发的 MiniCPM Intel AIPC 客户端,是一款专为搭载英特尔酷睿 Ultra 系列处理器的设备设计的边缘大模型客户端。它为开发者、研究人员和 AI 爱好者提供低延迟、高效率且保护隐私的本地大模型体验。其核心特性包括:
核心特性
深度英特尔硬件适配
完全兼容英特尔酷睿 Ultra 系列处理器,实现与硬件的深度集成,释放峰值性能。用户无需依赖云服务,即可在本地设备上流畅运行大模型。基于 OpenVINO 的极致优化
通过 OpenVINO 推理框架进行深度优化,显著提升推理效率,最高可达 每秒 80 个 token。这确保了模型在快速查询和复杂任务处理时都能迅速响应。隐私与安全保障
采用本地部署方式,所有数据处理均在设备端完成,彻底消除因上传云端带来的隐私风险。尤其对于对数据隐私要求较高的场景,用户可更加安心使用。满足多样化用户群体需求
无论是追求前沿技术的开发者、专注于学术研究的科研人员,还是热衷于探索 AI 应用的爱好者,MiniCPM Intel AIPC 客户端都能帮助他们轻松接入本地大模型的强大能力,开启个性化的 AI 探索之旅。
系统要求
- 推荐处理器:英特尔酷睿 Ultra 7 或更高(移动版)
- 推荐内存:32GB 或以上
下载
许可协议
模型许可协议
- 本仓库及 MiniCPM 模型均遵循 Apache-2.0 许可协议发布。
声明
- 作为一款语言模型,MiniCPM 通过学习海量文本生成内容。
- 然而,它并不具备理解或表达个人观点或价值判断的能力。
- MiniCPM 生成的任何内容均不代表模型开发者的观点或立场。
- 因此,在使用 MiniCPM 生成的内容时,用户应自行承担评估和验证的责任。
合作机构
本项目由以下机构共同开发:
引用
- 如果您认为我们的工作有价值,请引用我们的论文:MiniCPM4。
@article{minicpm4,
title={Minicpm4: 超高效终端设备端大模型},
author={MiniCPM 团队},
journal={arXiv 预印本 arXiv:2506.07900},
year={2025}
}
版本历史
2.4.22025/07/01常见问题
相似工具推荐
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
funNLP
funNLP 是一个专为中文自然语言处理(NLP)打造的超级资源库,被誉为"NLP 民工的乐园”。它并非单一的软件工具,而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。 面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点,funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具,还独特地收录了丰富的垂直领域资源,如法律、医疗、金融行业的专用词库与数据集,甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性,从基础的字典词典到前沿的 BERT、GPT-2 模型代码,再到高质量的标注数据和竞赛方案,应有尽有。 无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师,还是从事人工智能研究的学者,都能在这里找到急需的“武器弹药”。对于开发者而言,它能大幅减少寻找数据和复现模型的时间;对于研究者,它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神,极大地降低了中文自然语言处理的开发与研究成本,是中文 AI 社区不可或缺的宝藏仓库。
gpt4all
GPT4All 是一款让普通电脑也能轻松运行大型语言模型(LLM)的开源工具。它的核心目标是打破算力壁垒,让用户无需依赖昂贵的显卡(GPU)或云端 API,即可在普通的笔记本电脑和台式机上私密、离线地部署和使用大模型。 对于担心数据隐私、希望完全掌控本地数据的企业用户、研究人员以及技术爱好者来说,GPT4All 提供了理想的解决方案。它解决了传统大模型必须联网调用或需要高端硬件才能运行的痛点,让日常设备也能成为强大的 AI 助手。无论是希望构建本地知识库的开发者,还是单纯想体验私有化 AI 聊天的普通用户,都能从中受益。 技术上,GPT4All 基于高效的 `llama.cpp` 后端,支持多种主流模型架构(包括最新的 DeepSeek R1 蒸馏模型),并采用 GGUF 格式优化推理速度。它不仅提供界面友好的桌面客户端,支持 Windows、macOS 和 Linux 等多平台一键安装,还为开发者提供了便捷的 Python 库,可轻松集成到 LangChain 等生态中。通过简单的下载和配置,用户即可立即开始探索本地大模型的无限可能。
