|
--- |
|
language: |
|
- it |
|
tags: |
|
- pretrained |
|
- pytorch |
|
- causal-lm |
|
- autoround |
|
- intel-autoround |
|
- woq |
|
- awq |
|
- autoawq |
|
- auto-awq |
|
- intel |
|
- italia |
|
- italiano |
|
- italian |
|
license: mit |
|
license_link: https://huggingface.co/iGeniusAI/Italia-9B-Instruct-v0.1/blob/main/LICENSE |
|
model_name: Italia 9B Instruct v0.1 |
|
base_model: |
|
- iGeniusAI/Italia-9B-Instruct-v0.1 |
|
inference: false |
|
model_creator: iGeniusAI |
|
pipeline_tag: text-generation |
|
prompt_template: '{prompt} |
|
' |
|
quantized_by: fbaldassarri |
|
--- |
|
|
|
## Model Information |
|
|
|
Quantized version of [iGeniusAI/Italia-9B-Instruct-v0.1](https://huggingface.co/iGeniusAI/Italia-9B-Instruct-v0.1) using torch.float32 for quantization tuning. |
|
- 4 bits (INT4) |
|
- group size = 128 |
|
- Symmetrical Quantization |
|
- Method AutoAWQ |
|
|
|
Quantization framework: [Intel AutoRound](https://github.com/intel/auto-round) v0.4.3 |
|
|
|
Note: this INT4 version of Italia-9B-Instruct-v0.1 has been quantized to run inference through CPU. |
|
|
|
## Replication Recipe |
|
|
|
### Step 1 Install Requirements |
|
|
|
I suggest to install requirements into a dedicated python-virtualenv or a conda enviroment. |
|
|
|
``` |
|
wget https://github.com/intel/auto-round/archive/refs/tags/v0.4.3.tar.gz |
|
tar -xvzf v0.4.3.tar.gz |
|
cd auto-round-0.4.3 |
|
pip install -r requirements-cpu.txt --upgrade |
|
``` |
|
|
|
### Step 2 Build Intel AutoRound wheel from sources |
|
|
|
``` |
|
pip install -vvv --no-build-isolation -e .[cpu] |
|
``` |
|
|
|
### Step 3 Script for Quantization |
|
|
|
``` |
|
from transformers import AutoModelForCausalLM, AutoTokenizer, GPTNeoXModel |
|
model_name = "iGeniusAI/Italia-9B-Instruct-v0.1" |
|
model = GPTNeoXModel.from_pretrained(model_name, trust_remote_code=True) |
|
tokenizer = AutoTokenizer.from_pretrained(model_name) |
|
from auto_round import AutoRound |
|
bits, group_size, sym, device, amp = 4, 128, True, 'cpu', False |
|
autoround = AutoRound(model, tokenizer, nsamples=128, iters=200, seqlen=512, batch_size=4, bits=bits, group_size=group_size, sym=sym, device=device, amp=amp) |
|
autoround.quantize() |
|
output_dir = "./AutoRound/iGeniusAI_Italia-9B-Instruct-v0.1-autoawq-int4-gs128-sym" |
|
autoround.save_quantized(output_dir, format='auto_awq', inplace=True) |
|
``` |
|
|
|
Note: the `GPTNeoXSdpaAttention` class is deprecated in favor of simply modifying the `config._attn_implementation`attribute of the `GPTNeoXAttention` class. So this require transformers<4.48. |
|
|
|
## License |
|
|
|
[MIT](https://huggingface.co/iGeniusAI/Italia-9B-Instruct-v0.1/blob/main/LICENSE) |
|
|
|
## Disclaimer |
|
|
|
This quantized model comes with no warranty. It has been developed only for research purposes. |
|
|
|
|