Qwen3-0.6B — W2.79, QAD + OPD
Qwen3-0.6B quantized to 2.79 bits per weight, then recovered with quantization-aware distillation followed by on-policy distillation. Quantization is baked in: load it and evaluate it.
Code, evaluation harness and the training recipe: MingZwhy/QAOPD.
Results
Measured through this checkpoint, against the unquantized model.
| GSM8K | MATH-500 | AMC23 | MBPP | HumanEval | QA9 | |
|---|---|---|---|---|---|---|
| this model | 43.14 | 24.20 | 4.69 | 33.7 | 29.9 | 43.64 |
| Qwen3-0.6B BF16 | 41.62 | 27.20 | 7.81 | 40.0 | 36.6 | 46.08 |
GSM8K 5-shot strict-match, MATH-500 4-shot, AMC23 avg@16, MBPP and HumanEval pass@1 greedy, QA9 the equal-weight mean of nine likelihood-scored benchmarks.
Quantization
| weights | mixed INT1.58 / INT4 in blocks of 256, 50% of blocks at INT4 → 2.79 bits effective |
| embedding, output head | INT4 |
| activations | INT8 |
| KV cache | 16-bit |
Use
from transformers import AutoModelForCausalLM, AutoTokenizer
name = "MingZwhy/Qwen3-0.6B-W2.79-QAOPD"
model = AutoModelForCausalLM.from_pretrained(name, trust_remote_code=True)
tok = AutoTokenizer.from_pretrained(name)
To reproduce the numbers above with the same harness, see docs/EVALUATION.md.
License
Apache-2.0, inherited from Qwen3-0.6B.