@@ -133,12 +133,12 @@ def deepseek_v3_pretrain_256gpu_b200_fp8mx_config() -> ConfigContainer:
133133 cfg .model .pipeline_model_parallel_size = 8
134134 cfg .model .virtual_pipeline_model_parallel_size = 2
135135 cfg .model .context_parallel_size = 1
136- cfg .model .expert_model_parallel_size = 8
136+ cfg .model .expert_model_parallel_size = 32
137137 cfg .model .sequence_parallel = False
138138 cfg .train .global_batch_size = 4096
139139 cfg .train .micro_batch_size = 1
140140
141- cfg .model .recompute_modules = ["mla_up_proj" ]
141+ cfg .model .recompute_modules = ["mla_up_proj" , "mlp" ]
142142
143143 cfg .ddp .overlap_grad_reduce = True
144144 cfg .comm_overlap .overlap_grad_reduce = True
@@ -148,6 +148,8 @@ def deepseek_v3_pretrain_256gpu_b200_fp8mx_config() -> ConfigContainer:
148148 _benchmark_common (cfg )
149149 _enable_deepseek_transformer_engine_graph (cfg )
150150 _enable_ncclep (cfg )
151+ cfg .comm_overlap .delay_wgrad_compute = True
152+ cfg .comm_overlap .overlap_moe_expert_parallel_comm = True
151153 # Device-side expert token counts: the legacy grouped MLP path syncs tokens_per_expert to the
152154 # host every layer, which serializes the CPU behind the GPU when dispatch is fast.
153155 cfg .model .moe_use_grouped_tensor = True
@@ -181,7 +183,10 @@ def deepseek_v3_pretrain_256gpu_b200_nvfp4_config() -> ConfigContainer:
181183 cfg .mixed_precision .fp4_param_gather = False
182184 cfg .model .pipeline_model_parallel_size = 8
183185 cfg .model .virtual_pipeline_model_parallel_size = 2
186+ cfg .model .expert_model_parallel_size = 32
184187 cfg .model .recompute_modules = ["mla_up_proj" , "layernorm" , "moe_act" ]
188+ cfg .comm_overlap .delay_wgrad_compute = True
189+ cfg .comm_overlap .overlap_moe_expert_parallel_comm = True
185190 set_deepseek_v3_pipeline_model_parallel_layout (cfg .model )
186191 # Keep process settings next to the recipe so users can see the exact benchmark environment.
187192 cfg .env_vars = {
0 commit comments