Quantization
Table | |
|---|
| Base model | Qwen/Qwen3-1.7B (BF16, 28 blocks, hidden 2048) |
| Scheme | weight-only, 4-bit, group size 128, asymmetric (zero point) |
| Scope | all self_attn / mlp linears in decoder blocks |
| Search | AWQ scale exponent (20-point grid) + clipping (10-point global shrink grid, look-ahead scored) |
Search objective
The candidate for block i is scored one block later, at the output of block
i+1, which stays in original precision:
inps ──► block i (candidate weights) ──► block i+1 (BF16, untouched) ──► MSE
The reference is the same path with block i also unquantized. Block 27 has no
successor, so its loss falls back to its own output.
Because AWQ's scale rewrite (prev_op /= s, W *= s) is algebraically equal to
leaving prev_op alone and using Q(W·diag(s))·diag(1/s), a candidate is
simulated by swapping only the linear's weight, so the measured loss is exactly
the deployed one.
Clipping granularity. The look-ahead loss is a single scalar after block
i+1 and does not decompose over output channels, so clipping searches one
shrink ratio per linear rather than stock AWQ's per-output-channel threshold.
Calibration
Table | |
|---|
| Dataset | sumin99/Openr1-dataset-sampled-CMA |
| Samples | first 4096 rows (of 32768) |
| Length | first 2048 tokens per row, one document per row (no concatenation) |
| Padding | right-padded with `< |
| Totals | 8,131,131 real tokens, 3.07% padding, 3600/4096 rows truncated |
Text is tokenized as-is — no chat template applied, no stripping (rows already
carry ChatML markup).
Results
Perplexity at sequence length 2048. Bold is this model.
Table with columns: model, WikiText-2, Δ, OpenR1-CMA held-out, Δ| model | WikiText-2 | Δ | OpenR1-CMA held-out | Δ |
|---|
| Qwen3-1.7B BF16 (unquantized) | 16.7162 | — | 2.2045 | — |
| RTN W4/g128 (no AWQ) | 20.4892 | +3.7729 | 2.4442 | +0.2397 |
| AWQ W4/g128 block-wise (d=0) | 17.8742 | +1.1580 | 2.3001 | +0.0956 |
Held-out slice = rows 4096–5119 of the calibration dataset (never seen by the
search). RTN = round-to-nearest group quantization with no AWQ search.
Comparability caveat. The d=0 and d=1 arms differ in two ways, not one:
the loss scope (block output vs next-block output) and the clipping search
(stock per-output-channel vs a single global shrink scored look-ahead). The
clipping difference does more work at 3-bit than at 4-bit, so the gap between
these two arms should not be read as an ablation of the loss alone.