---
title: KV Cache量化简易配置文件
description: "quant_calibration_config_pytorch.proto文件参数说明如下表所示，该文件所在目录为：AMCT安装目录/amct_pytorch/proto/。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/devaids/amct/atlasamct_16_0136.html
sourcePath: /source/zh/canncommercial/900/devaids/amct/atlasamct_16_0136.html
indexId: c6f32b292860ad3a1652472370d750e0efe48cf749997e95fe04eacc5980be5165
---
# KV Cache量化简易配置文件

quant_calibration_config_pytorch.proto文件参数说明如下表所示，该文件所在目录为：AMCT安装目录/amct_pytorch/proto/。


**表1 quant_calibration_config_pytorch.proto参数说明**

| 消息 | 是否必填 | 类型 | 字段 | 说明 |
| --- | --- | --- | --- | --- |
| AMCTQuantCaliConfig | \- | \- | \- | AMCT kv\-cache量化的简易配置。 |
| AMCTQuantCaliConfig | optional | uint32 | batch\_num | 量化使用的batch数量，用于ifmr/hfmg量化算法积累数据计算量化因子。 |
| AMCTQuantCaliConfig | optional | bool | activation\_offset | 数据量化是否带offset。全局配置参数。 true：带offset，数据量化时为非对称量化。 false：不带offset，数据量化时为对称量化。 |
| AMCTQuantCaliConfig | optional | CommonCalibrationConfig | kv\_cache\_quant\_config | 通用的kv\-cache量化配置，全局量化配置参数。若某层未被override\_layer\_configs重写，则使用该配置。 参数优先级：override\_layer\_configs>kv\_cache\_quant\_config |
| AMCTQuantCaliConfig | repeated | OverrideLayer | override\_layers\_configs | 重写某一层的量化配置，即对哪些层进行差异化量化。 例如全局量化配置参数配置的量化因子搜索步长为0.01，可以通过该参数对部分层进行差异化量化，可以配置搜索步长为0.02。 参数优先级：override\_layers\_configs>kv\_cache\_quant\_config |
| CommonCalibrationConfig | \- | \- | \- | 通用的kv\-cache量化配置。 |
| CommonCalibrationConfig | repeated | string | quant\_layers | 支持量化的层名。 |
| CommonCalibrationConfig | optional | CalibrationConfig | calibration\_config | 量化配置。 |
| OverrideLayer | \- | \- | \- | 重置某层量化配置。 |
| OverrideLayer | repeated | string | layer\_name | 被重置层的层名。 |
| OverrideLayer | optional | CalibrationConfig | kv\_data\_quant\_config | 重写的kv\_cache量化配置参数。 |
| CalibrationConfig | \- | \- | \- | Calibration量化的配置。 |
| CalibrationConfig | \- | FMRQuantize | ifmr\_quantize | 数据量化算法配置。 ifmr\_quantize：IFMR量化算法配置。 |
| CalibrationConfig | \- | HFMGQuantize | hfmg\_quantize | 数据量化算法配置。 hfmg\_quantize：HFMG量化算法配置。 |
| FMRQuantize | \- | \- | \- | FMR数据量化算法配置。算法介绍请参见IFMR数据量化算法。 该参数与HFMGQuantize参数不能同时配置。 |
| FMRQuantize | optional | float | search\_range\_start | 量化因子搜索范围左边界。 |
| FMRQuantize | optional | float | search\_range\_end | 量化因子搜索范围右边界。 |
| FMRQuantize | optional | float | search\_step | 量化因子搜索步长。 |
| FMRQuantize | optional | float | max\_percentile | 最大值搜索位置。 |
| FMRQuantize | optional | float | min\_percentile | 最小值搜索位置。 |
| FMRQuantize | optional | bool | asymmetric | 是否进行对称量化。用于控制逐层量化算法的选择。 true：非对称量化 false：对称量化 如果override\_layer\_configs、common\_config配置项都配置该参数，或者配置了activation\_offset参数，则生效优先级为： override\_layer\_configs>common\_config>activation\_offset |
| FMRQuantize | optional | QuantGranularity | quant\_granularity | 量化粒度，支持如下两种方式： 0：per\_tensor，默认为0。 1：per\_channel。 |
| HFMGQuantize | \- | \- | \- | HFMG数据量化算法配置。算法介绍请参见HFMG数据量化算法。 该参数与FMRQuantize参数不能同时配置。 |
| HFMGQuantize | optional | uint32 | num\_of\_bins | 直方图的bin（直方图中的一个最小单位直方图形）数目，支持的范围为{1024, 2048, 4096, 8192}。 默认值为4096。 |
| HFMGQuantize | optional | bool | asymmetric | 是否进行对称量化。用于控制逐层量化算法的选择。 true：非对称量化 false：对称量化 如果override\_layer\_configs、common\_config配置项都配置该参数，或者配置了 activation\_offset参数，则生效优先级为： override\_layer\_configs>common\_config>activation\_offset |
| HFMGQuantize | optional | QuantGranularity | quant\_granularity | 量化粒度，支持如下两种方式： 0：per\_tensor，默认为0。 1：per\_channel。 |


基于该文件构造的kv-cache量化简易配置文件quant.cfg样例如下所示：
```
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 : {
}
}
}
```
