Spaces:
Runtime error
Runtime error
| # AWQ 4bit Inference | |
| We integrated [AWQ](https://github.com/mit-han-lab/llm-awq) into FastChat to provide **efficient and accurate** 4bit LLM inference. | |
| ## Install AWQ | |
| Setup environment (please refer to [this link](https://github.com/mit-han-lab/llm-awq#install) for more details): | |
| ```bash | |
| conda create -n fastchat-awq python=3.10 -y | |
| conda activate fastchat-awq | |
| # cd /path/to/FastChat | |
| pip install --upgrade pip # enable PEP 660 support | |
| pip install -e . # install fastchat | |
| git clone https://github.com/mit-han-lab/llm-awq repositories/llm-awq | |
| cd repositories/llm-awq | |
| pip install -e . # install awq package | |
| cd awq/kernels | |
| python setup.py install # install awq CUDA kernels | |
| ``` | |
| ## Chat with the CLI | |
| ```bash | |
| # Download quantized model from huggingface | |
| # Make sure you have git-lfs installed (https://git-lfs.com) | |
| git lfs install | |
| git clone https://huggingface.co/mit-han-lab/vicuna-7b-v1.3-4bit-g128-awq | |
| # You can specify which quantized model to use by setting --awq-ckpt | |
| python3 -m fastchat.serve.cli \ | |
| --model-path models/vicuna-7b-v1.3-4bit-g128-awq \ | |
| --awq-wbits 4 \ | |
| --awq-groupsize 128 | |
| ``` | |
| ## Benchmark | |
| * Through **4-bit weight quantization**, AWQ helps to run larger language models within the device memory restriction and prominently accelerates token generation. All benchmarks are done with group_size 128. | |
| * Benchmark on NVIDIA RTX A6000: | |
| | Model | Bits | Max Memory (MiB) | Speed (ms/token) | AWQ Speedup | | |
| | --------------- | ---- | ---------------- | ---------------- | ----------- | | |
| | vicuna-7b | 16 | 13543 | 26.06 | / | | |
| | vicuna-7b | 4 | 5547 | 12.43 | 2.1x | | |
| | llama2-7b-chat | 16 | 13543 | 27.14 | / | | |
| | llama2-7b-chat | 4 | 5547 | 12.44 | 2.2x | | |
| | vicuna-13b | 16 | 25647 | 44.91 | / | | |
| | vicuna-13b | 4 | 9355 | 17.30 | 2.6x | | |
| | llama2-13b-chat | 16 | 25647 | 47.28 | / | | |
| | llama2-13b-chat | 4 | 9355 | 20.28 | 2.3x | | |
| * NVIDIA RTX 4090: | |
| | Model | AWQ 4bit Speed (ms/token) | FP16 Speed (ms/token) | AWQ Speedup | | |
| | --------------- | ------------------------- | --------------------- | ----------- | | |
| | vicuna-7b | 8.61 | 19.09 | 2.2x | | |
| | llama2-7b-chat | 8.66 | 19.97 | 2.3x | | |
| | vicuna-13b | 12.17 | OOM | / | | |
| | llama2-13b-chat | 13.54 | OOM | / | | |
| * NVIDIA Jetson Orin: | |
| | Model | AWQ 4bit Speed (ms/token) | FP16 Speed (ms/token) | AWQ Speedup | | |
| | --------------- | ------------------------- | --------------------- | ----------- | | |
| | vicuna-7b | 65.34 | 93.12 | 1.4x | | |
| | llama2-7b-chat | 75.11 | 104.71 | 1.4x | | |
| | vicuna-13b | 115.40 | OOM | / | | |
| | llama2-13b-chat | 136.81 | OOM | / | | |