SQuAT: Spherical Lattice Vector Quantization-Aware Training
Organizations: University of Copenhagen · Qualcomm AI Research
Abstract
Vector quantization (VQ), in particular lattice-based methods, offer strong rate-distortion trade-offs for low-bit large language models (LLMs), yet their behavior under quantization-aware training (VQ-QAT) remains poorly understood. We scale lattice VQ-QAT to billion-parameter LLMs and multi-billion-token training regimes, and introduce SQuAT, a shape-gain VQ-QAT approach trained with a separate straight-through estimator (STE) for the shape and gain. SQuAT decomposes weights into direction and magnitude: normalized directions are quantized using an -derived spherical codebook, while gains are quantized independently with low-bit scalar quantizers. We show that, unlike a standard STE applied to the full quantizer, which ignores the shape-gain structure, these separate STEs induce tangent-space updates for directions, yielding an implicit form of spherical (Riemannian) optimization. To enable scalability, we develop a distributed exact nearest-neighbor assignment scheme, in which workers quantize disjoint weight blocks and communicate only discrete indices, reducing VQ-QAT training time by 12.8 and allowing us to scale it to 10B tokens. Across instruction-tuned LLaMA-3.2-1B/3B, Qwen3-4B, and base Qwen3-1.7B, SQuAT consistently outperforms standard VQ-QAT STE under identical quantizers and initialization, and achieves SOTA VQ-QAT accuracy.
Figures & tables
| Method | WikiText2 PPL | CSR, % | MMLU, % | GSM8K, % | ||||||||
| L1B | L3B | Q4B | L1B | L3B | Q4B | L1B | L3B | Q4B | L1B | L3B | Q4B | |
| FP16 | 12.15 | 10.49 | 9.41 | 61.0 | 67.5 | 72.9 | 45.4 | 59.6 | 72.6 | 36.8 | 65.8 | 85.4 |
| Tok = 1B | ||||||||||||
| Standard | 14.22 | 11.04 | 10.17 | 58.4 | 66.3 | 70.2 | 39.3 | 55.0 | 67.1 | 14.7 | 47.0 | 76.3 |
| Spherical | 13.85 | 10.96 | 10.03 | 58.8 | 65.8 | 71.0 | 40.3 | 55.8 | 67.4 | 18.0 | 51.9 | 77.0 |
| Tok = 5B | ||||||||||||
| Method | Tok | bpw | WikiText2 PPL | CSR, % | MMLU, % | ||||||
| L1B | L3B | Q4B | L1B | L3B | Q4B | L1B | L3B | Q4B | |||
| FP16 | – | 16.0 | 12.15 | 10.49 | 9.41 | 61.0 | 67.5 | 72.9 | 45.4 | 59.6 | 72.6 |
| QuIP# (fine-tuned) | 52M | 2.0 | 16.67 | 11.13 | – | 52.0 | 61.0 | – | 26.5 | 42.1 | – |
| QTIP | 52M | 2.0 | 14.47 | 10.12 | 8.87 | 54.3 | 62.7 | 69.5 | 33.0 | 49.4 | 62.7 |
| PV-tuning | 1B a | 2.0 | – | – | – | – | – | – | 28.9 | 48.4 | – |
| INT-QAT | – | 2.0 | 2e6 | 2e5 | 6e6 | 36.5 | 35.5 | 36.8 | 25.5 | 24.7 | 26.9 |
Appendix figures & tables13 assets
Supplementary material from the paper’s appendix.
Appendix
| Joint / Standard STE | Factored (Shape-Gain) STE | |
| \displaystyle\begin{array}[]{c}\frac{\partial\hat{w}}{\partial w}\approx I\end{array} | \displaystyle\begin{array}[]{c}\frac{\partial\hat{s}}{\partial s}\approx I,\frac{\partial\hat{\gamma}}{\partial\gamma}\approx 1\end{array} | |
| Euclidean parameterization ( ) | \displaystyle\begin{array}[]{c}w^{+}=w-\eta\,g\\[3.99994pt] \text{Sec.~\ref{sec:optA}}\end{array} | \displaystyle\begin{array}[]{c}w^{+}=w-\eta\!\left(\frac{\hat{\gamma}}{\gamma}P_{s}g+(\hat{s}^{\top}g)\,s\right)\\[3.99994pt] \text{Sec.~\ref{sec:optE_factored}}\end{array} |
| Spherical parameterization ( ) | \displaystyle\begin{array}[]{c}u^{+}=u-\eta\frac{\gamma}{\|u\|}P_{s}g\\ \gamma^{+}=\gamma-\eta(s^{\top}g)\\[3.00003pt] w^{+}=\gamma^{+}\,\frac{u^{+}}{\|u^{+}\|}\\[3.99994pt] \text{App.~\ref{sec:optBprime}}\end{array} | \displaystyle\begin{array}[]{c}u^{+}=u-\eta\frac{\hat{\gamma}}{\|u\|}P_{s}g\\ \gamma^{+}=\gamma-\eta(\hat{s}^{\top}g)\\[3.00003pt] w^{+}=\gamma^{+}\,\frac{u^{+}}{\|u^{+}\|}\\[3.99994pt] \text{Sec.~\ref{sec:optB}}\end{array} |
| bpw | Scheduler | Hadamard | WikiText2 perplexity | CSR, % | MMLU, % | |||
| Signed | SEQ | Signed | SEQ | Signed | SEQ | |||
| FP16 | 12.15 | 61.0 | 45.4 | |||||
| 2.0 | Cosine | 18.07 | 16.97 | 54.5 | 55.7 | 26.0 | 28.5 | |
| WSD | 16.91 | 16.25 | 54.7 | 56.3 | 28.1 | 30.8 | ||
| WSD | ✓ | 15.91 | 15.07 | 56.3 | 57.3 | 28.3 | 31.7 | |
| 2.25 | Cosine | 16.71 | 16.32 | 55.1 | 55.8 | 31.8 | 30.9 | |
| Method | Granularity | Tokens | Weight/Shape LR | Scale/Gain LR | Model |
| SQuAT (E8S-SG) | all bpv variants | 1B, 5B, 10B | L1B, L3B, | ||
| Q1B7, Q4B | |||||
| Standard VQ-QAT | all bpv variants | 1B, 5B | — | L1B, L3B | |
| Standard VQ-QAT | all bpv variants | 1B, 5B | — | Q4B | |
| E8S | all bpv variants | 1B | L1B | ||
| SQuAT (E8P12-SG) | all bpv variants | 1B | L1B |
| Method | Tok | IFEval, % | LongBench, % | ||||
| L1B | L3B | Q4B | L1B | L3B | Q4B | ||
| FP16 | – | 57.0 | 73.9 | 86.3 | 28.4 | 23.8 | 22.4 |
| Standard VQ-QAT | 1B | 37.8 | 63.0 | 79.8 | 21.1 | 19.4 | 17.9 |
| Spherical VQ-QAT ( SQuAT ) | 1B | 41.4 | 62.5 | 82.3 | 23.6 | 21.6 | 18.1 |
| Standard VQ-QAT | 5B | 40.8 | 59.5 | 78.9 | 24.5 | 18.4 | 17.2 |
| Spherical VQ-QAT ( SQuAT ) | 5B | 43.6 | 64.2 | 82.4 | 23.4 | 20.7 | 17.6 |
| Standard VQ-QAT | Spherical VQ-QAT (SQUAT) | ||||||
| PPL | CSR | MMLU | PPL | CSR | MMLU | ||
| 1B training tokens | |||||||
| Seed 0 | 14.22 | 58.43 | 39.28 | 13.85 | 58.77 | 40.26 | |
| Seed 1 | 14.29 | 58.18 | 36.54 | 13.90 | 58.68 | 39.50 | |
| Seed 2 | 14.13 | 58.27 | 38.53 | 13.78 | 58.65 | 40.73 | |
| Mean | 14.21 | 58.29 | 38.12 | 13.84 | 58.70 | 40.16 | |
| Setting | PPL / CSR / MMLU |
| LLaMA-3.2-1B-Instruct | |
| Explicit gain parameter ( SQuAT , Sec. 3.2 ) | 13.85 / 58.8 / 40.3 |
| No separate gain parameter ( Sec. B.2 ) | 14.01 / 58.2 / 38.4 |
| Without training shape weights | 13.85 / 58.2 / 40.0 |
| No shape-gain (E8S) | 14.24 / 58.4 / 38.2 |
| LLaMA-3.2-3B-Instruct | |
| Method | Tok | WikiText2 PPL | CSR, % | MMLU, % | ||||||
| L1B | L3B | Q4B | L1B | L3B | Q4B | L1B | L3B | Q4B | ||
| FP16 | – | 12.15 | 10.49 | 9.41 | 61.0 | 67.5 | 72.9 | 45.4 | 59.6 | 72.6 |
| Standard VQ-QAT (Sec. 3.1 ) | 1B | 14.10 | 11.04 | 10.17 | 58.7 | 66.3 | 70.2 | 37.5 | 55.0 | 67.1 |
| Euclidian + factored STE (Sec. B.2 ) | 1B | 14.01 | 11.11 | 10.15 | 58.2 | 66.0 | 70.8 | 38.4 | 54.6 | 66.5 |
| Spherical VQ-QAT ( SQuAT , Sec. 3.2 ) | 1B | 13.85 | 10.96 | 10.03 | 58.8 | 65.8 | 71.0 | 40.3 | 55.8 | 67.4 |
| PPL 2048 | PPL 4096 | AC | AE | BQ | HS | PQ | WG | CSR | MMLU | |
| FP16 | 16.72 | 15.68 | 43.08 | 69.69 | 77.52 | 60.37 | 72.14 | 61.80 | 64.10 | 60.12 |
| LC-QAT | – | – | 39.51 | 64.35 | 70.43 | 55.01 | 71.65 | 57.54 | 59.75 | – |
| SQuAT | 17.36 | 16.19 | 39.76 | 65.87 | 75.66 | 54.06 | 69.97 | 61.72 | 61.17 | 52.94 |
| Setting | bpw | Hadamard | PPL / CSR / MMLU |
| SQuAT (grouped) | 2.25 | Yes | 13.85 / 58.8 / 40.3 |
| No | 14.89 / 58.2 / 36.5 | ||
| 1.04 / 0.6 / 3.8 | |||
| No SG (grouped) | 2.25 | Yes | 14.53 / 58.0 / 37.0 |
| No | 15.26 / 57.1 / 33.2 | ||
| 0.73 / 0.9 / 3.8 |
| Setting | bpw | Hadamard | PPL / CSR / MMLU |
| SQuAT | 2.25 | Yes | 13.94 / 58.7 / 38.9 |
| No | 14.36 / 58.3 / 36.9 | ||
| 0.42 / 0.3 / 1.9 | |||
| No SG | 2.25 | Yes | 14.67 / 57.5 / 35.1 |
| No | 15.44 / 57.2 / 33.8 | ||
| 0.77 / 0.3 / 1.3 |
LLM Quantization
Large language model quantization reduces numerical precision to lower memory use and accelerate training or inference.
See all 381 papers