Closed macheng6 closed 4 months ago
zero3 因为模型进行切片了,_model_states.pt 就是空的,因为 model 状态字典可以从xx_optim_states恢复出来。实际上 deepspeed 就是这么做的
@macheng6 如果想直接保存 hf 格式的权重,可以尝试使用 HFCheckpointHook 。
用法:
在 config 文件中增加
+ from xtuner.engine.hooks import HFCheckpointHook
custom_hooks = [
+ dict(type=HFCheckpointHook),
]
训练结束后,hf 格式的模型会自动保存在 work_dir/timestamp/hf_model
下
XTuner 中对应功能的 pr:https://github.com/InternLM/xtuner/pull/621
设置每50个step保存一次模型,但是貌似只保存了优化器的状态,每个xx_optim_states.pt文件是16G,yy_model_states.pt文件只有404k,请问是什么原因?以及tokenizer.json、config.json等文件怎么设置保存?
bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt bf16_zero_pp_rank_10_mp_rank_00_optim_states.pt bf16_zero_pp_rank_11_mp_rank_00_optim_states.pt bf16_zero_pp_rank_12_mp_rank_00_optim_states.pt bf16_zero_pp_rank_13_mp_rank_00_optim_states.pt bf16_zero_pp_rank_14_mp_rank_00_optim_states.pt bf16_zero_pp_rank_15_mp_rank_00_optim_states.pt bf16_zero_pp_rank_16_mp_rank_00_optim_states.pt bf16_zero_pp_rank_17_mp_rank_00_optim_states.pt bf16_zero_pp_rank_18_mp_rank_00_optim_states.pt bf16_zero_pp_rank_19_mp_rank_00_optim_states.pt bf16_zero_pp_rank_1_mp_rank_00_optim_states.pt bf16_zero_pp_rank_20_mp_rank_00_optim_states.pt bf16_zero_pp_rank_21_mp_rank_00_optim_states.pt bf16_zero_pp_rank_22_mp_rank_00_optim_states.pt bf16_zero_pp_rank_23_mp_rank_00_optim_states.pt bf16_zero_pp_rank_24_mp_rank_00_optim_states.pt bf16_zero_pp_rank_25_mp_rank_00_optim_states.pt bf16_zero_pp_rank_26_mp_rank_00_optim_states.pt bf16_zero_pp_rank_27_mp_rank_00_optim_states.pt bf16_zero_pp_rank_28_mp_rank_00_optim_states.pt bf16_zero_pp_rank_29_mp_rank_00_optim_states.pt bf16_zero_pp_rank_2_mp_rank_00_optim_states.pt bf16_zero_pp_rank_30_mp_rank_00_optim_states.pt bf16_zero_pp_rank_31_mp_rank_00_optim_states.pt bf16_zero_pp_rank_3_mp_rank_00_optim_states.pt bf16_zero_pp_rank_4_mp_rank_00_optim_states.pt bf16_zero_pp_rank_5_mp_rank_00_optim_states.pt bf16_zero_pp_rank_6_mp_rank_00_optim_states.pt bf16_zero_pp_rank_7_mp_rank_00_optim_states.pt bf16_zero_pp_rank_8_mp_rank_00_optim_states.pt bf16_zero_pp_rank_9_mp_rank_00_optim_states.pt zero_pp_rank_0_mp_rank_00_model_states.pt zero_pp_rank_10_mp_rank_00_model_states.pt zero_pp_rank_11_mp_rank_00_model_states.pt zero_pp_rank_12_mp_rank_00_model_states.pt zero_pp_rank_13_mp_rank_00_model_states.pt zero_pp_rank_14_mp_rank_00_model_states.pt zero_pp_rank_15_mp_rank_00_model_states.pt zero_pp_rank_16_mp_rank_00_model_states.pt zero_pp_rank_17_mp_rank_00_model_states.pt zero_pp_rank_18_mp_rank_00_model_states.pt zero_pp_rank_19_mp_rank_00_model_states.pt zero_pp_rank_1_mp_rank_00_model_states.pt zero_pp_rank_20_mp_rank_00_model_states.pt zero_pp_rank_21_mp_rank_00_model_states.pt zero_pp_rank_22_mp_rank_00_model_states.pt zero_pp_rank_23_mp_rank_00_model_states.pt zero_pp_rank_24_mp_rank_00_model_states.pt zero_pp_rank_25_mp_rank_00_model_states.pt zero_pp_rank_26_mp_rank_00_model_states.pt zero_pp_rank_27_mp_rank_00_model_states.pt zero_pp_rank_28_mp_rank_00_model_states.pt zero_pp_rank_29_mp_rank_00_model_states.pt zero_pp_rank_2_mp_rank_00_model_states.pt zero_pp_rank_30_mp_rank_00_model_states.pt zero_pp_rank_31_mp_rank_00_model_states.pt zero_pp_rank_3_mp_rank_00_model_states.pt zero_pp_rank_4_mp_rank_00_model_states.pt zero_pp_rank_5_mp_rank_00_model_states.pt zero_pp_rank_6_mp_rank_00_model_states.pt zero_pp_rank_7_mp_rank_00_model_states.pt zero_pp_rank_8_mp_rank_00_model_states.pt zero_pp_rank_9_mp_rank_00_model_states.pt