megatron_checkpoint_manager.py — Megatron 检查点管理¶
文件路径: verl/utils/checkpoint/megatron_checkpoint_manager.py
文件概述¶
Megatron 训练策略下的检查点管理器。利用 Megatron Core 的分布式检查点 API 进行高效的并行保存和加载。
核心功能¶
保存¶
def save(self, step):
# 使用 megatron.core.dist_checkpointing 保存
# 支持异步保存(训练不停等保存完成)
# 支持完全并行保存(所有 rank 同时写入)
加载¶
def load(self, step=None):
# 使用 megatron.core.dist_checkpointing 加载
# 支持完全并行加载
# 处理 TP/PP 并行度变化时的重新分片
Megatron 检查点的特殊性¶
- 使用
FullyParallelSaveStrategyWrapper实现数据并行组内的完全并行保存 - 使用
FullyParallelLoadStrategyWrapper实现并行加载 - 支持版本兼容(mcore >= 0.14.0 支持 content_metadata)
与其他模块的关系¶
- 继承自
checkpoint_manager.py - 依赖
megatron/dist_checkpointing.py进行底层操作 - 被 Megatron worker 在训练中调用
小结¶
利用 Megatron Core 的分布式检查点能力,实现高效的大模型检查点管理。