@@ -3208,6 +3208,16 @@ def save_pretrained(
32083208 model_to_save = unwrap_model (self )
32093209
32103210 if save_checkpoint_format == "flex_checkpoint" :
3211+ # autoregressive mtp training
3212+ autoregressive_mtp_training = model_to_save .config .mtp_num_layers > 0
3213+ if autoregressive_mtp_training :
3214+ tmp = model_to_save .config .mtp_num_layers
3215+ model_to_save .config .mtp_num_layers = model_to_save .config .num_nextn_predict_layers
3216+ model_to_save .config .num_nextn_predict_layers = tmp
3217+
3218+ logger .info (
3219+ f"MTP args changing for autoregressive mtp training checkpoint saving, mtp_num_layers: { model_to_save .config .mtp_num_layers } , num_nextn_predict_layers: { model_to_save .config .num_nextn_predict_layers } !!"
3220+ )
32113221 if not hasattr (self , "_gen_inv_aoa_config" ):
32123222 if hasattr (self , "_gen_aoa_config" ):
32133223 aoa_config = self ._gen_aoa_config (model_to_save .config )
@@ -3253,6 +3263,15 @@ def save_pretrained(
32533263 config_to_save .save_pretrained (save_directory )
32543264 if self .can_generate ():
32553265 model_to_save .generation_config .save_pretrained (save_directory )
3266+
3267+ if autoregressive_mtp_training :
3268+ tmp = model_to_save .config .mtp_num_layers
3269+ model_to_save .config .mtp_num_layers = model_to_save .config .num_nextn_predict_layers
3270+ model_to_save .config .num_nextn_predict_layers = tmp
3271+
3272+ logger .info (
3273+ f"MTP args changing for autoregressive mtp training checkpoint saving RECOVER, mtp_num_layers: { model_to_save .config .mtp_num_layers } , num_nextn_predict_layers: { model_to_save .config .num_nextn_predict_layers } !!"
3274+ )
32563275 return
32573276
32583277 # save the string version of dtype to the config, e.g. convert paddle.float32 => "float32"
0 commit comments