nemo_automodel.components.models.qwen3_next.state_dict_adapter
nemo_automodel.components.models.qwen3_next.state_dict_adapter
Module Contents
Classes
Data
API
Bases: MoESplitExpertsStateDictMixin, StateDictAdapter
Converts between HF Qwen3Next checkpoints and our grouped-experts native format.
Qwen3Next HF experts use keys: model.layers.{L}.mlp.experts.{E}.gate_proj.weight model.layers.{L}.mlp.experts.{E}.up_proj.weight model.layers.{L}.mlp.experts.{E}.down_proj.weight
Our native format groups them into: model.layers.{L}.mlp.experts.gate_and_up_projs # [n_experts, dim, 2*moe_inter_dim] model.layers.{L}.mlp.experts.down_projs # [n_experts, moe_inter_dim, dim]
Qwen3Next HF shared experts use keys: model.layers.{L}.mlp.shared_expert.gate_proj.weight model.layers.{L}.mlp.shared_expert.up_proj.weight model.layers.{L}.mlp.shared_expert.down_proj.weight
Our native format uses: model.layers.{L}.mlp.shared_experts.gate_proj.weight # Note: plural “shared_experts” model.layers.{L}.mlp.shared_experts.up_proj.weight model.layers.{L}.mlp.shared_experts.down_proj.weight
Apply key substring mappings to state dict keys.
Parameters:
State dict to apply mappings to
Dictionary mapping substrings to replace them with
Returns: dict[str, Any]
New state dict with mapped keys
Convert a single tensor from native format to HuggingFace format.
Parameters:
Fully qualified name of the tensor in native format
The tensor to convert
Additional arguments for conversion
Returns: list[tuple[str, Any]]
List of (fqn, tensor) tuples in HuggingFace format
Return HF export dtype overrides for intrinsically-fp32 GDN tensors.