BiLoCo: Binary Low-Rank Corrections for Post-Training Quantization
Organizations: Massachusetts Institute of Technology
Abstract
Post-training quantization (PTQ) to FP4 has emerged as a key technique for reducing large language model inference cost, especially on Blackwell GPUs, which offer native FP4 tensor core support. Direct PTQ to FP4, however, still leaves a noticeable accuracy gap. Recent work on SVDQuant mitigates the errors introduced through FP4 quantization for diffusion models by adding high-precision low-rank corrections obtained via SVD. However, this high-precision low-rank correction requires many bits per rank, and it runs on the same tensor cores as the main FP4 GEMM. We introduce BiLoCo, a low-rank correction method whose left and right factors are stored as binary sign vectors rather than as BF16 numbers. The signed format uses less storage per rank-one component, and since the correction now consists of additions/subtractions, this can be run on CUDA cores concurrently with the FP4 tensor-core GEMM. On 4B--72B LLMs, BiLoCo matches or improves memory-matched SVDQuant for PTQ. We implement BiLoCo on B300 as a fused single kernel, where the FP4 GEMM runs on tensor cores, the bit-packed correction on the CUDA cores of the same launch, and the two are combined in the GEMM epilogue. With batch size , the fused kernel is at most slower than the FP4-only GEMM for every rank up to . At rank , it is at most slower up to batch size .
Figures & tables
| model | med. | , SVD | , sign | ratio | Pearson |
| Qwen3-4B | |||||
| Qwen3-14B | |||||
| Llama-3-8B |
| Model | Dataset | BF16 | NVFP4 | SVDQuant | BiLoCo | BiLoCo |
| Qwen3-4B | Wiki2 | |||||
| Qwen3-4B | C4 | |||||
| Llama-3-8B | Wiki2 | |||||
| Llama-3-8B | C4 | |||||
| Qwen3-14B | Wiki2 | |||||
| Qwen3-14B | C4 |
| KL mean ( ) | KL p99 ( ) | |||
| Model | BiLoCo | SVDQuant | BiLoCo | SVDQuant |
| Qwen3-4B | ||||
| Qwen3-14B | ||||
| Llama-3-8B | ||||
| Qwen3-32B | ||||
| Qwen2.5-72B | ||||
| Method | Qwen3-4B | Qwen3-14B | Llama-3-8B | Qwen3-32B | Qwen2.5-72B |
| BF16 (reference) | |||||
| SVDQuant ( ) | |||||
| BiLoCo ( ) | |||||
| BiLoCo ( ) |
| Rank | ||||||
| Batch | ||||||
| Shape ( ) | Role | padded | unpadded | |||
| attn q/o | ||||||
| attn k/v | ||||||
| MLP down |
Appendix figures & tables8 assets
Supplementary material from the paper’s appendix.
Appendix
| Model | Projection | SVDQuant | BiLoCo | BiLoCo |
| Qwen3-4B | q_proj | |||
| k_proj | ||||
| v_proj | ||||
| o_proj | ||||
| gate_proj | ||||
| up_proj |
| construction | WikiText-2 | C4 |
| random signs joint coefficient refit | ||
| greedy learned signs | ||
| greedy learned signs global refit (Algorithm 1 ) | ||
| pm-altmin, sweeps |
| method | solver | other | layer total | PTQ total |
| SVDQuant, BF16 rank (SVD) | ||||
| greedy BiLoCo, | ||||
| greedy global refit, | ||||
| batched pm-altmin, | ||||
| full pm-altmin, |
| WikiText-2 | C4 | |
| BF16 | ||
| NVFP4 only | ||
| SVDQuant, BF16 rank | ||
| BiLoCo | ||
| BiLoCo | ||
| BiLoCo |
| backbone / correction | WikiText-2 | C4 |
| no preprocessing, NVFP4 only | ||
| presmoothing, NVFP4 only | ||
| QuaRot, NVFP4 only | ||
| QuaRot SVDQuant | ||
| QuaRot BiLoCo | ||
| SpinQuant, NVFP4 only |
| Model | Method | ARC-e | ARC-c | PIQA | WinoG. | OBQA | mean | |
| Qwen3-4B | SVDQuant | 512 | 0.775 | 0.467 | 0.738 | 0.639 | 0.296 | 0.583 |
| BiLoCo | 128 | 0.789 | 0.485 | 0.727 | 0.618 | 0.298 | 0.583 | |
| BiLoCo | 512 | 0.782 | 0.486 | 0.724 | 0.652 | 0.286 | 0.586 | |
| Qwen3-14B | SVDQuant | 512 | 0.830 | 0.557 | 0.780 | 0.717 | 0.344 | 0.646 |
| BiLoCo | 128 | 0.830 | 0.560 | 0.795 | 0.688 | 0.344 | 0.643 | |
| BiLoCo | 512 | 0.828 | 0.583 | 0.795 | 0.715 | 0.348 | 0.654 |
| KL mean ( ) | KL p99 ( ) | |||||
| Model | Method | BiLoCo | SVDQ | BiLoCo | SVDQ | |
| Qwen3-4B | vs. | 128 | 0.0914 | 0.0901 | 0.1849 | 0.1965 |
| vs. | 512 | 0.0740 | 0.0835 | 0.1421 | 0.1649 | |
| Qwen3-14B | vs. | 128 | 0.0548 | 0.0541 | 0.2026 | 0.1618 |
| vs. | 512 | 0.0480 | 0.0517 | 0.1303 | 0.1671 | |
| Llama-3-8B | vs. | 128 | 0.0856 | 0.0881 | 0.3611 | 0.4789 |
LLM Quantization
Large language model quantization reduces numerical precision to lower memory use and accelerate training or inference.
See all 380 papers