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的运存要求:

相关推荐
测试员周周1 分钟前
【Appium 系列】第10节-手势操作实战 — 滑动、拖拽、缩放与轻拂
linux·服务器·开发语言·人工智能·python·appium·pytest
实心儿儿6 分钟前
Linux —— 进程间通信 - system V进程间通信 - 共享内存(1)
linux·运维·服务器
yyuuuzz11 分钟前
国际云服务器的技术特点与使用经验
运维·服务器·网络·数据库·云计算·aws
团象科技11 分钟前
别盲目布局全球化,先理清海外云服务器能覆盖的业务边界
大数据·服务器·人工智能
neo_Ggx2318 分钟前
Linux 日志检索速查:按时间、接口、Trace ID 查询完整请求链路
java·linux·服务器
曦夜日长29 分钟前
Linux系统篇,开发工具(二):vim的使用与配置
linux·服务器·vim·excel
呉師傅35 分钟前
将CD音频抓轨转换成MP3的两种方法【图文解释】
运维·服务器·网络·windows·电脑·音视频
iceman195235 分钟前
ubuntu 25.10升级到26.04
linux·服务器·ubuntu
Achou.Wang1 小时前
Selecting channels:Go 并发里的“多路开关”
服务器·数据库·golang
山岚的运维笔记1 小时前
Bash 专业人员笔记 -- 第 11 章:`true`、`false` 和 `:` 命令
linux·运维·服务器·开发语言·笔记·学习·bash