README.md 2.53 KB
Newer Older
yangql's avatar
initing  
yangql committed
1
# <div align="center"><strong>AutoGPTQ</strong></div>
yangql's avatar
initing  
yangql committed
2
## 简介
yangql's avatar
initing  
yangql committed
3
AutoGPTQ 是一个用于4bit量化的三方组件。AutoGPTQ 提供了一种高效的解决方案来优化深度学习模型,使其更适合在资源受限的环境中运行。通过自动化的量化流程和灵活的配置选项,开发者可以轻松实现性能和准确性的平衡。
yangql's avatar
initing  
yangql committed
4
## 安装
yangql's avatar
yangql committed
5

yangql's avatar
initing  
yangql committed
6
### 使用源码编译方式安装
yangql's avatar
yangql committed
7

yangql's avatar
initing  
yangql committed
8
9
#### 编译环境准备
下载光源的镜像,起dcoker
yangql's avatar
yangql committed
10
11

```
yangql's avatar
yangql committed
12
docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.3.0-ubuntu20.04-dtk24.04.2-py3.10
yangql's avatar
yangql committed
13

yangql's avatar
initing  
yangql committed
14
15
16
17
# <Image ID>用上面拉取docker镜像的ID替换
# <Host Path>主机端路径
# <Container Path>容器映射路径
docker run -it --name mydocker --shm-size=1024G -v /opt/hyhal:/opt/hyhal:ro --device=/dev/kfd --device=/dev/dri/ --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --ulimit memlock=-1:-1 --ipc=host --network host --group-add video -v <Host Path>:<Container Path> <Image ID> /bin/bash                  
yangql's avatar
yangql committed
18
```
yangql's avatar
initing  
yangql committed
19
20
21
22
23
24
25
注:                      
1、docker启动  -v /opt/hyhal:/opt/hyhal  这个变量不能少                                
2、若使用 pip install 下载安装过慢,可添加源:-i https://pypi.tuna.tsinghua.edu.cn/simple/                              

#### 源码编译安装
- 代码下载
根据不同的需求下载不同的分支
yangql's avatar
yangql committed
26

yangql's avatar
initing  
yangql committed
27
- 提供2种源码编译方式(进入AutoGPTQ目录):
yangql's avatar
initing  
yangql committed
28
```
yangql's avatar
yangql committed
29
pip install setuptools wheel
yangql's avatar
yangql committed
30

yangql's avatar
initing  
yangql committed
31
1. 源码编译安装
yangql's avatar
initing  
yangql committed
32
pip3 install e .
yangql's avatar
yangql committed
33

yangql's avatar
initing  
yangql committed
34
35
36
2. 编译成whl包安装
# 安装wheel 
python3 setup.py bdist_wheel
yangql's avatar
initing  
yangql committed
37
cd dist && pip3 install auto_gptq*
yangql's avatar
initing  
yangql committed
38
```
yangql's avatar
yangql committed
39
40
41
#### 量化模型

方式1、
yangql's avatar
yangql committed
42
43
44

下载https://huggingface.co/datasets/llm-wizard/alpaca-gpt4-data-zh

yangql's avatar
yangql committed
45
```shell
yangql's avatar
yangql committed
46
python test_quant.py
yangql's avatar
yangql committed
47
48
49
50
51
52
```
方式2、
```shell
python quant_with_alpaca.py --pretrained_model_dir "/home/yang/DL_DATA/Yi/Yi-34B-Chat/" --quantized_model_dir "./Yi-34B-Chat-gptq" --quant_batch_size 4
```

yangql's avatar
initing  
yangql committed
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
## 支持模型
| Models   |            Sizes            |
| :------: | :-------------------------: |
| LLaMA-2  | 7B/13B/70B                  |
| LLaMA    | 7B/13B/30B/65B              |
| Mistral  | 7B                          |
| MPT      | 7B/30B                      |
| OPT      | 125m/1.3B/2.7B/6.7B/13B/30B |
| Bloom    | 560m/3B/7B/                 |
| GPTJ     | 6.7B                        |
| Yi       | 6B/34B                      |
| Qwen     | 1.8B/7B/14B/72B             |
| GPT NeoX | 20B                         |
| GPT-J    | 6B                          |
| Mixtral  | 8x7B                        |
| Baichuan | 7B/13B                      |
yangql's avatar
yangql committed
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100