面壁小钢炮MiniCPM 4.0开源,端侧推理常规提速5倍!

简介: 面壁智能重磅推出MiniCPM 4.0 ——一个极致高效的端侧大模型,通过其 CPM.cu 自研推理框架,可实现220倍极致的速度提升,5 倍常规提速。

01.MiniCPM 4.0

面壁智能重磅推出MiniCPM 4.0 ——一个极致高效的端侧大模型,通过其 CPM.cu 自研推理框架,可实现220倍极致的速度提升,5 倍常规提速。本次在开源社区核心推出 8B 和 0.5B 两个参数规模的版本,均在同级别模型对比中实现了最佳性能,官方开源模型包括:

MiniCPM4-8B:

MiniCPM4的旗舰模型,拥有80亿参数,在8T tokens上训练。

MiniCPM4-0.5B:

MiniCPM4的小型版本,拥有0.5亿参数,在1T tokens上训练。

MiniCPM4-8B-Eagle-FRSpec:

用于FRSpec的Eagle头,加速MiniCPM4-8B的推测性推理。

MiniCPM4-8B-Eagle-FRSpec-QAT-cpmcu:

使用QAT训练的FRSpec的Eagle头,高效地结合推测和量化,实现MiniCPM4-8B的超加速。

MiniCPM4-8B-Eagle-vLLM:

vLLM格式的Eagle头,加速MiniCPM4-8B的推测性推理。

MiniCPM4-8B-marlin-Eagle-vLLM:

量化的vLLM格式Eagle头,加速MiniCPM4-8B的推测性推理。

BitCPM4-0.5B:

应用极值三进制量化于MiniCPM4-0.5B,将模型参数压缩为三进制值,实现了90%的位宽减少。

BitCPM4-1B:

应用极值三进制量化于MiniCPM3-1B,将模型参数压缩为三进制值,实现了90%的位宽减少。

MiniCPM4-Survey:

基于MiniCPM4-8B,接受用户的查询作为输入,并自动生成可信的长篇调查论文。

MiniCPM4-MCP:

基于MiniCPM4-8B,接受用户的查询及可用的MCP工具作为输入,并自动调用相关的MCP工具以满足用户需求。

模型合集:

https://www.modelscope.cn/collections/MiniCPM-4-ec015560e8c84d

Github:

https://github.com/openbmb/minicpm

技术报告:

https://github.com/OpenBMB/MiniCPM/blob/main/report/MiniCPM_4_Technical_Report.pdf

通过其技术报告可见,MiniCPM4 系列是专为终端设备设计的高度高效的大规模语言模型(LLMs),从模型架构、训练数据、训练算法和推理系统四个关键维度上的系统性创新实现了这一效率。

  • 高效模型架构:
  • InfLLM v2 -- 可训练的稀疏注意力机制:采用可训练的稀疏注意力机制架构,在 128K 长文本处理中,每个词元仅需与不足 5% 的词元进行相关性计算,显著降低长文本的计算开销

  • 高效学习算法:
  • 模型风洞 2.0 -- 高效 Predictable Scaling:引入下游任务的 Scaling 预测方法,实现更精准的模型训练配置搜索
  • BitCPM -- 极致的三值量化:将模型参数位宽压缩至 3 值,实现模型位宽 90% 的极致瘦身
  • 高效训练工程优化:采用 FP8 低精度计算技术,结合多词元预测(Multi-token Prediction)训练策略

  • 高知识密度训练数据:
  • UltraClean -- 高质量预训练数据的清洗与合成:构建基于高效验证的迭代式数据清洗策略,开源高质量中英文预训练数据集 UltraFineweb
  • UltraChat v2 -- 高质量有监督微调数据合成:构建大规模高质量有监督微调数据集,涵盖知识密集型数据、推理密集型数据、指令遵循数据、长文本理解数据、工具调用数据等多个维度

  • 高效推理系统:
  • CPM.cu -- 轻量级的高效CUDA推理框架:融合了稀疏注意力机制、模型量化与投机采样,充分体现MiniCPM4的效率优势
  • ArkInfer -- 跨平台部署系统:支持多后端环境的一键部署,提供灵活的跨平台适配能力

02.模型推理

使用transformers进行推理

from modelscope import AutoModelForCausalLM, AutoTokenizer
import torch
torch.manual_seed(0)
path = 'OpenBMB/MiniCPM4-8B'
device = "cuda"
tokenizer = AutoTokenizer.from_pretrained(path)
model = AutoModelForCausalLM.from_pretrained(path, torch_dtype=torch.bfloat16, device_map=device, trust_remote_code=True)
# User can directly use the chat interface
# responds, history = model.chat(tokenizer, "Write an article about Artificial Intelligence.", temperature=0.7, top_p=0.7)
# print(responds)
# User can also use the generate interface
messages = [
    {"role": "user", "content": "Write an article about Artificial Intelligence."},
]
model_inputs = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True).to(device)
model_outputs = model.generate(
    model_inputs,
    max_new_tokens=1024,
    top_p=0.7,
    temperature=0.7
)
output_token_ids = [
    model_outputs[i][len(model_inputs[i]):] for i in range(len(model_inputs))
]
responses = tokenizer.batch_decode(output_token_ids, skip_special_tokens=True)[0]
print(responses)

使用CPM.cu进行推理

推荐使用CPM.cu对MiniCPM4进行推理。CPM.cu是OpenBMB开发的一个CUDA推理框架,集成了高效的稀疏、推测采样和量化技术,充分利用了MiniCPM4的效率优势。

可以通过运行以下命令来安装CPM.cu:

git clone https://github.com/OpenBMB/cpm.cu.git --recursive
cd cpm.cu
python3 setup.py install

MiniCPM4原生支持最长达到32,768 tokens的上下文长度。为了重现论文中的长文本加速效果,建议使用已经验证过的LongRoPE因子。通过修改config.json文件中的rope_scaling字段来启用LongRoPE。

{
    ...,
    "rope_scaling": {
        "rope_type": "longrope", 
        "long_factor": [0.9977997200264581, 1.014658295992452, 1.0349680404997148, 1.059429246056193, 1.0888815016813513, 1.1243301355211495, 1.166977103606075, 1.2182568066927284, 1.2798772354275727, 1.3538666751582975, 1.4426259039919596, 1.5489853358570191, 1.6762658237220625, 1.8283407612492941, 2.0096956085876183, 2.225478927469756, 2.481536379650452, 2.784415934557119, 3.1413289096347365, 3.560047844772632, 4.048719380066383, 4.752651957515948, 5.590913044973868, 6.584005926629993, 7.7532214876576155, 9.119754865903639, 10.704443927019176, 12.524994176518703, 14.59739595363613, 16.93214476166354, 19.53823297353041, 22.417131025031697, 25.568260840911098, 28.991144156566317, 32.68408069090375, 36.65174474170465, 40.90396065611201, 45.4664008671033, 50.37147343433591, 55.6804490772103, 61.470816952306556, 67.8622707390618, 75.00516023410414, 83.11898235973767, 92.50044360202462, 103.57086856690864, 116.9492274587385, 118.16074567836519, 119.18497548708795, 120.04810876261652, 120.77352815196981, 121.38182790207875, 121.89094985353891, 122.31638758099915, 122.6714244963338, 122.9673822552567, 123.21386397019609, 123.41898278254268, 123.58957065488238, 123.73136519024158, 123.84917421274221, 123.94701903496814, 124.02825801299717, 124.09569231686116],
        "short_factor": [0.9977997200264581, 1.014658295992452, 1.0349680404997148, 1.059429246056193, 1.0888815016813513, 1.1243301355211495, 1.166977103606075, 1.2182568066927284, 1.2798772354275727, 1.3538666751582975, 1.4426259039919596, 1.5489853358570191, 1.6762658237220625, 1.8283407612492941, 2.0096956085876183, 2.225478927469756, 2.481536379650452, 2.784415934557119, 3.1413289096347365, 3.560047844772632, 4.048719380066383, 4.752651957515948, 5.590913044973868, 6.584005926629993, 7.7532214876576155, 9.119754865903639, 10.704443927019176, 12.524994176518703, 14.59739595363613, 16.93214476166354, 19.53823297353041, 22.417131025031697, 25.568260840911098, 28.991144156566317, 32.68408069090375, 36.65174474170465, 40.90396065611201, 45.4664008671033, 50.37147343433591, 55.6804490772103, 61.470816952306556, 67.8622707390618, 75.00516023410414, 83.11898235973767, 92.50044360202462, 103.57086856690864, 116.9492274587385, 118.16074567836519, 119.18497548708795, 120.04810876261652, 120.77352815196981, 121.38182790207875, 121.89094985353891, 122.31638758099915, 122.6714244963338, 122.9673822552567, 123.21386397019609, 123.41898278254268, 123.58957065488238, 123.73136519024158, 123.84917421274221, 123.94701903496814, 124.02825801299717, 124.09569231686116],
        "original_max_position_embeddings": 32768
    }
}


修改后,你可以运行以下命令来重现长上下文加速效果

python3 tests/test_generate.py

有关CPM.cu的更多详细信息,请参阅 CPM.cu仓库(https://github.com/OpenBMB/cpm.cu).

03.模型微调

我们介绍使用ms-swift对MiniCPM4-8B进行自我认知微调。ms-swift是魔搭社区官方提供的大模型与多模态大模型训练部署框架。

ms-swift开源地址:

https://github.com/modelscope/ms-swift

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

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

微调数据集准备格式如下(system字段可选),在训练脚本中指定`--dataset <dataset_path>`即可。

{"messages": [{"role": "user", "content": "浙江的省会在哪?"}, {"role": "assistant", "content": "浙江的省会在杭州。"}]}

对MiniCPM4-8B进行10分钟快速自我认知微调脚本如下,可在魔搭提供的免费算力A10中运行:

https://modelscope.cn/my/mynotebook

# 训练显存:18GB
CUDA_VISIBLE_DEVICES=0 \
swift sft \
    --model OpenBMB/MiniCPM4-8B \
    --train_type lora \
    --dataset 'AI-ModelScope/alpaca-gpt4-data-zh#500' \
              'AI-ModelScope/alpaca-gpt4-data-en#500' \
              'swift/self-cognition#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 \
    --model_author swift \
    --model_name swift-robot

训练显存占用:

image.png

训练完成后,使用以下命令进行推理:

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

推送模型到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>'

点击链接,即可跳转模型链接~

https://www.modelscope.cn/collections/MiniCPM-4-ec015560e8c84d

目录
相关文章
|
机器人 异构计算
10分钟,用RAG搭建专业钉钉/飞书客服机器人
只需10分钟,快速搭建专属客服机器人,大幅提升工作效率!通过魔搭社区注册账号、绑定阿里云账号获取免费算力资源,并选择GPU模式运行教程脚本。按照食用指引操作,完成机器人部署并进行对话测试,前5位在评论区提交作业的用户将获赠魔搭社区时尚咖啡杯一个。立即点击教程脚本链接开始体验吧!
611 0
|
6月前
|
弹性计算 人工智能 安全
2026年OpenClaw(原Clawdbot)一键部署+企业微信接入保姆级教程
2026年OpenClaw(前身为Clawdbot)凭借轻量化部署架构、强大的AI任务自动化执行能力和灵活的生态拓展性,成为企业数字化办公升级的核心工具。阿里云提供的弹性计算资源、成熟的容器化部署环境与企业级安全防护体系,为OpenClaw的稳定运行提供了坚实支撑;而企业微信作为国内主流的企业协同办公平台,与OpenClaw的深度联动,可实现“企业微信发指令、AI自动化落地”的全流程办公提效。本文基于2026年最新实测经验,从阿里云环境搭建、OpenClaw部署、企业微信接入配置到运维优化,提供包含完整代码命令的保姆级教程,零基础用户也能按步骤零失误完成部署与集成。
3063 10
|
编解码 算法 测试技术
MiniCPM-V4.0开源,多模态能力进化,手机可用,还有最全CookBook!
今天,面壁小钢炮新一代多模态模型 MiniCPM-V 4.0 正式开源。依靠 4B 参数,取得 在 OpenCompass、OCRBench、MathVista 等多个榜单上取得了同级 SOTA 成绩,且 实现了在手机上稳定、丝滑运行。此外,官方也正式开源了 推理部署工具 MiniCPM-V CookBook,帮助开发者面向不同需求、不同场景、不同设备,均可实现开箱即用的轻量、简易部署。
1633 0
|
6月前
|
人工智能 语音技术 芯片
MiniCPM-o 4.5 CookBook:9B 参数玩转多模态全双工交互
MiniCPM-o 4.5是9B参数多模态大模型,支持图像、视频、音频、文本输入与高质量文/语音输出。具备领先视觉理解(OpenCompass平均77.6分)、实时中英双语语音对话、全双工流式交互、高精度OCR及30+语言能力,适配CPU/GPU/国产芯片,支持本地部署与微调。(239字)
1538 5
|
机器学习/深度学习 存储 安全
4G手机内存玩转Qwen2.5-Omni?MNN全面支持Qwen2.5-Omni与Qwen3!
随着移动端算力、存储能力的提升,在端侧部署大模型已成为趋势。本地化运行可消除网络延迟实现毫秒响应,降低云端算力成本,同时避免数据上传保障隐私安全。
3378 1
|
编解码 文字识别 语音技术
MiniCPM-o 2.6:流式全模态,端到端,多模态端侧大模型来了!
MiniCPM-o 2.6 是 MiniCPM-o 系列的最新、性能最佳模型。该模型基于 SigLip-400M、Whisper-medium-300M、ChatTTS-200M 和 Qwen2.5-7B 构建,共 8B 参数,通过端到端方式训练和推理。相比 MiniCPM-V 2.6,该模型在性能上有了显著提升,并支持了实时语音对话和多模态流式交互的新功能。
2339 70
|
机器学习/深度学习 JSON 自然语言处理
小模型,大用途!用于结构化输出的小型语言模型
小型语言模型(SLM)通常被用于端侧推理,搜索推荐query改写这类对于资源要求低,大规模并发时延要求高的场景
487 0