单卡10分钟部署MiniCPM4-0.5B:轻量级大模型本地运行指南

一、介绍

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 仓库 克隆项目:

bash 复制代码
# 克隆 MiniCPM4 项目(如果克隆速度过慢可以开启学术代理加速)
git clone https://github.com/OpenBMB/MiniCPM.git

3、创建虚拟项目

ini 复制代码
# 创建一个名为 MiniCPM4 的新虚拟环境,并指定 Python 版本为 3.10
conda create -n MiniCPM4 python=3.10 -y

等待安装完成

4、安装模型依赖包

bash 复制代码
# 激活 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.在创建的脚本中插入以下下载代码

ini 复制代码
# 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 文件

bash 复制代码
#切换到hf_based_demo.py 文件目录
cd demo/minicpm

# 运行 hf_based_demo.py 文件
python hf_based_demo.py

出现以上报错,需要修改模型路径

bash 复制代码
# 编辑 hf_based_demo.py 文件
vim hf_based_demo.py

将上方划红线的部分修改为刚刚下载模型的路径,并且修改模型的 gradio 页面 IP 和端口

第二次运行 hf_based_demo.py 文件

bash 复制代码
# 运行 hf_based_demo.py 文件
python hf_based_demo.py

出现以上结果,还需要继续安装 accelerate 依赖

复制代码
pip install accelerate

第三次运行 hf_based_demo.py 文件

bash 复制代码
# 运行 hf_based_demo.py 文件
python hf_based_demo.py

可以成功运行:

三、网页演示

相关推荐
DO_Community3 分钟前
基于AI Agent模板:快速生成 SQL 测试数据
人工智能·python·sql·ai·llm·ai编程
HeteroCat11 分钟前
关于No Chatbot的思考
人工智能
咚咚王者11 分钟前
人工智能之数据分析 numpy:第一章 学习链路
人工智能·数据分析·numpy
中杯可乐多加冰14 分钟前
数据分析案例详解:基于smardaten实现智慧交通运营指标数据分析展示
人工智能·低代码·数据分析·交通物流·智慧交通·无代码·大屏端
算家计算22 分钟前
对标ChatGPT!千问App正式上线:AI应用终局之战正在打响
人工智能·资讯
Justinyh1 小时前
1、CUDA 编程基础
c++·人工智能
强盛小灵通专卖员1 小时前
煤矿传送带异物检测:深度学习如何提升煤矿安全?
人工智能·深度学习·sci·小论文·大论文·延毕·研究生辅导
菜鸟学321 小时前
opencv代码分析
人工智能·opencv·计算机视觉
说私域2 小时前
“开源AI智能名片链动2+1模式S2B2C商城小程序”在县级市场的应用与挑战分析
人工智能·小程序·开源