Calibrator
功能说明
量化参数配置类,通过Calibrator类封装量化算法。
函数原型
Calibrator(model, cfg: quantconfig, calib_data=None, disable_level='L0', all_tensors=None)
参数说明
参数名 |
输入/返回值 |
含义 |
使用限制 |
---|---|---|---|
model |
输入 |
模型。 |
必选。 数据类型:PyTorch模型 。 |
cfg |
输入 |
已配置的QuantConfig类。 |
必选。 数据类型:QuantConfig。 |
calib_data |
输入 |
LLM大模型量化校准的数据,输入真实数据用于Label-Free量化。 |
可选。 数据类型:object。 默认值为None,为Data-Free场景,Label-Free场景必须输入。 输入模板:[[input1],[input2],[input3]]。 |
disable_level |
输入 |
自动回退等级,在模型精度损失大可以适当提升等级,但回退层数不可以大于模型总层数。 |
可选。 数据类型:object。 配置示例如下:
以此类推。 |
all_tensors |
输入 |
用于逐层量化校准的{name:tensor}。 |
可选。 数据类型:dict。 默认值为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.float32, trust_remote_code=True).cpu() #根据模型实际路径配置 calibrator = Calibrator(model, quant_config, calib_data=dataset_calib, disable_level='L0')
父主题: 大模型量化接口