一、介紹
MiniCPM 4 是一個極其高效的邊緣側大型模型,經過了模型架構、學習算法、訓練數據和推理系統四個維度的高效優化,實現了極致的效率提升。
- 🏗??高效的模型架構:
- InfLLM v2 – 可訓練的稀疏注意力機制:采用可訓練的稀疏注意力機制架構,每個 token 只需要計算與 128K 長文本中不到 5% 的 token 的相關性,顯著降低了長文本處理的計算開銷
- 🧠?高效的算法學習:
- Model Wind Tunnel 2.0 – 高效的可預測擴展:引入了下游任務性能的擴展預測方法,使得模型訓練配置搜索更加精確
- BitCPM – 極限三值量化:將模型參數位寬壓縮至 3 個值,實現了 90% 的極端模型位寬減少
- 高效的訓練工程優化:采用 FP8 低精度計算技術結合多 token 預測訓練策略
- 📚?高質量的訓練數據:
- UltraClean – 高質量預訓練數據過濾和生成:基于高效的數據驗證構建迭代數據清洗策略,開源高質量的中文和英文預訓練數據集?UltraFinweb
- UltraChat v2 – 高質量監督微調數據生成:構建大規模高質量監督微調數據集,涵蓋知識密集型數據、推理密集型數據、指令遵循數據、長文本理解數據及工具調用數據等多個維度
- ??高效的推理系統:
- CPM.cu – 輕量級且高效的 CUDA 推理框架:集成稀疏注意力、模型量化和推測采樣以實現高效的填充和解碼
- ArkInfer – 跨平臺部署系統:支持在多個后端環境中的高效部署,提供靈活的跨平臺適應能力
二、部署過程
基礎環境最低要求說明:
環境名稱 | 版本信息 |
---|---|
Ubuntu | 22.04.5 LTS |
python | 3.10 |
Cuda | 12.1.1 |
NVIDIA Corporation | 3060 |
1、構建基礎鏡像
在算家云容器中心的租賃頁面中,構建基礎鏡像 Miniconda-Ubuntu-22.04-cuda12.1.1
2、從?github 倉庫?克隆項目:
# 克隆 MiniCPM4 項目(如果克隆速度過慢可以開啟學術代理加速)
git clone https://github.com/OpenBMB/MiniCPM.git
3、創建虛擬項目
# 創建一個名為 MiniCPM4 的新虛擬環境,并指定 Python 版本為 3.10
conda create -n MiniCPM4 python=3.10 -y
等待安裝完成
4、安裝模型依賴包
# 激活 MiniCPM4 虛擬環境
conda activate MiniCPM4# 切換到項目工作目錄
cd /MiniCPM# 在 MiniCPM4 環境中安裝 requirements.txt 依賴
pip install -r requirements.txt
依賴安裝成功如下圖所示:
5、下載預訓練模型
推薦下載方法:
1.安裝 modelscope 依賴包。
pip install modelscope
2.創建一個 Python 下載腳本
vim modelscope_download.py
3.在創建的腳本中插入以下下載代碼
# Python 代碼下載模型
from modelscope import snapshot_download
model_dir = snapshot_download('OpenBMB/MiniCPM3-4B', cache_dir='./', revision='master')
保存文件:Esc --》Shift + :–》輸入英文的 :–》輸入:wq
- 如果你正在編輯文本,先按?
Esc
?鍵退出插入模式。 - 然后,直接按?
Shift + :
(不需要先按冒號,這個組合鍵已經包含了冒號的輸入),屏幕上會出現一個冒號,提示你輸入命令。 - 接著,輸入?
wq
,表示你想要保存文件并退出。 - 最后,按?
Enter
?鍵執行命令。
4.執行 modelscope_download.py 文件進行模型下載
python modelscope_download.py
6、運行 hf_based_demo.py 文件
#切換到hf_based_demo.py 文件目錄
cd demo/minicpm# 運行 hf_based_demo.py 文件
python hf_based_demo.py
出現以上報錯,需要修改模型路徑
# 編輯 hf_based_demo.py 文件
vim hf_based_demo.py
將上方劃紅線的部分修改為剛剛下載模型的路徑,并且修改模型的 gradio 頁面 IP 和端口
第二次運行 hf_based_demo.py 文件
# 運行 hf_based_demo.py 文件
python hf_based_demo.py
出現以上結果,還需要繼續安裝 accelerate 依賴
pip install accelerate
第三次運行 hf_based_demo.py 文件
# 運行 hf_based_demo.py 文件
python hf_based_demo.py
可以成功運行: