Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 21 additions & 9 deletions src/mcore_bridge/model/gpts/nemotron_h.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@
import torch
from megatron.core.extensions.transformer_engine import TEColumnParallelLinear, TENorm, TERowParallelLinear
from megatron.core.fusions.fused_bias_dropout import get_bias_dropout_add
from megatron.core.models.hybrid.hybrid_block import HybridStack, HybridStackSubmodules
from megatron.core.models.hybrid.hybrid_layer_specs import hybrid_stack_spec
from megatron.core.ssm.mamba_layer import MambaLayer, MambaLayerSubmodules
from megatron.core.ssm.mamba_mixer import MambaMixer, MambaMixerSubmodules
from megatron.core.transformer.spec_utils import ModuleSpec
Expand All @@ -21,9 +19,21 @@
from mcore_bridge.utils import get_logger

from ..constant import ModelType
from ..hybrid_model import HybridModel
from ..register import ModelLoader, ModelMeta, register_model

try:
from megatron.core.models.hybrid.hybrid_block import HybridStack, HybridStackSubmodules
from megatron.core.models.hybrid.hybrid_layer_specs import hybrid_stack_spec

from ..hybrid_model import HybridModel

_HYBRID_MODEL_AVAILABLE = True
except ImportError as error:
if not (error.name or '').startswith('megatron.core.models.hybrid'):
raise
HybridModel = HybridStack = HybridStackSubmodules = hybrid_stack_spec = None
_HYBRID_MODEL_AVAILABLE = False

logger = get_logger()


Expand Down Expand Up @@ -410,9 +420,11 @@ def build_model(self, pre_process=True, post_process=True, vp_stage: Optional[in
return model


register_model(ModelMeta(
ModelType.nemotron_h,
['nemotron_h'],
bridge_cls=NemotronHBridge,
loader=NemotronHLoader,
))
if _HYBRID_MODEL_AVAILABLE:
register_model(
ModelMeta(
ModelType.nemotron_h,
['nemotron_h'],
bridge_cls=NemotronHBridge,
loader=NemotronHLoader,
))
Loading