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分钟后得出了以下结果,总算是跑通了第一个本地端侧大模型了。

四、总结

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

相关推荐
智驱力人工智能5 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
qq_160144875 小时前
亲测!2026年零基础学AI的入门干货,新手照做就能上手
人工智能
Howie Zphile5 小时前
全面预算管理难以落地的核心真相:“完美模型幻觉”的认知误区
人工智能·全面预算
人工不智能5775 小时前
拆解 BERT:Output 中的 Hidden States 到底藏了什么秘密?
人工智能·深度学习·bert
盟接之桥5 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
kfyty7255 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
h64648564h5 小时前
CANN 性能剖析与调优全指南:从 Profiling 到 Kernel 级优化
人工智能·深度学习
数据与后端架构提升之路5 小时前
论系统安全架构设计及其应用(基于AI大模型项目)
人工智能·安全·系统安全
忆~遂愿5 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
Liue612312315 小时前
YOLO11-C3k2-MBRConv3改进提升金属表面缺陷检测与分类性能_焊接裂纹气孔飞溅物焊接线识别
人工智能·分类·数据挖掘