Update README.md
Browse files
README.md
CHANGED
@@ -1,3 +1,56 @@
|
|
1 |
---
|
2 |
license: apache-2.0
|
3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
license: apache-2.0
|
3 |
---
|
4 |
+
|
5 |
+
|
6 |
+
# ChatGLM3 模型量化
|
7 |
+
|
8 |
+
本项目用于演示如何使用 ChatGLM3 模型,并通过 ChatGLM.cpp 工具仓库对模型进行量化。
|
9 |
+
|
10 |
+
|
11 |
+
## 拉取模型和工具仓库
|
12 |
+
|
13 |
+
首先,需要将 ChatGLM3 模型和 ChatGLM.cpp 工具仓库拉取到本地:
|
14 |
+
|
15 |
+
```shell
|
16 |
+
git lfs install
|
17 |
+
git clone https://huggingface.co/THUDM/chatglm3-6b
|
18 |
+
git clone https://github.com/li-plus/chatglm.cpp.git
|
19 |
+
```
|
20 |
+
|
21 |
+
|
22 |
+
## 安装依赖
|
23 |
+
|
24 |
+
在开始量化之前,请确保已安装以下依赖项:
|
25 |
+
|
26 |
+
```shell
|
27 |
+
python3 -m pip install -U -q pip
|
28 |
+
python3 -m pip install -q torch tabulate tqdm transformers accelerate sentencepiece
|
29 |
+
```
|
30 |
+
|
31 |
+
|
32 |
+
## 模型量化
|
33 |
+
|
34 |
+
使用 ChatGLM.cpp 工具仓库中的 `convert.py` 脚本,可以对 ChatGLM3 模型进行量化。
|
35 |
+
|
36 |
+
```shell
|
37 |
+
types=("q4_0" "q4_1" "q5_0" "q5_1" "q8_0")
|
38 |
+
|
39 |
+
for type_str in "${types[@]}"; do
|
40 |
+
python3 ./chatglm.cpp/chatglm_cpp/convert.py -i ./chatglm3-6b -t ${type_str} -o chatglm-ggml_${type_str}.bin
|
41 |
+
done
|
42 |
+
```
|
43 |
+
|
44 |
+
上述代码会对 ChatGLM3 模型进行多个量化操作,并生成对应的量化模型文件。量化类型包括:"q4_0"、"q4_1"、"q5_0"、"q5_1" 和 "q8_0"。
|
45 |
+
|
46 |
+
请确保已在终端中切换到正确的工作目录,然后执行上述代码段。
|
47 |
+
|
48 |
+
量化后的模型文件将以 `chatglm-ggml_{type_str}.bin` 的形式保存在当前目录下。
|
49 |
+
|
50 |
+
---
|
51 |
+
|
52 |
+
如果您有任何问题,请随时联系我们。
|
53 |
+
|
54 |
+
模型地址:[https://huggingface.co/THUDM/chatglm3-6b](https://huggingface.co/THUDM/chatglm3-6b)
|
55 |
+
|
56 |
+
工具仓库地址:[https://github.com/li-plus/chatglm.cpp](https://github.com/li-plus/chatglm.cpp)
|