AntiOutlierConfig
功能说明
构建用于异常值抑制的config。
函数原型
AntiOutlierConfig(w_bit=8, a_bit=8, anti_method="m2", dev_type="cpu",dev_id=None, w_sym=True)
参数说明
参数名 |
输入/返回值 |
含义 |
使用限制 |
---|---|---|---|
w_bit |
输入 |
权重量化bit。 |
可选。 数据类型:int。 默认为8,不支持修改。 |
a_bit |
输入 |
激活层量化bit。 |
可选。 数据类型:int。 默认为8。 anti_method为m3时,支持修改为16。 |
anti_method |
输入 |
异常值抑制anti_outlier使用方法。 |
可选。 数据类型:string。 默认为m2,可选值'm1'或'm2'或'm3'。
|
dev_type |
输入 |
device类型。 |
可选。 数据类型:object。 可选值:['cpu', 'npu'],默认为'cpu'。 |
dev_id |
输入 |
DEVICE ID。 |
可选。 数据类型:int。 默认值为None。 仅在“dev_type”配置为“npu”时生效。“dev_id”指定的Device ID优先级高于环境变量配置的Device ID。 |
w_sym |
输入 |
权重是否对称量化。 |
可选。 数据类型:bool。 默认为True。 anti_method设置为m3时,可以选择为False,需与QuantConfig中的w_sym参数设置一致。 |
调用示例
from modelslim.pytorch.llm_ptq.anti_outlier import AntiOutlier, AntiOutlierConfig anti_config = AntiOutlierConfig(anti_method="m2") anti_outlier = AntiOutlier(model, calib_data=dataset_calib, cfg=anti_config) anti_outlier.process() calibrator = Calibrator(model, quant_config, calib_data=dataset_calib, disable_level='L0') calibrator.run(int_infer=False) calibrator.save(qaunt_weight_save_path)
父主题: 大模型量化接口