MiniCPM3-4B | 笔记本电脑运行端侧大模型OpenBMB/MiniCPM3-4B-GPTQ-Int4量化版 | PyCharm环境

MiniCPM3-4B,轻松在笔记本电脑上运行大模型?

背景

2024年9月5日,面壁智能发布了MiniCPM3-4B,面壁的测试结果声称MiniCPM3-4B表现超越 Phi-3.5-mini-instruct 和 GPT-3.5-Turbo-0125,并且能够比肩 Llama3.1-8B-Instruct、Qwen2-7B-Instruct、GLM-4-9B-Chat 等多个 7B-9B 参数量的模型。

实践出真知,博主觉得用自己的老手提笔记本试试,看能不能也跑个大模型装一下逼。

一、选择模型

官网提供了几种下载模型的方式,经过测试还是使用ModelScope下载比较稳定,同时考虑到笔记本比较老还是下载一个小一个的,不然等下跑挂了就麻烦了。这里我们下载MiniCPM3-4B的GPTQ-Int4量化版本MiniCPM3-4B-GPTQ-Int4

下载地址如下:
MiniCPM3-4B的GPTQ-Int4量化版本MiniCPM3-4B-GPTQ-Int4下载链接

二、模型下载

找到合适的模型后,我们就可以开始下载模型文件了。首先打开上面提到的网页链接,并依次点击-【模型文件】-【下载模型】,如下图所示:

在网页右侧弹出的下载页面中网站提供了多种形式的下载方式,博主选择使用SDK下载,下载模型比较方便,直接把代码拷贝在PyCharm里运行,程序就会自动开始下载模型。

我们需要先在PyCharm中新建一个python项目,并运行以下代码:

python 复制代码
#模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('OpenBMB/MiniCPM3-4B-GPTQ-Int4')

然后等待模型下载完毕,模型大约需要2G多磁盘空间,如下图:

博主运行完程序后一度找不到模型文件,经过上网查阅资料,发现modelscope的下载代码,会默认把模型下载到这个系统文件地址C:\Users\Administrator\.cache\modelscope\hub,下载完毕后可以进入这个文件地址检查一下是否下载成功。如下图所示:

接着,我们需要把OpenBMB整个文件夹拷贝到PyCharm新建的项目根目录下,如下图所示。

三、模型运行

模型完成下载,并将模型文件拷贝到程序运行目录后,就可以直接开始模型的运行测试了,只需把以下代码拷贝到PyCharm运行即可。

python 复制代码
from modelscope import AutoModelForCausalLM, AutoTokenizer
import torch

path = "OpenBMB/MiniCPM3-4B-GPTQ-Int4"
device = "cuda"

tokenizer = AutoTokenizer.from_pretrained(path, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(path, torch_dtype=torch.float16, device_map=device, trust_remote_code=True)

messages = [
    {"role": "user", "content": "推荐5个北京的景点。"},
]
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=256,
    top_p=0.7,
    [temperature=0.7](https://blog.csdn.net/OkGogooXSailboat/article/details/137627530)
)

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)

如果运行的过程中出现找不到某个包,就用pip进行安装,如果提示GPU相关的问题则需要进一步检查。这里简单讲一下博主遇到的GPU问题。主要是不能直接安装默认的torch,需要通过特定地址安装笔记本GPU驱动对应版本的torch。

下图是通过特定地址安装对应CUDA版本,cu118,torth包的截图。

具体解决方案可以参考以下文章。
Torch not compiled with CUDA enabled问题解决过程记录

解决完各种报错后,只需要耐心等待程序执行结果即可,博主的笔记本电脑经过约3-5分钟后得出了以下结果,总算是跑通了第一个本地端侧大模型了。

四、总结

随着大模型的运行和推理条件越来越低,端侧大模型的应用和推广应该会非常迅速,因为端侧有大量的应用场景,特别是对数据安全要求较高的单位,同时部署端侧大模型的技术要求越来越低,工具越发齐全,博主完全是一个小白,紧紧翻阅网上资料,不到半天就调通了,可见未来工具链再升级后,端侧应该很快就会实现自动下载、更新、微调等更便于模型实用化推广的技术,加快移动终端设备端侧大模型普及。

相关推荐
Java.熵减码农13 小时前
长文拆解 Karpathy 的 AI 知识库搭建术(Obsidian + Claude Code 完整指南)
人工智能·chatgpt
初圣魔门首席弟子13 小时前
深度学习复习笔记|多层感知机 (MLP):原理 + 从零实现 + 简洁实现
人工智能·笔记·深度学习
Coovally AI模型快速验证13 小时前
YOLO26仓储检测实战:物体定位+有向边界框+姿态估计+实例分割,一个模型盯住整个仓库
大数据·人工智能·3d·视觉检测·工业质检
涛声依旧-底层原理研究所13 小时前
Qwen2.5模型加载与推理实战
人工智能·python
Mr数据杨13 小时前
花卉图像分类在植物识别与生态监测中的应用
人工智能·机器学习·分类·数据挖掘·数据分析·kaggle
Codigger官方13 小时前
Phoenix 语言起步指南:开启 Polyglot Singularity 之门
开发语言·人工智能·程序人生
ting945200013 小时前
动手学深度学习(PyTorch版)深度详解(5):深度学习计算核心 —— 卷积操作、填充步幅、汇聚层与 LeNet 完整精讲
人工智能·pytorch·深度学习
miaowu35713 小时前
观点 | 70%的AI 市场将来自于垂直Agent
人工智能
时序之心13 小时前
时序前沿:CNN结合Transformer,通过通道-头绑定实现多变量时序插补!
人工智能·transformer·时间序列
SunnyDays101113 小时前
如何使用 Python 将 PDF 转换为 TIFF 或将 TIFF 转换为 PDF
人工智能·python·pdf