Mixed-Precision Quantization
The problem
Most quantization tools apply the same bit-width to every layer. Fine for small networks. With LLMs and large DNNs it breaks down. Sensitive layers (attention heads, first and last layers) don’t tolerate aggressive compression well. Others barely notice dropping from FP32 to INT4. Uniform precision is either too conservative or too aggressive, and there’s no obvious manual path through that tradeoff at scale.
The goal was automating per-layer bit-width selection: let the search find good configurations instead of guessing or falling back to uniform settings.
Uniform precision
Mixed precision
How it works
Results
Key design decisions
ANT
DNNsAddresses the weight distribution problem in CNNs and ViTs.
- Adaptive numerical data types matched per layer to the actual distribution.
- Custom CUDA kernels implement the encoding at inference time.
OliVe
LLMsAddresses the activation outlier problem specific to attention.
- Outlier-victim pairing for activation outliers, encoded locally at the kernel level.
- No global coordination controller across the accelerator, unlike prior methods that separate outliers globally and pay a coordination-hardware overhead.
Technologies:
Python PyTorch CUDA MLflow AWQ GPTQ SmoothQuant
Concepts / Algorithms:
Mixed-Precision Quantization Reinforcement Learning Evolutionary Search Post-Training Quantization LLM Inference Optimization Outlier-Victim Pair Encoding
