SmoothQuant (W8A8 via offline outlier migration)
Fields
quantization/smoothquantNotes
GROUP SIZE LEFT NULL 2026-10-04: SmoothQuant is a per-tensor (or per-token at inference) scaling method whose contribution is migrating activation outliers into the weights, not choosing a weight grouping. The group size is whatever the underlying INT8/FP8 grid uses - for the W8A8 headline it is per-tensor, which again has no group. This is the record that makes the w4a16 vs w4a4 distinction concrete. SmoothQuant produces a TRUE W8A8 model: int8 weights times int8 activations with int32 accumulate, on real INT8 tensor cores. The method's whole point is to spend accuracy budget where hardware has headroom - it moves quantization difficulty from activations (which have outliers and no hardware tolerance) into weights (which do not), using a transformation that is exactly equivalent in full precision. Unlike LLM.int8() there is no runtime outlier decomposition and no mixed-precision split, so the whole layer runs in int8. Note the alpha hyperparameter: at alpha=0.5 the paper splits difficulty evenly; the abstract claims INT8 for ALL matrix multiplications in OPT/BLOOM/GLM/MT-NLG/Llama-1-2/Falcon/Mistral/Mixtral, which is a strong claim worth re-checking per model before relying on it. Hardware-native int8 on Ampere+ NVIDIA and CDNA2+/CDNA3 AMD. ModelOpt and vLLM both expose SmoothQuant as a PTQ recipe that folds the smoothing into the checkpoint before the int8 GEMM. UPGRADE (2026-10-03): OmniQuant is now recorded separately as quantization/omniquant and borrows this record's 'smoothquant' enum value, because its Learnable Equivalent Transformation is structurally the same idea - an offline transformation that migrates activation-quantization difficulty into the weights while leaving full-precision behaviour unchanged. The difference worth keeping: SmoothQuant's migration parameter alpha is hand-chosen per layer, OmniQuant LEARNS it by block-wise error minimization over 128 calibration samples. OmniQuant is also the method that survives the W2A16/W3A16 weight-only configurations that SmoothQuant was never aimed at, so the two should not be collapsed into one record.