|原文章发布于2024年07月22日
应广大开发者要求,我们推出了飞书知识库「面壁小钢炮MiniCPM通关宝典」!会在接下来一段时间内持续上新,从技术拆解到部署推理到量化微调,手把手教你速通MiniCPM模型!后台回复“小钢炮”,解锁「面壁小钢炮MiniCPM通关宝典」全文。
➤ B站配套视频 ,搭配食用更佳
🔗 https://space.bilibili.com/493282299/channel/collectiondetail?sid=3433564
今天,为大家带来的是「MiniCPM边端部署教程」
➤ 面向人群:需要对minicpm进行边端部署,且有linux和编译基础
➤ 模型介绍:MiniCPM:揭示端侧大语言模型的无限潜力
➤ Github地址:https://huggingface.co/openbmb/MiniCPM-2B-sft-bf16
➤ 模型地址:https://huggingface.co/openbmb/MiniCPM-2B-sft-bf16
➤ 适用设备:Linux、Mac
1. 下载llama.cpp
2. 编译llama.cpp
3.获取MiniCPM的gguf模型
方法1:直接下载
fp16格式 :https://huggingface.co/runfuture/MiniCPM-2B-dpo-fp16-gguf
q4km格式:https://huggingface.co/runfuture/MiniCPM-2B-dpo-q4km-gguf
方法2:自行转换MiniCPM模型为gguf
step1: 创建llama.cpp/models/MiniCPM路径
step2: 下载 MiniCPM pytorch模型 所有文件(也可以是训练后的模型)并保存到llama.cpp/models/Minicpm
MiniCPM pytorch模型下载链接:https://huggingface.co/openbmb/MiniCPM-2B-sft-bf16
step3: 将模型转换为gguf格式
在这之前检查llama.cpp/convert-hf-to-gguf.py文件,如果class MiniCPMModel(Model)下存在:
将其替换为:
然后运行:
4.将fp16的gguf文件进行量化,若是下载的本身就是量化文件,可省略
#如果找不到llama-quantize,可以尝试以下方法
5.开始推理,enjoy it
llama.cpp 安卓端部署
➤ 适用设备:安卓手机,最好是骁龙8以上芯片
1. 按照以上llama.cpp PC端部署的方式获得ggml-model-Q4_K_M.gguf量化模型
2. 将以上模型推到手机内存/sdcard/Download中,以下为使用adb传输模型,其它方式传输也可以
3. 手机手机端下载合适版本的[termux]并且安装
下载链接:https://github.com/termux/termux-app/releases/tag/v0.118.14. 手机打开termux,输入termux-setup-storage
5. 手机termux上使用git 获取llama.cpp的源码后编译
6. 手机端推理
➤ 适用设备:PC、服务器均可
1. 前往https://github.com/ollama/ollama安装ollama
a. mac安装ollama地址:
https://ollama.com/download/Ollama-darwin.zip
b. windows安装ollama地址:
https://ollama.com/download/OllamaSetup.exe
c. linux安装:
2. 按照PC端llama.cpp教程获取gguf格式模型
2b-fp16格式:https://huggingface.co/runfuture/MiniCPM-2B-dpo-fp16-gguf
2b-q4km格式:https://huggingface.co/runfuture/MiniCPM-2B-dpo-q4km-gguf
1b-fp16格式:https://huggingface.co/linglingdan/MiniCPM-1b-fp16-gguf
1b-qr_1格式:https://huggingface.co/linglingdan/MiniCPM-1b-q4-1
3. 命令行运行:
model_name需要自定义,比如第2步中下载MiniCPM-1b-fp16-gguf模型,便改成MiniCPM-1b-fp16-gguf.Modelfile
4. 将model_name.Modelfile 修改为以下内容
注意FROM后面改为你模型保存的路径:
5.命令行创建ollama模型链接,以下minicpm_2b是自定义的模型名称,model_name.Modelfile是前面创建的文件:
6.命令行输入可查看现有模型
7. 命令行运行创建的ollama模型
1. powerinfer简介:
powerinfer是上海交通大学开发的一个可以基于稀疏模型在cpu/gpu上进行加速的推理引擎,可以获得最高达到llama.cpp 11倍的推理性能,但是powerinfer目前仅适配包括Minicpm-s-2b-sft在内的少部分模型,并非适配所有模型。
2. powerinfer安装:
确保你的cmake version在3.17以上,python version 3.8+
安装
cmake==3.17+
安装powerinfer
编译cpu 推理版的powerinfer:
编译gpu推理版的powerinfer:
3. 获取模型
4. 开始推理:
5. 推理速度展示:
4090单卡环境下:
prefilling阶段 221 token/s
decode 阶段 45 token/s
➤ 适用设备:安卓手机,最好是骁龙8以上芯片
Release v0.118.1 · termux/termux-app:https://github.com/termux/termux-app/releases/tag/v0.118.1
2. 打开termux,输入两次termux-setup-storage:
3. 在termux环境中,获取编译环境cmake 3.17+和python3.8+:
a. 确保你的cmake version在3.17以上
b. 如果cmake版本不符合,则安装cmake==3.17+。否则跳过这一步
c. 获取合适版本python
d. 如果python版本低于3.8或者未安装,则运行以下代码,否则跳过此步
4. 在termux的~路径下,获取powerinfer代码,并且安装依赖包:
5. 获取MiniCPM-S-1B-sft-gguf模型
方法1 :termux端获取MiniCPM-S-1B-sft.gguf,以下是termux端操作
方法2 :先下载到pc,再用adb传入手机
step1:pc端下载模型,adb传到手机download:
以下是termux操作:
6. Termux 环境下编译powerinfer:
7. 对模型进行量化(建议操作,但非必要)
8. 模型推理:
9. 速度展示
➤ 欢迎加入 OpenBMB 社区一起讨论
后台回复“小钢炮”,解锁「面壁小钢炮MiniCPM通关宝典」全文。
小彩蛋🎉
大模型课第二季第二期将在明晚八点直播!欢迎大家预约观看
官方网站
https://www.openbmb.org
GitHub
https://github.com/OpenBMBhttps://github.com/thunlp
长期开放招聘|含实习
开发岗 | 算法岗 | 产品岗
交流QQ群
735930538