Merge branch 'main' of https://huggingface.co/THUDM/chatglm-6b
Browse files
README.md
CHANGED
@@ -9,16 +9,23 @@ tags:
|
|
9 |
---
|
10 |
# ChatGLM-6B
|
11 |
## 介绍
|
12 |
-
ChatGLM-6B 是一个开源的、支持中英双语问答和对话的预训练语言模型,基于 [GLM](https://github.com/THUDM/GLM) 架构,具有 62 亿参数。ChatGLM-6B 使用了和 ChatGLM
|
13 |
|
14 |
-
##
|
15 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
|
17 |
```shell
|
18 |
-
pip install "transformers>=4.23.1,icetk"
|
19 |
```
|
20 |
|
21 |
-
|
22 |
|
23 |
可以通过如下代码调用 ChatGLM-6B 模型来生成对话。
|
24 |
|
@@ -39,22 +46,27 @@ response, history = model.chat(tokenizer, query, history=history)
|
|
39 |
print(history)
|
40 |
```
|
41 |
|
42 |
-
|
|
|
|
|
43 |
|
44 |
-
|
45 |
-
默认情况下,模型以 FP16 精度加载,运行上述代码需要大概 13GB 显存。如果你的 GPU 显存有限,可以尝试使用 `transformers` 提供的 8bit 量化功能,即将代码中的
|
46 |
|
47 |
```python
|
48 |
model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
|
49 |
```
|
50 |
|
51 |
-
|
|
|
|
|
|
|
52 |
|
|
|
53 |
```python
|
54 |
-
model = AutoModel.from_pretrained("THUDM/chatglm-6b",
|
55 |
```
|
56 |
|
57 |
-
|
58 |
|
59 |
## 引用
|
60 |
|
|
|
9 |
---
|
10 |
# ChatGLM-6B
|
11 |
## 介绍
|
12 |
+
ChatGLM-6B 是一个开源的、支持中英双语问答和对话的预训练语言模型,基于 [General Language Model (GLM)](https://github.com/THUDM/GLM) 架构,具有 62 亿参数。ChatGLM-6B 使用了和 [ChatGLM]((https://chatglm.cn)) 相同的技术面向中文问答和对话进行优化。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。在经过了约 1T 标识符的中英双语训练,并辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的模型已经能生成相当符合人类偏好的回答。
|
13 |
|
14 |
+
## 硬件需求
|
15 |
+
|
16 |
+
| **量化等级** | **最低 GPU 显存** |
|
17 |
+
| -------------- | ----------------- |
|
18 |
+
| FP16(无量化) | 19 GB |
|
19 |
+
| INT8 | 10 GB |
|
20 |
+
| INT4 | 6 GB |
|
21 |
+
|
22 |
+
## 软件依赖
|
23 |
|
24 |
```shell
|
25 |
+
pip install "transformers>=4.23.1,icetk,cpm_kernels"
|
26 |
```
|
27 |
|
28 |
+
## 代码调用
|
29 |
|
30 |
可以通过如下代码调用 ChatGLM-6B 模型来生成对话。
|
31 |
|
|
|
46 |
print(history)
|
47 |
```
|
48 |
|
49 |
+
关于更多的使用说明,以及如何运行命令行和网页版本的 DEMO,请参考我们的 [Github repo](https://github.com/THUDM/ChatGLM-6B)。
|
50 |
+
|
51 |
+
## 模型量化
|
52 |
|
53 |
+
默认情况下,模型以 FP16 精度加载,运行上述代码需要大概 19GB 显存。如果你的 GPU 显存有限,可以尝试运行量化后的模型,即将下述代码
|
|
|
54 |
|
55 |
```python
|
56 |
model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
|
57 |
```
|
58 |
|
59 |
+
替换为(8-bit 量化)
|
60 |
+
```python
|
61 |
+
model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().quantize(8).cuda()
|
62 |
+
```
|
63 |
|
64 |
+
或者(4-bit 量化)
|
65 |
```python
|
66 |
+
model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().quantize(4).cuda()
|
67 |
```
|
68 |
|
69 |
+
进行 2 至 3 轮对话后,8-bit 量化下约占用 10GB 的 GPU 显存,4-bit 量化仅需占用 6GB 的 GPU 显存。随着对话轮数的增多,对应消耗显存也随之增长。
|
70 |
|
71 |
## 引用
|
72 |
|