fbaldassarri's picture
Initial Upload
ea77aac verified
|
Raw
History Blame Contribute Delete
5.02 kB
---
language:
- en
tags:
- awq
- auto-awq
- autoawq
- pytorch
- causal-lm
- autoround
- auto-round
- intel-autoround
- intel
- woq
- weights-only-quantization
- falcon
- falcon3
- tii
- 4-bit
license: apache-2.0
license_link: https://choosealicense.com/licenses/apache-2.0/
library_name: transformers
model_name: Falcon3 3B Instruct
base_model:
- tiiuae/Falcon3-3B-Instruct
base_model_relation: quantized
model_type: llama
inference: false
model_creator: fbaldassarri
pipeline_tag: text-generation
quantized_by: fbaldassarri
quantization_config:
method: auto_awq
bits: 4
group_size: 64
sym: false
auto_round_version: 0.13.1
torch_dtype: torch.bfloat16
device: cpu
nsamples: 128
iters: 200
seqlen: 512
batch_size: 4
---
## Model Information
Quantized version of [tiiuae/Falcon3-3B-Instruct](https://huggingface.co/tiiuae/Falcon3-3B-Instruct) using `torch.bfloat16` for quantization tuning.
- 4 bits (INT4)
- group size = 64
- Asymmetrical Quantization
- Method: WoQ — AWQ (AutoAWQ algorithm)
Fast and low memory, 2-3X speedup (slight accuracy drop at W4G64)
Quantization framework: [Intel AutoRound](https://github.com/intel/auto-round) v0.13.1
Note: this INT4 version of `Falcon3 3B Instruct` has been quantized for inference on Intel CPU, Intel iGPU (Arc) via intel-extension-for-pytorch, Intel NPU (AI Boost on Core Ultra series) via OpenVINO.
## Usage
This is an **instruct / chat** model — use its built-in chat template rather than raw text prompts:
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
repo = "fbaldassarri/tiiuae_Falcon3-3B-Instruct-auto_awq-int4-gs64-asym"
model = AutoModelForCausalLM.from_pretrained(repo, device_map="auto")
tokenizer = AutoTokenizer.from_pretrained(repo)
messages = [{"role": "user", "content": "Hello!"}]
inputs = tokenizer.apply_chat_template(
messages, return_tensors="pt", add_generation_prompt=True
).to(model.device)
outputs = model.generate(inputs, max_new_tokens=128)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
```
## Replication Recipe
The recommended way to reproduce this exact quantization is via the [auto-round-pipeline](https://git.epicdynamic.com/auto-round-pipeline) — the same orchestration tool that produced this artifact.
### Step 1 — Bootstrap the auto-round-pipeline
Set up a dedicated conda environment using the pipeline's `setup.sh`. Any of the install modes below produces an environment that can reproduce this quantization; pick the one that matches your goals:
```
git clone https://git.epicdynamic.com/auto-round-pipeline
cd auto-round-pipeline
# Pinned PyPI wheel (fastest; matches what this pipeline used by default):
bash setup.sh --pip-version 0.13.1
# Or build from intel/auto-round at the same tag (byte-identical reproducibility):
bash setup.sh --source-tag v0.13.1
# Intel Arc iGPU acceleration (e.g. Core Ultra 185H) — append to either of the above:
# ... --intel-xpu
# NVIDIA / AMD opt-in: --cuda / --rocm
```
The script prints the resulting conda env name (something like `auto-round-pipeline-v0.13.1[-src][-xpu|-cuda|-rocm]`) at the end.
### Step 2 — Quantize just this model
Activate the env that `setup.sh` created, then invoke the runner with the same job filters that produced this artifact:
```
conda activate <env-name-printed-by-setup.sh>
python runner.py \
--model 'tiiuae/Falcon3-3B-Instruct' \
--quant 'INT4-gs64' \
--format auto_awq \
--no-upload # drop this to also push to HuggingFace Hub
```
### Step 3 — (Optional) standalone Python recipe
If you'd rather call auto-round directly without the orchestration wrapper, this is the exact call the pipeline made:
```python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from auto_round import AutoRound
model_name = "tiiuae/Falcon3-3B-Instruct"
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.bfloat16)
tokenizer = AutoTokenizer.from_pretrained(model_name)
bits, group_size, sym = 4, 64, False
autoround = AutoRound(
model, tokenizer,
bits=bits, group_size=group_size, sym=sym,
device_map="cpu",
nsamples=128, iters=200, seqlen=512, batch_size=4,
)
autoround.quantize_and_save("./AutoRound/tiiuae_Falcon3-3B-Instruct-auto_awq-int4-gs64-asym", format="auto_awq")
```
## Actual Run Conditions
Recorded by the auto-round-pipeline at quantization time:
| Field | Value |
|---|---|
| Intel auto-round version | 0.13.1 |
| transformers version | 4.55.3 |
| torch version | 2.12.1+cpu |
| torch_dtype (load) | torch.bfloat16 |
| calibration device | `cpu` |
| calibration samples | 128 |
| tuning iterations | 200 |
| calibration seq len | 512 |
| calibration batch size | 4 |
| quantization duration | 19986.7s (333.1 min) |
| completed at (UTC) | 2026-07-02T11:32:27.433950+00:00 |
## License
[Apache 2.0 License](https://choosealicense.com/licenses/apache-2.0/)
## Disclaimer
This quantized model comes with no warranty. It has been developed only for research purposes.