@@ -310,56 +310,6 @@ def _built_layer_count(checkpoint_path, model_cfg, *args):
310310
311311 assert built_layer_count == provider .num_layers
312312
313- @pytest .mark .parametrize (
314- ("mp_overrides" , "expect_saved_layout" ),
315- [
316- ({"pipeline_model_parallel_size" : 2 }, True ),
317- ({"pipeline_model_parallel_size" : 4 }, False ),
318- (
319- {
320- "pipeline_model_parallel_size" : 2 ,
321- "pipeline_model_parallel_layout" : None ,
322- },
323- False ,
324- ),
325- ],
326- ids = ["same-pp" , "changed-pp" , "explicit-clear" ],
327- )
328- @patch ("megatron.bridge.training.model_load_save.build_and_load_model" )
329- @patch ("megatron.bridge.training.model_load_save.load_model_config" )
330- def test_pipeline_override_does_not_reuse_incompatible_saved_layout (
331- self ,
332- mock_load_model_config ,
333- mock_build_and_load_model ,
334- mp_overrides ,
335- expect_saved_layout ,
336- ):
337- """A saved PP layout is retained only for a compatible requested topology."""
338- provider = GPTModelProvider (
339- num_layers = 4 ,
340- hidden_size = 16 ,
341- num_attention_heads = 2 ,
342- pipeline_model_parallel_size = 2 ,
343- pipeline_model_parallel_layout = [
344- ["embedding" , "decoder" , "decoder" ],
345- ["decoder" , "decoder" , "loss" ],
346- ],
347- )
348- mock_load_model_config .return_value = (provider , None )
349-
350- def _finalized_layout (checkpoint_path , model_cfg , * args ):
351- model_cfg .finalize ()
352- return model_cfg .pipeline_model_parallel_layout
353-
354- mock_build_and_load_model .side_effect = _finalized_layout
355-
356- result = load_megatron_model ("/ckpt" , mp_overrides = mp_overrides )
357-
358- if expect_saved_layout :
359- assert isinstance (result , PipelineParallelLayerLayout )
360- else :
361- assert result is None
362-
363313 @patch ("megatron.bridge.training.model_load_save.temporary_distributed_context" )
364314 @patch ("megatron.bridge.training.checkpointing._load_model_weights_from_checkpoint" )
365315 @patch ("megatron.bridge.utils.instantiate_utils.instantiate" )
0 commit comments