bridge.models.bagel.checkpoint#
Strict Bridge adapter from a native BAGEL checkpoint to MCore.
Native BAGEL stores separate Q/K/V and gate/up projections. MCore stores those projections in group-interleaved QKV and concatenated GLU tensors, respectively. This module owns that representation change and verifies it by applying the inverse mapping to every fused destination tensor after it is copied.
The adapter intentionally supports only an unsharded TP=1, PP=1, non-VP model. Loading a full native tensor into a partial MCore model would otherwise appear to work until a missing or incorrectly sharded parameter is used.
Module Contents#
Classes#
Counts proving complete source consumption and target verification. |
|
Track exact, single-use consumption of a safetensors file. |
|
BAGEL language configuration fields required by the remapper. |
Functions#
Convert native [Q, K, V] tensors to MCore’s group-interleaved layout. |
|
Invert :func: |
|
Convert native gate/up projections to MCore’s [gate; up] FC1. |
|
Invert :func: |
|
Expose the FP32 source through Megatron-FSDP’s main-weight init hook. |
|
Require every semantic MCore parameter and position buffer exactly once. |
|
Initialize an unsharded MCore BAGEL model from native BAGEL safetensors. |
Data#
API#
- bridge.models.bagel.checkpoint._FORMAT_VERSION#
1
- bridge.models.bagel.checkpoint._HIGH_PRECISION_VALUE_ATTR#
‘_bagel_native_high_precision_init_val’
- bridge.models.bagel.checkpoint._ACTIVE_TARGETS: contextvars.ContextVar[dict[int, str] | None]#
‘ContextVar(…)’
- bridge.models.bagel.checkpoint._AUXILIARY_KEYS#
‘frozenset(…)’
- bridge.models.bagel.checkpoint._LANGUAGE_GLOBAL_KEYS#
‘frozenset(…)’
- bridge.models.bagel.checkpoint._LANGUAGE_LAYER_SUFFIXES#
(‘input_layernorm.weight’, ‘input_layernorm_moe_gen.weight’, ‘post_attention_layernorm.weight’, ‘pos…
- class bridge.models.bagel.checkpoint.NativeCheckpointLoadReport#
Counts proving complete source consumption and target verification.
- source_tensors_consumed: int#
None
- target_tensors_verified: int#
None
- fp32_main_tensors_preserved: int#
None
- class bridge.models.bagel.checkpoint._TensorSource(checkpoint)#
Track exact, single-use consumption of a safetensors file.
Initialization
- take(key: str) torch.Tensor#
- require_exact_keys(expected: set[str]) None#
- assert_all_consumed() None#
- property consumed_count: int#
- class bridge.models.bagel.checkpoint._LLMConfig#
Bases:
typing.ProtocolBAGEL language configuration fields required by the remapper.
None
None
- num_attention_heads: int#
None
- num_key_value_heads: int#
None
- head_dim: int | None#
None
- bridge.models.bagel.checkpoint._fuse_qkv(
- query: torch.Tensor,
- key: torch.Tensor,
- value: torch.Tensor,
- *,
- num_attention_heads: int,
- num_query_groups: int,
- head_dim: int,
Convert native [Q, K, V] tensors to MCore’s group-interleaved layout.
- bridge.models.bagel.checkpoint._unfuse_qkv(
- fused: torch.Tensor,
- *,
- num_attention_heads: int,
- num_query_groups: int,
- head_dim: int,
Invert :func:
_fuse_qkvwithout relying on the source tensors.
- bridge.models.bagel.checkpoint._fuse_glu(gate: torch.Tensor, up: torch.Tensor) torch.Tensor#
Convert native gate/up projections to MCore’s [gate; up] FC1.
- bridge.models.bagel.checkpoint._unfuse_glu(
- fused: torch.Tensor,
- *,
- ffn_hidden_size: int,
Invert :func:
_fuse_gluinto native gate and up projections.
- bridge.models.bagel.checkpoint._reference_on_destination(
- source: torch.Tensor,
- destination: torch.Tensor,
- bridge.models.bagel.checkpoint._assert_equal_to_source(
- destination: torch.Tensor,
- source: torch.Tensor,
- name: str,
- bridge.models.bagel.checkpoint._get_high_precision_init_val(
- parameter: torch.nn.Parameter,
- bridge.models.bagel.checkpoint._clear_high_precision_init_val(parameter: torch.nn.Parameter) None#
- bridge.models.bagel.checkpoint._preserve_fp32_main_init(
- destination: torch.Tensor,
- source: torch.Tensor,
- name: str,
Expose the FP32 source through Megatron-FSDP’s main-weight init hook.
- bridge.models.bagel.checkpoint._copy_parameter(
- destination: torch.Tensor,
- source: torch.Tensor,
- name: str,
- bridge.models.bagel.checkpoint._copy_linear(
- reader: bridge.models.bagel.checkpoint._TensorSource,
- module,
- prefix: str,
- bridge.models.bagel.checkpoint._require_bias_free(module, name: str) None#
- bridge.models.bagel.checkpoint._pre_mlp_norm_weight(layer, branch_suffix: str) torch.Tensor#
- bridge.models.bagel.checkpoint._copy_attention_branch(
- reader: bridge.models.bagel.checkpoint._TensorSource,
- mcore_attention,
- source_layer_prefix: str,
- *,
- source_suffix: str,
- destination_suffix: str,
- num_attention_heads: int,
- num_query_groups: int,
- head_dim: int,
- bridge.models.bagel.checkpoint._copy_mlp_branch(
- reader: bridge.models.bagel.checkpoint._TensorSource,
- mcore_mlp,
- source_prefix: str,
- bridge.models.bagel.checkpoint._validate_unsharded_model(language_model) None#
- bridge.models.bagel.checkpoint._language_keys(num_layers: int) set[str]#
- bridge.models.bagel.checkpoint._metadata_int(metadata: Mapping[str, str], key: str) int#
- bridge.models.bagel.checkpoint._validate_metadata(
- metadata: Mapping[str, str] | None,
- *,
- expected_model_seed: int,
- expected_world_size: int,
- bridge.models.bagel.checkpoint._initialize_language(
- reader: bridge.models.bagel.checkpoint._TensorSource,
- language_model,
- llm_config: bridge.models.bagel.checkpoint._LLMConfig,
- bridge.models.bagel.checkpoint._initialize_vision(
- reader: bridge.models.bagel.checkpoint._TensorSource,
- mimo_model,
- bridge.models.bagel.checkpoint._initialize_auxiliary(
- reader: bridge.models.bagel.checkpoint._TensorSource,
- mimo_model,
- bridge.models.bagel.checkpoint._assert_exact_target_coverage(
- mimo_model: torch.nn.Module,
- initialized_targets: Mapping[int, str],
- *,
- require_fp32_main_values: bool,
Require every semantic MCore parameter and position buffer exactly once.
- bridge.models.bagel.checkpoint.initialize_bagel_from_native_checkpoint(
- mimo_model: torch.nn.Module,
- checkpoint_path: str,
- *,
- expected_model_seed: int,
- expected_world_size: int,
- validate_metadata: bool = True,
- llm_config: bridge.models.bagel.checkpoint._LLMConfig,
Initialize an unsharded MCore BAGEL model from native BAGEL safetensors.
The checkpoint must contain the complete native
Bagel.state_dict(). Exported initialization checkpoints also validateformat_version,model_seed, andworld_sizemetadata. Official BAGEL EMA releases omit that metadata and may setvalidate_metadata=False. Every tensor must map exactly once; missing and additional tensors are rejected before any parameter is modified.