当前位置: 首页 > news >正文

端侧推理新标杆——MiniCPM 4本地部署教程:5%稀疏度实现128K长文本7倍加速,低成本训练开销匹敌Qwen3-8B

一、介绍

MiniCPM 4 是一个极致高效的端侧大模型,从模型架构、学习算法、训练数据与推理系统四个层面进行了高效优化,实现了极致的效率提升。

  • 高效模型架构:
    • 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 -- 跨平台部署系统:支持多后端环境的一键部署,提供灵活的跨平台适配能力

二、部署过程

基础环境最低要求说明:

环境名称版本信息
Ubuntu22.04.5 LTS
python3.10
Cuda12.1.1
NVIDIA Corporation3060×2或3090

1. 构建基础镜像Miniconda-Ubuntu-22.04-cuda12.1.1

image.png

2.从 github 仓库 克隆项目:

# 克隆 MiniCPM3 项目
git clone https://github.com/OpenBMB/MiniCPM.git

image.png

3.创建虚拟环境

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

4.安装模型依赖包

激活MiniCPM4,并进入到MiniCPM目录中,安装 requirements.txt 依赖。

# 切换到项目工作目录
cd /MiniCPM# 激活 MiniCPM3 虚拟环境
conda activate MiniCPM3# 在 MiniCPM3 环境中安装 requirements.txt 依赖
pip install -r requirements.txt

5.下载预训练模型

推荐下载方法:

1.安装 modelscope 依赖包。

pip install modelscope

image.png

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 文件里的模型路径.

更改为下载后的模型文件的地址。

image.png

7.运行 hf_based_demo.py 文件

1.进入到hf_based_demo.py 文件所在的目录进行运行。

cd demo/minicpm# 运行 hf_based_demo.py 文件
python hf_based_demo.py

image.png

2.出现以上错误,根据错误安装accelerate

pip install accelerate

3继续运行hf_based_demo.py 文件

出现问题:使用一张3060爆显存,这时候需要关机实例升配置到两张卡。(如果更换成3090则不需要升配置,只需要将前面步骤重复一遍即可。)

image.png

再次更改hf_based_demo.py 文件如下代码:将device_map="cuda:0"更改为device_map="auto"。

image.png

3.更改完成继续运行hf_based_demo.py 文件。

可以成功运行:

image.png

三、网页演示

出现以下 Gradio 页面,即是模型已搭建完成。

image.png

http://www.xdnf.cn/news/1011331.html

相关文章:

  • 从传统楼盘到智慧空间:数字孪生的地产赋能之路
  • Day 47 训练
  • 论文略读:HR-Extreme: A High-Resolution Dataset for Extreme Weather Forecasting
  • MybatisPlus-DQL查询+DML
  • MS91050模拟前端可Pin to Pin兼容LMP91050
  • codeforces 2057D. Gifts Order
  • 动态规划2——路径动态规划
  • [MSPM0开发]MSPM0G3507之GPIO输入、输出、中断使用(基于driverlib库)
  • firebase异常捕获
  • ssc377d系统裁剪(16M nor flash)
  • 非标定制超声波清洗设备的核心技术解析与应用
  • RAID 阵列有哪些?分别有什么作用?
  • 【读代码】RAG文档解析工具Marker
  • 日语单词总结
  • Flink 系列之二十九- Flink SQL - 中间算子:窗口聚合
  • Ubuntu安装RTX5090显卡驱动
  • Java开发中常见的语法陷阱与规避方法
  • ThreadPoolTaskExecutor+CompletableFuture实现多线程异步数据同步和自定义线程池监控和动态调整实现
  • 网络原理9-HTTP2
  • 三轴云台之运动控制系统篇
  • C++ 语言基础之数据类型详解
  • LangGraph入门教程:构建循环状态管理的LLM应用
  • 哪些方面可以做PCDN
  • Memory Repair (五)
  • SMB协议在Windows内网中的核心地位
  • Java SE - 继承与多态
  • 广东省省考备考(第二十七天6.12)—言语:逻辑填空(练习)
  • Sentinel 流量控制安装与使用
  • 【游戏设计】游戏视角类型及核心特点分析
  • 脑电震动音频震动信号模拟器设计资料:758-2路32bit DA 脑电震动音频信号模拟器