Skip to content

Commit edb31e8

Browse files
committed
fix(model): honor Muse embedding sharing contract
Signed-off-by: yaoyu-33 <yaoyu.094@gmail.com>
1 parent 0576788 commit edb31e8

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

‎src/megatron/bridge/models/muse_glimmer/muse_glimmer_bridge.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ def hf_config_to_model_config(self, hf_config: PretrainedConfig) -> MuseGlimmerM
245245
should_pad_vocab=False,
246246
seq_length=int(text_config.max_position_embeddings),
247247
parallel_output=True,
248-
share_embeddings_and_output_weights=bool(text_config.tie_word_embeddings),
248+
share_embeddings_and_output_weights=bool(hf_config.tie_word_embeddings),
249249
hybrid_layer_pattern="*" * int(text_config.num_hidden_layers),
250250
position_embedding_type="rope",
251251
rotary_percent=1.0,

‎tests/unit_tests/models/muse_glimmer/test_muse_glimmer.py‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ def _tiny_hf_config() -> MuseGlimmerConfig:
8585
projector_hidden_size=32,
8686
projector_hidden_act="gelu",
8787
architectures=["MuseGlimmerForConditionalGeneration"],
88+
tie_word_embeddings=False,
8889
torch_dtype=torch.bfloat16,
8990
)
9091

@@ -124,6 +125,17 @@ def test_config_conversion_uses_model_config_path_only() -> None:
124125
assert model_config.vision_config.spatial_merge_size == 2
125126

126127

128+
def test_config_conversion_uses_top_level_embedding_sharing_contract() -> None:
129+
"""The VLM config, not its nested text config, owns HF weight tying."""
130+
hf_config = _tiny_hf_config()
131+
hf_config.tie_word_embeddings = True
132+
hf_config.text_config.tie_word_embeddings = False
133+
134+
model_config = MuseGlimmerBridge().hf_config_to_model_config(hf_config)
135+
136+
assert model_config.share_embeddings_and_output_weights is True
137+
138+
127139
def test_vision_config_contributes_to_runtime_flops() -> None:
128140
model_config = MuseGlimmerBridge().hf_config_to_model_config(_tiny_hf_config())
129141
cfg = SimpleNamespace(model=model_config)

0 commit comments

Comments
 (0)