When post-training quantization isn't accurate enough
Post-training quantization is convenient but can hurt accuracy on sensitive tasks. Quantization-Aware Training (QAT) simulates int8 quantization during training's forward pass — the model stays float32, but learns weights robust to int8 conversion. A final TFLite conversion produces the actual int8 model.
Typical accuracy gain over post-training quantization: 1–3% absolute. Significant when you're at the edge of your accuracy budget.
Magnitude-based pruning zeros out small weights, creating sparse models. Combined with quantization, can shrink models ~10× with minimal accuracy loss. The TF Model Optimization Toolkit (tensorflow_model_optimization) provides Keras layer wrappers that gradually increase sparsity during training.