THU 【通览一百个大模型】GLM( 四 )


# INT8 量化的模型将"THUDM/chatglm-6b-int4"改为"THUDM/chatglm-6b-int8" model = AutoModel.from_pretrained("THUDM/chatglm-6b-int4",trust_remote_code=True).float()
如果遇到了报错 Could not find‘.dll’ 或者 ::(MacOS)  , 请从本地加载模型
Mac 部署
对于搭载了 Apple或者 AMD GPU 的Mac , 可以使用 MPS 后端来在 GPU 上运行 -6B 。需要参考 Apple 的 官方说明 安装 -(正确的版本号应该是2.1.0. , 而不是2.0.0) 。
目前在 MacOS 上只支持从本地加载模型 。将代码中的模型加载改为从本地加载 , 并使用 mps 后端:
model = AutoModel.from_pretrained("your local path", trust_remote_code=True).half().to('mps')
加载半精度的 -6B 模型需要大概 13GB 内存 。内存较小的机器(比如 16GB 内存的Pro) , 在空余内存不足的情况下会使用硬盘上的虚拟内存 , 导致推理速度严重变慢 。此时可以使用量化后的模型如 -6b-int4 。因为 GPU 上量化的是使用 CUDA 编写的 , 因此无法在 MacOS 上使用 , 只能使用 CPU 进行推理 。
# INT8 量化的模型将"THUDM/chatglm-6b-int4"改为"THUDM/chatglm-6b-int8" model = AutoModel.from_pretrained("THUDM/chatglm-6b-int4",trust_remote_code=True).float()
为了充分使用 CPU 并行 , 还需要单独安装。
多卡部署
如果你有多张 GPU , 但是每张 GPU 的显存大小都不足以容纳完整的模型 , 那么可以将模型切分在多张GPU上 。首先安装 : pip , 然后通过如下方法加载模型:
from utils import load_model_on_gpus model = load_model_on_gpus("THUDM/chatglm-6b", num_gpus=2)
即可将模型部署到两张 GPU 上进行推理 。你可以将改为你希望使用的 GPU 数 。默认是均匀切分的 , 你也可以传入参数来自己指定 。
博客记录着学习的脚步 , 分享着最新的技术 , 非常感谢您的阅读 , 本博客将不断进行更新 , 希望能够给您在技术上带来帮助 。
【大模型&NLP&算法】专栏
近200篇论文 , 300份博主亲自撰写的笔记 。订阅本专栏【大模型&NLP&算法】专栏 , 或前往即可获得全部如下资料: