Qwen3-1.7B — W2.79, QAD + OPD
Qwen3-1.7B 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 | 54.28 | 49.60 | 19.38 | 52.0 | 59.1 | 51.81 |
| Qwen3-1.7B BF16 | 68.76 | 54.40 | 31.72 | 54.0 | 67.1 | 54.54 |
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-1.7B-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-1.7B.