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