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

相关推荐
IKUN家族6 分钟前
Spring MVC(三)
运维·服务器·spring boot·spring·servlet·java-ee
Leon-Ning Liu21 分钟前
【真实经验分享】ORA-12516 排查实录:共享服务器模式下 SHARED_SERVER_SESSIONS 不足引发的监听故障
运维·服务器·oracle
东方护航数据恢复(深圳)29 分钟前
服务器硬盘黄灯/红灯故障排查与处理命令全指南_东方护航数据恢复深圳店
运维·服务器·chrome
人间凡尔赛1 小时前
Kimi K3 技术拆解:2.8 万亿参数开源模型背后的 KDA 线性注意力与 Stable LatentMoE
ai·大模型·注意力机制·moe·kimi
uncle_ll1 小时前
服务器选型、微调范式、训练优化与环境搭建
服务器·python·gpt·llm·nlp
枳实-叶1 小时前
Linux 环境下段错误出现的原因及调试方法
linux·运维·服务器
花生了什么事o1 小时前
Docker 部署 SpringBoot:从镜像构建到服务器运行
服务器·spring boot·docker
Chief_fly2 小时前
ARM 麒麟系统服务器构建docker镜像
运维·服务器·docker
Dawn-bit2 小时前
Linux文本处理三剑客之sed详解
linux·运维·服务器·云计算·运维开发
czhaii2 小时前
汇川注塑机伺服驱动器故障维修排除方法
运维·服务器