SignRound (signed gradient descent for weight rounding optimization)
Fields
quantization/qhw-signroundNotes
PROXY ENUM VALUE - DECLARED 2026-10-04: SignRound is a ROUNDING ALGORITHM (signed gradient descent on the rounding direction), not a format. It is the same idea as the AutoRound toolkit record and is in fact implemented by it. Filing an algorithm under a format enum is the weakest form of proxy in this set: the record's own quality finding (a 6.91-33.22% improvement at 2-bit) is a property of the rounding, and attaching it to 'gptq' implies it is a GPTQ variant. REQUESTED ENUM ADDITION: 'signround'. SignRound is a weight-only quantization method that optimizes the rounding decision using signed gradient descent. The key idea is that round-to-nearest is not optimal: by adjusting the rounding direction (up or down) for each weight, the overall quantization error can be reduced. This is a PTQ method that requires a calibration set and 200 optimization steps. The method is implemented in Intel's auto-round toolkit. RELEVANCE TO THE REPO'S THEME: SignRound is another example of the 'quantization methods do not compose' pattern. The optimized rounding is specific to the calibration data and the model - it cannot be combined with other quantization methods (like AWQ's scaling or GPTQ's Hessian-based rounding) without re-running the optimization. The 6.91-33.22% improvement at 2-bit is the most dramatic accuracy delta in the quantization literature, and it shows that the rounding decision is a major source of quantization error that is often overlooked. The paper is by Cheng et al. (arXiv:2309.05516), EMNLP 2024 Findings. NATIVE_SUPPORT CLASSIFIED 2026-10-04: this field is still [] and that is CORRECT, but the empty list used to be ambiguous between three different states and now is not. Reason class on this record: WEIGHT-ONLY, SO STRUCTURALLY ABSENT. The bits field keeps activations in FP16, so execution is dequantize-to-FP16 then an FP16 tensor-core GEMM; there is no INT4-x-INT4 (or sub-8-bit x sub-8-bit) silicon instruction for it to target. This is a statement about the arithmetic, not an absence of investigation. Consequence for a reader: nothing further to verify - no silicon path is possible for this format as defined. The full statement of the three-way distinction, and the worked list of all 72 empty records by class, is in gotcha quant-native-support-empty-means-three-different-things. Rule of thumb for this field everywhere in the repo: if the bits field carries an 'a16', or the scheme is KV-cache-only or a llama.cpp integer storage type, an empty native_support is a DEFINITION and needs no verification; only a W4A4/W8A8/sub-8-bit format with research kernels can have an empty list that is a real finding.