llmcompressor.modifiers.pruning.wanda
模块
-
base– -
wanda_sparsify–
类
-
WandaPruningModifier–用于对模型应用一次性 WANDA 算法的修饰符
WandaPruningModifier
用于对模型应用一次性 WANDA 算法的修饰符,详见论文:https://arxiv.org/abs/2306.11695
示例 yaml
生命周期
- on_initialize
- register_hook(module, calibrate_module, "forward")
- run_sequential / run_basic
- make_empty_row_scalars
- accumulate_row_scalars
- on_sequential_batch_end
- sparsify_weight
- on_finalize
- remove_hooks()
参数
-
–稀疏度模型压缩到的稀疏度
-
–稀疏度配置文件可以设置为“owl”以使用离群值加权分层稀疏度(OWL),更多信息可在论文 https://arxiv.org/pdf/2310.05175 中找到
-
–掩码结构定义要应用的掩码结构的字符串。必须是 N:M 形式,其中 N、M 是定义自定义块形状的整数。默认为 0:0,表示非结构化掩码。
-
–owl_mOWL 中使用的离群值数量
-
–owl_lmbdaOWL 中使用的 Lambda 值
-
–sequential_targetsOBCQ 期间要压缩的层名称列表,或 'ALL' 表示压缩模型中的所有层。
targets的别名 -
–targetsOBCQ 期间要压缩的层名称列表,或 'ALL' 表示压缩模型中的所有层。
sequential_targets的别名 -
–ignore可选的模块类名称或子模块名称列表,即使它们与目标匹配,也不进行量化。默认为空列表。
方法
-
calibrate_module–用于累积模块输入行标量的校准钩子
-
compress_modules–稀疏化已校准的模块
calibrate_module
用于累积模块输入行标量的校准钩子
参数
-
(moduleModule) –正在校准的模块
-
(argsTuple[Tensor, ...]) –模块的输入,其中第一个元素是规范输入
-
(_输出Tensor) –未压缩的模块输出,未使用
源代码位于 llmcompressor/modifiers/pruning/wanda/base.py
compress_modules
稀疏化已校准的模块