Minicpm4 0.5B
MiniCPM4是专为端侧设备设计的高效大语言模型,通过系统创新在模型架构、训练数据、训练算法和推理系统四个关键维度实现极致的效率提升。
下载量 415
发布时间 : 6/5/2025
模型简介
MiniCPM4系列是专门为端侧设备设计的高效大语言模型,0.5B版本拥有0.5亿参数,在1T的token上进行训练。
模型特点
高效模型架构
采用InfLLM v2可训练的稀疏注意力机制,在处理128K长文本时显著降低计算开销
高效学习算法
包含模型风洞2.0、BitCPM极致三元量化等创新技术,实现高效训练和压缩
高质量训练数据
使用UltraClean数据过滤与生成技术,构建高质量预训练和监督微调数据集
高效推理系统
提供CPM.cu轻量级CUDA推理框架和ArkInfer跨平台部署系统
模型能力
文本生成
对话交互
长文本理解
工具调用
调查报告生成
使用案例
内容创作
文章写作
根据用户提示生成高质量文章
示例中展示了AI相关文章的生成能力
旅游推荐
景点推荐
根据用户需求推荐旅游景点
示例中展示了北京5个旅游景点的推荐
🚀 MiniCPM4
MiniCPM4是专为端侧设备设计的高效大语言模型,通过在模型架构、训练数据、训练算法和推理系统四个关键维度进行系统创新,实现了极致的效率提升。在典型的端侧芯片上,它能实现超过5倍的生成加速。
🚀 快速开始
你可以通过以下链接访问项目相关资源:
同时,欢迎加入我们的交流社区:
✨ 主要特性
最新动态
- [2025.06.06] MiniCPM4 系列模型发布!该模型在相同规模下保持最佳性能的同时,实现了极致的效率提升!在典型的端侧芯片上,它能实现超过5倍的生成加速。你可以点击此处查看技术报告。🔥🔥🔥
MiniCPM4系列模型
MiniCPM4系列是专门为端侧设备设计的高效大语言模型,通过在模型架构、训练数据、训练算法和推理系统四个关键维度进行系统创新,实现了极致的效率提升。
- MiniCPM4 - 8B:MiniCPM4的旗舰模型,拥有80亿参数,在8T的token上进行训练。
- MiniCPM4 - 0.5B:MiniCPM4的小版本,拥有0.5亿参数,在1T的token上进行训练。(<-- 你正在查看此模型)
- 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工具以满足用户的需求。
高效优化维度
-
🏗️ 高效模型架构:
- InfLLM v2 -- 可训练的稀疏注意力机制:采用可训练的稀疏注意力机制架构,在处理128K长文本时,每个token只需与不到5%的token计算相关性,显著降低了长文本的计算开销。
-
🧠 高效学习算法:
- 模型风洞2.0 -- 高效可预测的缩放:引入下游任务性能的缩放预测方法,实现更精确的模型训练配置搜索。
- BitCPM -- 极致三元量化:将模型参数位宽压缩至3个值,实现90%的极端模型位宽缩减。
- 高效训练工程优化:采用FP8低精度计算技术,结合多token预测训练策略。
-
📚 高质量训练数据:
- UltraClean -- 高质量预训练数据过滤与生成:基于高效数据验证构建迭代数据清洗策略,开源高质量中英文预训练数据集 UltraFinweb。
- UltraChat v2 -- 高质量监督微调数据生成:构建大规模高质量监督微调数据集,涵盖知识密集型数据、推理密集型数据、指令跟随数据、长文本理解数据和工具调用数据等多个维度。
-
⚡ 高效推理系统:
- CPM.cu -- 轻量级高效CUDA推理框架:集成稀疏注意力、模型量化和推测采样,实现高效的预填充和解码。
- ArkInfer -- 跨平台部署系统:支持在多个后端环境中进行高效部署,提供灵活的跨平台适配能力。
📦 安装指南
使用SGLang进行推理
目前,你需要安装我们分叉版本的SGLang。
git clone -b openbmb https://github.com/OpenBMB/sglang.git
cd sglang
pip install --upgrade pip
pip install -e "python[all]"
使用vLLM进行推理
目前,你需要安装最新版本的vLLM。
pip install -U vllm \
--pre \
--extra-index-url https://wheels.vllm.ai/nightly
💻 使用示例
基础用法
使用Transformers进行推理
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
torch.manual_seed(0)
path = 'openbmb/MiniCPM4-0.5B'
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)
使用SGLang进行推理
你可以通过以下命令启动推理服务器:
python -m sglang.launch_server --model openbmb/MiniCPM4-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-8B",
messages=[
{"role": "user", "content": "Write an article about Artificial Intelligence."},
],
temperature=0.7,
max_tokens=1024,
)
print(response.choices[0].message.content)
使用vLLM进行推理
from transformers import AutoTokenizer
from vllm import LLM, SamplingParams
model_name = "openbmb/MiniCPM4-8B"
prompt = [{"role": "user", "content": "Please recommend 5 tourist attractions in Beijing. "}]
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=32768,
dtype="bfloat16",
gpu_memory_utilization=0.8,
)
sampling_params = SamplingParams(top_p=0.7, temperature=0.7, max_tokens=1024, repetition_penalty=1.02)
outputs = llm.generate(prompts=input_text, sampling_params=sampling_params)
print(outputs[0].outputs[0].text)
📚 详细文档
评估结果
端侧芯片处理速度
在Jetson AGX Orin和RTX 4090这两种典型的端侧芯片上,MiniCPM4在长文本处理任务中的处理速度明显快于同规模的模型。随着文本长度的增加,MiniCPM4的效率优势更加明显。在Jetson AGX Orin平台上,与Qwen3 - 8B相比,MiniCPM4的解码速度提高了约7倍。
综合评估
MiniCPM4推出了8B和0.5B参数规模的端侧版本,在各自的类别中均实现了同类最佳的性能。
长文本评估
MiniCPM4在32K长文本上进行预训练,并通过YaRN技术实现了长度扩展。在128K长文本的大海捞针任务中,MiniCPM4表现出色。
声明
- 作为一种语言模型,MiniCPM通过学习大量文本生成内容。
- 然而,它不具备理解或表达个人观点或价值判断的能力。
- MiniCPM生成的任何内容均不代表模型开发者的观点或立场。
- 因此,在使用MiniCPM生成的内容时,用户应自行承担评估和验证的全部责任。
引用
如果您认为我们的工作有价值,请引用我们的论文。
@article{minicpm4,
title={{MiniCPM4}: Ultra-Efficient LLMs on End Devices},
author={MiniCPM Team},
year={2025}
}
📄 许可证
本仓库和MiniCPM模型均遵循 Apache - 2.0 许可证发布。
Phi 2 GGUF
其他
Phi-2是微软开发的一个小型但强大的语言模型,具有27亿参数,专注于高效推理和高质量文本生成。
大型语言模型 支持多种语言
P
TheBloke
41.5M
205
Roberta Large
MIT
基于掩码语言建模目标预训练的大型英语语言模型,采用改进的BERT训练方法
大型语言模型 英语
R
FacebookAI
19.4M
212
Distilbert Base Uncased
Apache-2.0
DistilBERT是BERT基础模型的蒸馏版本,在保持相近性能的同时更轻量高效,适用于序列分类、标记分类等自然语言处理任务。
大型语言模型 英语
D
distilbert
11.1M
669
Llama 3.1 8B Instruct GGUF
Meta Llama 3.1 8B Instruct 是一个多语言大语言模型,针对多语言对话用例进行了优化,在常见的行业基准测试中表现优异。
大型语言模型 英语
L
modularai
9.7M
4
Xlm Roberta Base
MIT
XLM-RoBERTa是基于100种语言的2.5TB过滤CommonCrawl数据预训练的多语言模型,采用掩码语言建模目标进行训练。
大型语言模型 支持多种语言
X
FacebookAI
9.6M
664
Roberta Base
MIT
基于Transformer架构的英语预训练模型,通过掩码语言建模目标在海量文本上训练,支持文本特征提取和下游任务微调
大型语言模型 英语
R
FacebookAI
9.3M
488
Opt 125m
其他
OPT是由Meta AI发布的开放预训练Transformer语言模型套件,参数量从1.25亿到1750亿,旨在对标GPT-3系列性能,同时促进大规模语言模型的开放研究。
大型语言模型 英语
O
facebook
6.3M
198
1
基于transformers库的预训练模型,适用于多种NLP任务
大型语言模型
Transformers

1
unslothai
6.2M
1
Llama 3.1 8B Instruct
Llama 3.1是Meta推出的多语言大语言模型系列,包含8B、70B和405B参数规模,支持8种语言和代码生成,优化了多语言对话场景。
大型语言模型
Transformers 支持多种语言

L
meta-llama
5.7M
3,898
T5 Base
Apache-2.0
T5基础版是由Google开发的文本到文本转换Transformer模型,参数规模2.2亿,支持多语言NLP任务。
大型语言模型 支持多种语言
T
google-t5
5.4M
702
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98