Calibrator
功能说明
量化参数配置类,通过Calibrator类封装量化算法。
函数原型
Calibrator(model, cfg: QuantConfig, calib_data=None, disable_level='L0', logger=None, all_tensors=None, threshold_disable=None)
参数说明
参数名 |
输入/返回值 |
含义 |
使用限制 |
---|---|---|---|
model |
输入 |
模型。 |
必选。 数据类型:PyTorch模型 。 |
cfg |
输入 |
已配置的QuantConfig类。 |
必选。 数据类型:QuantConfig。 |
calib_data |
输入 |
LLM大模型量化校准的数据,输入真实数据用于label-free量化。 |
必选。 数据类型:object。 默认值为None。 输入模板:[[input1],[input2],[input3]]。 |
disable_level |
输入 |
自动回退等级,在模型精度损失大可以适当提升等级。 |
可选。 数据类型:object。 可选范围如下:
|
logger |
输入 |
Logger对象。 |
可选。 数据类型:object。 默认值为None,采用默认配置即可。 |
all_tensors |
输入 |
用于逐层量化校准的{name:tensor}。 |
可选。 数据类型:dict。 默认值为None,采用默认配置即可。 |
threshold_disable |
输入 |
用于判断layer退出量化的阈值。 |
可选。 数据类型:float。 默认值为None,采用默认配置即可。 |
调用示例
from modelslim.pytorch.llm_ptq.llm_ptq_tools import Calibrator, QuantConfig quant_config = QuantConfig(dev_type='cpu', pr=0.5, mm_tensor=Flase) model = AutoModel.from_pretrained('THUDM/chatglm2-6b', torch_dtype=torch.float16, trust_remote_code=True).cpu() #根据模型实际路径配置 calibrator = Calibrator(model, quant_config, calib_data=dataset_calib, disable_level='L0')
父主题: 大模型量化接口