zxdu20 commited on
Commit
9671e13
2 Parent(s): c4575e7 0772a2f

Merge branch 'main' of https://huggingface.co/THUDM/chatglm-6b

Browse files
Files changed (1) hide show
  1. README.md +23 -11
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(内测中,地址 [https://chatglm.cn](https://chatglm.cn))相同的技术面向中文问答和对话进行优化。
13
 
14
- ## 使用方式
15
- 使用前请先安装`transformers>=4.23.1`和`icetk`。
 
 
 
 
 
 
 
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
- 关于更多的使用说明,以及如何运行命令行和Web版本的demo,请参考我们的[Github repo](https://github.com/THUDM/ChatGLM-6B)。
 
 
43
 
44
- ## INT8 量化
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", device_map="auto", load_in_8bit=True, trust_remote_code=True)
55
  ```
56
 
57
- 使用 8-bit 量化之后大约需要 9.5GB 的 GPU 显存。
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