fbaldassarri's picture
Update README.md
3336419 verified
---
language:
- en
license: apache-2.0
library_name: transformers
tags:
- autoround
- auto-round
- intel
- gptq
- woq
- pytorch
- transformers
- safetensors
- onnx
- transformers.js
model_name: SmolLM2 1.7B
base_model: HuggingFaceTB/SmolLM2-1.7B
inference: false
model_creator: HuggingFaceTB
pipeline_tag: text-generation
prompt_template: '{prompt}
'
quantized_by: fbaldassarri
---
## Model Information
Quantized version of [HuggingFaceTB/SmolLM2-1.7B](https://huggingface.co/HuggingFaceTB/SmolLM2-1.7B) using torch.float32 for quantization tuning.
- 4 bits (INT4)
- group size = 128
- Asymmetrical Quantization
- Method WoQ (AutoRound format)
Fast and low memory, 2-3X speedup (slight accuracy drop at W4G128)
Quantization framework: [Intel AutoRound](https://github.com/intel/auto-round) v0.4.2
Note: this INT4 version of SmolLM2-1.7B 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.
```
python -m pip install <package> --upgrade
```
- accelerate==1.2.0
- autoawq==0.2.7.post3
- auto_gptq==0.7.1
- neural_compressor==3.1.1
- torch==2.4.1+cpu
- torchaudio==2.4.1+cpu
- torchvision==0.19.1+cpu
- transformers==4.47.0
### Step 2 Build Intel Autoround wheel from sources
```
python -m pip install git+https://github.com/intel/auto-round.git
```
### Step 3 Script for Quantization
```
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "HuggingFaceTB/SmolLM2-1.7B"
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
from auto_round import AutoRound
bits, group_size, sym, device, amp = 4, 128, False, '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/HuggingFaceTB_SmolLM2-1.7B-auto_round-int4-gs128-asym"
autoround.save_quantized(output_dir, format='auto_round', inplace=True)
```
## License
[Apache 2.0 License](https://choosealicense.com/licenses/apache-2.0/)
## Disclaimer
This quantized model comes with no warrenty. It has been developed only for research purposes.