fbaldassarri's picture
Initial Commit
669acf5 verified
|
Raw
History Blame Contribute Delete
4.94 kB
---
language:
- en
tags:
- gptq
- auto-gptq
- autogptq
- pytorch
- causal-lm
- autoround
- auto-round
- intel-autoround
- intel
- woq
- weights-only-quantization
- pythia
- eleutheraI
- 4-bit
license: apache-2.0
license_link: https://choosealicense.com/licenses/apache-2.0/
library_name: transformers
model_name: Pythia 6.9b
base_model:
- EleutherAI/pythia-6.9b
base_model_relation: quantized
model_type: gpt_neox
inference: false
model_creator: fbaldassarri
datasets:
- EleutherAI/pile
pipeline_tag: text-generation
prompt_template: '{prompt}
'
quantized_by: fbaldassarri
quantization_config:
method: auto_gptq
bits: 4
group_size: 64
sym: true
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 [EleutherAI/pythia-6.9b](https://huggingface.co/EleutherAI/pythia-6.9b) using `torch.bfloat16` for quantization tuning.
- 4 bits (INT4)
- group size = 64
- Symmetrical Quantization
- Method: WoQ — GPTQ (AutoGPTQ 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 `Pythia 6.9b` 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 a **base / completion** model — prompt it directly with raw text:
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
repo = "fbaldassarri/EleutherAI_pythia-6.9b-auto_gptq-int4-gs64-sym"
model = AutoModelForCausalLM.from_pretrained(repo, device_map="auto")
tokenizer = AutoTokenizer.from_pretrained(repo)
prompt = "The quick brown fox"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=64)
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 'EleutherAI/pythia-6.9b' \
--quant 'INT4-gs64' \
--format auto_gptq \
--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 = "EleutherAI/pythia-6.9b"
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.bfloat16)
tokenizer = AutoTokenizer.from_pretrained(model_name)
bits, group_size, sym = 4, 64, True
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/EleutherAI_pythia-6.9b-auto_gptq-int4-gs64-sym", format="auto_gptq")
```
## 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 | 49184.3s (819.7 min) |
| completed at (UTC) | 2026-07-19T09:40:48.760385+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.