Pruning configuration#

Quark Pruning Config API for PyTorch

class quark.torch.pruning.config.ConfigBase[source]#
class quark.torch.pruning.config.Config(algo_config: AlgoConfig | None = None, blockwise_tuning_config: AlgoConfig | None = None, log_severity_level: int | None = 1)[source]#

A class that encapsulates comprehensive pruning configurations for a machine learning model, allowing for detailed and hierarchical control over pruning parameters across different model components.

Parameters:
  • algo_config (Optional[AlgoConfig]) – Optional configuration for the pruning algorithm, such as OSSCAR. After this process, the params will be reduced. Default is None.

  • log_severity_level (Optional[int]) – 0:DEBUG, 1:INFO, 2:WARNING. 3:ERROR, 4:CRITICAL/FATAL. Default is 1.

class quark.torch.pruning.config.AlgoConfigBase[source]#
class quark.torch.pruning.config.AlgoConfig[source]#
class quark.torch.pruning.config.OSSCARConfig(name: 'str' = 'osscar', damp_percent: 'float' = 0.01, true_sequential: 'bool' = True, inside_layer_modules: 'List[str]' = '', mlp_pruning_modules: 'List[str]' = '', mlp_scaling_layers: 'Dict[str, Optional[str]]' = '', mlp_pruning_ratio: 'float' = 0.1, mlp_intermediate_size_name: 'str' = '', model_decoder_layers: 'str' = '')[source]#
class quark.torch.pruning.config.BlockwiseTuningConfig(name: 'str' = 'blockwise_tuning', epochs: 'int' = 5, weight_lr: 'float' = 0.0001, weight_decay: 'float' = 0.0, min_lr_factor: 'float' = 20.0, max_grad_norm: 'float' = 0.3, model_decoder_layers: 'str' = '', trainable_modules: 'List[str]' = '')[source]#