文档
注册

AntiOutlierConfig

功能说明

构建用于异常值抑制的config。

函数原型

AntiOutlierConfig(w_bit=8, a_bit=8, w_signed=True, a_signed=False, w_sym=True, a_sym=False, alpha=0.5, os_k=100, ch_align=True, w_adjust=True, anti_method="m1", dev_type="cpu", dev_id=0)

参数说明

参数名

输入/返回值

含义

使用限制

w_bit

输入

权重量化bit。

可选。

数据类型:int。

默认为8,可选值为[4,8,16]。

a_bit

输入

激活层量化bit。

可选。

数据类型:int。

默认为8,可选值为[8,16]。

w_signed

输入

是否对权重进行符号量化。

可选。

数据类型:bool。

默认为True。

a_signed

输入

是否对激活值进行符号量化。

可选。

数据类型:bool。

默认为False。

w_sym

输入

权重是否对称量化。

可选。

数据类型:bool。

默认为True。

a_sym

输入

激活值是否对称量化。

可选。

数据类型:bool。

默认为False。

alpha

输入

m1方法异常值抑制程度。

可选。

数据类型:float。

取值范围[0,1],默认值为0.5。

os_k

输入

m2方法抑制迭代次数。

可选。

数据类型:int。

默认值:100。

ch_align

输入

是否使用通道对齐方式。

可选。

数据类型:bool。

默认为True。

w_adjust

输入

是否调整权重。

可选。

数据类型:bool。

默认为True。

anti_method

输入

异常值抑制anti_outlier使用方法。

数据类型:string

可选值['m1', 'm2']。

  • 'm1':异常值抑制方式1。
  • 'm2':异常值抑制方式2,推荐使用。

dev_type

输入

device类型。

可选。

数据类型:object。

可选值:['cpu', 'cuda', 'npu'],默认为'cpu',不支持用户修改。

dev_id

输入

DEVICE ID。

可选。

数据类型:int。

取值范围[0,8],默认值为0。

调用示例

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, model_type='Llama')
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)
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词