KV Cache量化简易配置文件
quant_calibration_config_pytorch.proto文件参数说明如下表所示,该文件所在目录为:AMCT安装目录/amct_pytorch/proto/。
消息 |
是否必填 |
类型 |
字段 |
说明 |
---|---|---|---|---|
AMCTQuantCaliConfig |
- |
- |
- |
AMCT kv-cache量化的简易配置。 |
optional |
uint32 |
batch_num |
量化使用的batch数量,用于ifmr/hfmg量化算法积累数据计算量化因子。 |
|
optional |
bool |
activation_offset |
数据量化是否带offset。全局配置参数。
|
|
optional |
CommonCalibrationConfig |
kv_cache_quant_config |
通用的kv-cache量化配置,全局量化配置参数。若某层未被override_layer_configs重写,则使用该配置。 参数优先级:override_layer_configs>kv_cache_quant_config |
|
repeated |
OverrideLayer |
override_layers_configs |
重写某一层的量化配置,即对哪些层进行差异化量化。 例如全局量化配置参数配置的量化因子搜索步长为0.01,可以通过该参数对部分层进行差异化量化,可以配置搜索步长为0.02。 参数优先级:override_layer_configs>kv_cache_quant_config |
|
CommonCalibrationConfig |
- |
- |
- |
通用的kv-cache量化配置。 |
repeated |
string |
quant_layers |
支持量化的层名。 |
|
optional |
CalibrationConfig |
calibration_config |
量化配置。 |
|
OverrideLayer |
- |
- |
- |
重置某层量化配置。 |
repeated |
string |
layer_name |
被重置层的层名。 |
|
optional |
CalibrationConfig |
kv_data_quant_config |
重写的kv_cache量化配置参数。 |
|
CalibrationConfig |
- |
- |
- |
Calibration量化的配置。 |
- |
FMRQuantize |
ifmr_quantize |
数据量化算法配置。 ifmr_quantize:IFMR量化算法配置。 |
|
- |
HFMGQuantize |
hfmg_quantize |
数据量化算法配置。 hfmg_quantize:HFMG量化算法配置。 |
|
FMRQuantize |
- |
- |
- |
FMR数据量化算法配置。算法介绍请参见IFMR数据量化算法。 该参数与HFMGQuantize参数不能同时配置。 |
optional |
float |
search_range_start |
量化因子搜索范围左边界。 |
|
optional |
float |
search_range_end |
量化因子搜索范围右边界。 |
|
optional |
float |
search_step |
量化因子搜索步长。 |
|
optional |
float |
max_percentile |
最大值搜索位置。 |
|
optional |
float |
min_percentile |
最小值搜索位置。 |
|
optional |
bool |
asymmetric |
是否进行对称量化。用于控制逐层量化算法的选择。
如果override_layer_configs、common_config配置项都配置该参数,或者配置了activation_offset参数,则生效优先级为: override_layer_configs>common_config>activation_offset |
|
optional |
QuantGranularity |
quant_granularity |
量化粒度,支持如下两种方式:
|
|
HFMGQuantize |
- |
- |
- |
HFMG数据量化算法配置。算法介绍请参见HFMG数据量化算法。 该参数与FMRQuantize参数不能同时配置。 |
optional |
uint32 |
num_of_bins |
直方图的bin(直方图中的一个最小单位直方图形)数目,支持的范围为{1024, 2048, 4096, 8192}。 默认值为4096。 |
|
optional |
bool |
asymmetric |
是否进行对称量化。用于控制逐层量化算法的选择。
如果override_layer_configs、common_config配置项都配置该参数,或者配置了 activation_offset参数,则生效优先级为: override_layer_configs>common_config>activation_offset |
|
optional |
QuantGranularity |
quant_granularity |
量化粒度,支持如下两种方式:
|
kv_cache_quant_config { quant_layers: 'matmul1' quant_layers: 'matmul2' calibration_config: { hfmg_quantize : { } } } override_layers_configs { layer_name: 'matmul3' kv_data_quant_config: { ifmr_quantize : { } } }