From 4f4d3e5df0677a1eb152bd8bc4129c5befa35225 Mon Sep 17 00:00:00 2001 From: duzx16 Date: Tue, 14 Mar 2023 15:38:48 +0800 Subject: [PATCH] Add CPU support --- README.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index faa8dba..9150dc9 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,8 @@ python cli_demo.py 程序会在命令行中进行交互式的对话,在命令行中输入指示并回车即可生成回复,输入`clear`可以清空对话历史,输入`stop`终止程序。 -## 模型量化 +## 低成本部署 +### 模型量化 默认情况下,模型以 FP16 精度加载,运行上述代码需要大概 13GB 显存。如果你的 GPU 显存有限,可以尝试以量化方式加载模型,使用方法如下: ```python @@ -89,7 +90,14 @@ model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).ha 进行 2 至 3 轮对话后,8-bit 量化下 GPU 显存占用约为 10GB,4-bit 量化下仅需 6GB 占用。随着对话轮数的增多,对应消耗显存也随之增长,由于采用了相对位置编码,理论上 ChatGLM-6B 支持无限长的 context-length,但总长度超过 2048(训练长度)后性能会逐渐下降。 -模型量化会带来一定的性能损失,经过测试,ChatGLM-6B 在 4-bit 量化下仍然能够进行自然流畅的生成,使用 [GPT-Q](https://arxiv.org/abs/2210.17323) 等量化方案可以进一步压缩量化精度/提升相同量化精度下的模型性能,我们期待开源社区为本项目提供对应 Pull Request。 +模型量化会带来一定的性能损失,经过测试,ChatGLM-6B 在 4-bit 量化下仍然能够进行自然流畅的生成,使用 [GPT-Q](https://arxiv.org/abs/2210.17323) 等量化方案可以进一步压缩量化精度/提升相同量化精度下的模型性能,欢迎大家提出对应的 Pull Request。 + +### CPU部署 +如果你没有GPU硬件的话,也可以在CPU上进行推理。使用方法如下 +```python +model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).float() +``` +CPU上推理速度可能会比较慢。 ## ChatGLM-6B示例