@@ -142,6 +142,7 @@ def _moe_experts(matrix_3d_global, ortho_fn):
142142 moe_grouped_gemm = getattr (config , "moe_grouped_gemm" , False )
143143 use_gated_attn = getattr (config , "use_gated_attn" , False )
144144 csa_compress_ratios = getattr (config , "csa_compress_ratios" , None )
145+ num_empty_layers_add_in_head = getattr (config , "num_empty_layers_add_in_head" , 0 )
145146
146147 # Get Muon configuration from muon_configs
147148 muon_qkv_update_mode = muon_configs .get ("muon_qkv_update_mode" , "split_head" )
@@ -293,18 +294,25 @@ def _add_layer_slice_config(prefix, layer_idx):
293294
294295 # Main layers
295296 for layer_idx in range (num_hidden_layers ):
296- _add_layer_slice_config (f"model.layers.{ layer_idx } " , layer_idx )
297+ _add_layer_slice_config (
298+ f"model.layers.{ layer_idx + num_empty_layers_add_in_head } " ,
299+ layer_idx ,
300+ )
297301
298302 # MTP layers
299303 if config .mtp_num_layers > 0 :
300304 num_nextn_predict_layers = config .mtp_num_layers
301305 else :
302306 num_nextn_predict_layers = config .num_nextn_predict_layers if config .num_nextn_predict_layers else 0
303307 for layer_idx in range (num_nextn_predict_layers ):
304- _add_layer_slice_config (f"model.layers.{ num_hidden_layers + layer_idx } " , num_hidden_layers + layer_idx )
308+ _add_layer_slice_config (
309+ f"model.layers.{ num_hidden_layers + num_empty_layers_add_in_head + layer_idx } " ,
310+ num_hidden_layers + layer_idx ,
311+ )
305312 for layer_idx in range (num_nextn_predict_layers ):
306313 _add_layer_slice_config (
307- f"model.layers.{ num_hidden_layers + layer_idx } .transformer_layer" , num_hidden_layers + layer_idx
314+ f"model.layers.{ num_hidden_layers + num_empty_layers_add_in_head + layer_idx } .transformer_layer" ,
315+ num_hidden_layers + layer_idx ,
308316 )
309317
310318 return slice_config
0 commit comments