moe_mamba_pruning_mixin#

Classes

MoELayerDescriptor

Descriptor for MoE activation scoring targets.

MoEPruningMixIn

MambaLayerDescriptor

MambaPruningMixIn

class MambaLayerDescriptor#

Bases: LayerDescriptor

__init__(target_name='mixer.in_proj', mamba_prefix_name='backbone.layers.{layer_idx}.mixer', in_proj_name='in_proj', out_proj_name='out_proj')#
Parameters:
  • target_name (str)

  • mamba_prefix_name (str)

  • in_proj_name (str)

  • out_proj_name (str)

Return type:

None

canonical_score_key(method, block_idx, fallback)#
Parameters:
  • method (str)

  • block_idx (int | None)

  • fallback (str)

Return type:

str

in_proj_name: str = 'in_proj'#
mamba_prefix(layer_idx)#
Parameters:

layer_idx (int)

Return type:

str

mamba_prefix_name: str = 'backbone.layers.{layer_idx}.mixer'#
module_name_regex()#
Return type:

str

out_proj_name: str = 'out_proj'#
target_name: str = 'mixer.in_proj'#
class MambaPruningMixIn#

Bases: PruningMixIn

__init__(layer_descriptor)#
Parameters:

layer_descriptor (MambaLayerDescriptor)

supported_hooks()#
Return type:

List[Type[ForwardHook]]

class MoELayerDescriptor#

Bases: LayerDescriptor

Descriptor for MoE activation scoring targets.

target_name can be a concrete suffix or a regex: pattern. The canonical key helpers always return checkpoint/AnyModel names under moe_prefix_name, while the hook target can be a native AutoModel module path.

__init__(target_name='mixer', moe_prefix_name='backbone.layers.{layer_idx}.mixer', gate_name='gate', experts_name='experts', shared_experts_name='shared_experts', latent_fc1_name='fc1_latent_proj', latent_fc2_name='fc2_latent_proj', require_attrs=(), expert_down_proj_regex='\\.experts\\.(\\d+)\\.down_proj$')#
Parameters:
  • target_name (str)

  • moe_prefix_name (str)

  • gate_name (str)

  • experts_name (str)

  • shared_experts_name (str)

  • latent_fc1_name (str)

  • latent_fc2_name (str)

  • require_attrs (tuple[str, ...])

  • expert_down_proj_regex (str)

Return type:

None

canonical_score_key(method, block_idx, fallback)#
Parameters:
  • method (str)

  • block_idx (int | None)

  • fallback (str)

Return type:

str

expert_down_proj_regex: str = '\\.experts\\.(\\d+)\\.down_proj$'#
expert_idx_from_module_name(module_name)#
Parameters:

module_name (str)

Return type:

int | None

experts_name: str = 'experts'#
experts_prefix(layer_idx)#
Parameters:

layer_idx (int)

Return type:

str

gate_name: str = 'gate'#
gate_prefix(layer_idx)#
Parameters:

layer_idx (int)

Return type:

str

get_modules_names_to_hook(model)#
Return type:

List[Tuple[int, str]]

latent_fc1_name: str = 'fc1_latent_proj'#
latent_fc2_name: str = 'fc2_latent_proj'#
module_name_regex()#
Return type:

str

moe_prefix(layer_idx)#
Parameters:

layer_idx (int)

Return type:

str

moe_prefix_name: str = 'backbone.layers.{layer_idx}.mixer'#
require_attrs: tuple[str, ...] = ()#
shared_experts_name: str = 'shared_experts'#
shared_experts_prefix(layer_idx)#
Parameters:

layer_idx (int)

Return type:

str

target_name: str = 'mixer'#
class MoEPruningMixIn#

Bases: PruningMixIn

__init__(layer_descriptor)#
Parameters:

layer_descriptor (MoELayerDescriptor)

supported_hooks()#
Return type:

List[Type[ForwardHook]]