utils.py 958 B

12345678910111213141516171819202122232425262728293031
  1. '''Copyright The Microsoft DeepSpeed Team'''
  2. import os
  3. from .constants import (MODEL_FILE_PREFIX,
  4. MODEL_FILE_SUFFIX,
  5. OPTIM_FILE_SUFFIX,
  6. ZERO_FILE_PREFIX)
  7. def get_model_ckpt_name_for_rank(base_folder, mp_rank_str):
  8. ckpt_name = os.path.join(
  9. base_folder,
  10. MODEL_FILE_PREFIX + mp_rank_str + MODEL_FILE_SUFFIX,
  11. )
  12. return ckpt_name
  13. def get_zero_ckpt_name_for_rank(base_folder, dp_rank, mp_rank):
  14. zero_prefix = f'{ZERO_FILE_PREFIX}{dp_rank}'
  15. mp_rank_string = f'_{MODEL_FILE_PREFIX}{mp_rank:02d}'
  16. zero_ckpt_name = os.path.join(
  17. base_folder,
  18. zero_prefix + mp_rank_string + OPTIM_FILE_SUFFIX,
  19. )
  20. return zero_ckpt_name
  21. def get_layer_ckpt_name_for_rank(base_folder, layer_id, tp_rank):
  22. ckpt_file = f'{layer_id}-model_{tp_rank:02d}{MODEL_FILE_SUFFIX}'
  23. ckpt_path = os.path.join(base_folder, ckpt_file)
  24. return ckpt_path