#
AutoGPTQ
## 简介
AutoGPTQ 是一个用于4bit量化的三方组件。AutoGPTQ 提供了一种高效的解决方案来优化深度学习模型,使其更适合在资源受限的环境中运行。通过自动化的量化流程和灵活的配置选项,开发者可以轻松实现性能和准确性的平衡。
## 安装
### 使用源码编译方式安装
#### 编译环境准备
下载光源的镜像,起dcoker
```
docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.3.0-ubuntu20.04-dtk24.04.2-py3.10
# 用上面拉取docker镜像的ID替换
# 主机端路径
# 容器映射路径
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 : /bin/bash
```
注:
1、docker启动 -v /opt/hyhal:/opt/hyhal 这个变量不能少
2、若使用 pip install 下载安装过慢,可添加源:-i https://pypi.tuna.tsinghua.edu.cn/simple/
#### 源码编译安装
- 代码下载
根据不同的需求下载不同的分支
- 提供2种源码编译方式(进入AutoGPTQ目录):
```
pip install setuptools wheel
1. 源码编译安装
pip3 install e .
2. 编译成whl包安装
# 安装wheel
python3 setup.py bdist_wheel
cd dist && pip3 install auto_gptq*
```
#### 量化模型
方式1、
下载https://huggingface.co/datasets/llm-wizard/alpaca-gpt4-data-zh
```shell
python test_quant.py
```
方式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
```
## 支持模型
| 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 |