TensorRT-developer-guide/intro-quantization
7. Working with INT8
7.1. Introduction to Quantization
TensorRT 支持使用 8 位整数来表示量化的浮点值。量化方案是对称均匀量化——量化值用带符号的 INT8 表示,从量化值到未量化值的转换只是一个乘法。在相反的方向上,量化使用倒数比例,然后进行舍入和钳位。
量化方案包括激活和权重的量化。
激活的量化方案取决于所选择的校准算法,以找到最能平衡特定数据的舍入误差和精度误差的尺度 s。 TensorRT支持的不同校准方案可以在Post-Training Quantization Using Calibration中找到。
权重的量化方案如下: s = max ( abs ( x min ) , abs ( x max ) ) / 127 其中 x min 和 x max 是权重张量的浮点最小值和最大值。
给定尺度 s ,我们可以表示量化/反量化操作如下: x q = quantize ( x , s ) : = roundWithTiesToEven ( clip ( x s , - 128 , 127 ) ) 其中:
- x q 是 [-128,127] 范围内的量化值。
- x 是激活的浮点值。
- 此处描述了 roundWithTies