MappingType¶
- class torchao.quantization.MappingType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]¶
浮點數如何對映到整數
對稱對映意味著將浮點數範圍對稱地對映到整數範圍,例如,假設我們有一個浮點數範圍 (-3.5, 10.2) 和一個整數範圍 (-8, 7) (int4),我們將使用 (-10.2, 10.2) 作為浮點數範圍,並將其對映到 (-8, 7),例如 scale = (10.2 - (-10.2)) / (7 - (-8))
SYMMETRIC_NO_CLIPPING_ERR 是對稱對映的一種變體,其中 scale 是 smin 和 smax 中的最大值,其中 smin = min_val_neg / quant_min,smax = max_val_pos / quant_max。透過分別計算 smin 和 smax,可以減少負值的舍入誤差,並且所有浮點數都不會超出範圍。
非對稱對映意味著我們直接將浮點數範圍對映到整數範圍,對於上面的例子,我們將 (-3.5, 10.2) 對映到 (-8, 7),並基於此對映計算量化引數,例如 scale = (10.2 - (-3.5)) / (7 - (-8))