chatglm本地服务器大模型量化cpu INT4 INT8 half float运行、多卡多GPU运行改这一条指令就行啦!

一、ChatGLM3的几种推演方式

ChatGLM3常规方案的GPU推演中half和float是两种最常用的格式,half格式占13GB显存,float格式占40GB显存。此外还提供了几种GPU量化格式的推演:INT4和INT8量化。

CPU版本的ChatGLM3推演:

python 复制代码
model = AutoModel.from_pretrained(model_dir, trust_remote_code=True).cpu().float()

INT4版本的ChatGLM3推演:(不是所有的硬件都支持INT4操作)

python 复制代码
model = AutoModel.from_pretrained(model_dir, trust_remote_code=True).quantize(4).cuda()

INT8版本的ChatGLM3推演:

python 复制代码
model = AutoModel.from_pretrained(model_dir, trust_remote_code=True).quantize(8).cuda()

half版本的ChatGLM3推演:

python 复制代码
model = AutoModel.from_pretrained(model_dir, trust_remote_code=True).half().cuda()

float版本的ChatGLM3推演:

python 复制代码
model = AutoModel.from_pretrained(model_dir, trust_remote_code=True).float().cuda()

二、多卡推演

由于高精度的float推演形式需要较大的显存(40G),往往一张显卡很难满足其生产力需求,这时我们就可以使用多张显卡同时进行推演运算,而实现多卡推演的方式其实也特别简单。我们在这采取最简单的一种方式,就是在上述代码中加上一句device_map="auto"就可以了。

例:

python 复制代码
model = AutoModel.from_pretrained(MODEL_PATH, trust_remote_code=True, device_map="auto").float()

这时我们将float量化的模型启动起来,新建一个terminal窗口输入nvidia-smi -l 2便可查看各显卡的使用情况:

bash 复制代码
nvidia-smi -l 2

就可以看到三张显卡都自动分配运行起来了以满足40G的运存要求:

相关推荐
meilindehuzi_a7 小时前
深入理解 Linux 进程地址空间:从虚拟内存、页表映射到 fork 写时拷贝与 VMA 管理
java·linux·服务器
淡淡的香烟8 小时前
Android智能猫砂盆视频加载慢卡顿问题分析
android·服务器·音视频
万叶学编程8 小时前
服务器网站运维指令全解| Linux 实操完整教程
linux·运维·服务器
独隅8 小时前
MCP 协议开发实战:从零搭建无状态 AI Agent 服务器
运维·服务器·人工智能
爱笑的k118 小时前
4卡v100显卡坞方案
大模型
星夜夏空998 小时前
网络编程(4)—— Reactor模型介绍
运维·服务器·网络
yk 坤帝9 小时前
用Python算清你的“买时间“账
java·服务器·python
智塑未来9 小时前
鸿蒙系统小红书隐私保护——应用锁开启指南
服务器·前端·harmonyos
CoderJia程序员甲9 小时前
GitHub 热榜项目 - 周榜(2026-08-08)
ai·大模型·github·agent
thesky12345619 小时前
27届大模型面试准备(十六):后训练全攻略——SFT、RLHF、DPO、PPO 一次讲透
大模型·sft·rlhf·ppo·dpo·面试准备·后训练