Skip to content

fix(debug): auto-append rollout_id/rank in save_debug_train_data path template#1922

Open
wlf-darkmatter wants to merge 3 commits into
THUDM:mainfrom
wlf-darkmatter:main
Open

fix(debug): auto-append rollout_id/rank in save_debug_train_data path template#1922
wlf-darkmatter wants to merge 3 commits into
THUDM:mainfrom
wlf-darkmatter:main

Conversation

@wlf-darkmatter
Copy link
Copy Markdown

说明

使用 --save-debug-train-data 保存训练调试数据时,若路径模板未包含 {rollout_id}{rank},多次保存会覆盖同一文件,导致调试数据丢失。本 PR 在保存前自动补全缺失占位符并打出 warning,同时抽出 resolve_debug_train_data_path 便于维护与测试。

常见配置如 {train_data_dir}/{rollout_id}.pt 只区分 rollout,未区分分布式 rank;在 Megatron / 多 GPU 训练下,多个进程会写入同一路径。此前 str.format(rollout_id=..., rank=...) 对未出现的占位符不起作用,问题不易察觉。

更改内容

  1. slime/utils/train_dump_utils.py
  • 新增 resolve_debug_train_data_path():检查模板是否含 {rollout_id}、{rank},缺失则自动追加(有后缀则改文件名,目录路径则生成 debug_train_{rollout_id}_{rank}.pt)。
  • 精简 save_debug_train_data():早返回、统一日志风格。
    用 _REQUIRED_KEYS 集中管理必需占位符。
  1. slime/utils/arguments.py
  • 更新 --save-debug-train-data 的 help,说明占位符要求及自动补全行为。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant