日志
日志保存
概述
MindSpore Transformers 会将模型的训练配置、训练步数、Loss、吞吐率等信息写入日志中,开发者可以自行指定日志存储的路径。
训练日志的目录结构
在训练过程中,MindSpore Transformers 默认会在输出目录(默认为 ./output
)中生成训练日志目录: ./log
。
而当使用 ms_run
方式启动训练任务时,将会默认同时在输出目录下额外生成日志目录: ./msrun_log
。
文件夹 |
描述 |
---|---|
log |
以 |
msrun_log |
以 |
以一个使用 msrun
当时启动的 8 卡任务为例,具体日志结构如下所示:
output
├── log
├── rank_0
├── info.log # 记录 0 号卡的训练信息
└── error.log # 记录 0 号卡的报错信息
├── ...
└── rank_7
├── info.log # 记录 8 号卡的训练信息
└── error.log # 记录 8 号卡的报错信息
└── msrun_log
├── scheduler.log # 记录各张卡之间的通信信息
├── worker_0.log # 记录 0 号卡的训练及信息
├── ...
└── worker_7.log # 记录 8 号卡的训练及信息
配置与使用
MindSpore Transformers 默认会在训练的 yaml 文件中指定文件输出路径为 ./output
。如果在 mindformers
路径下启动训练任务,则训练产生的日志输出将默认保存在 mindformers/output
下。
YAML 参数配置
如果需要重新指定输出的日志文件夹,可以在 yaml 中修改配置。
以 DeepSeek-V3
预训练 yaml 为例,可做如下配置:
output_dir: './output' # path to save logs/checkpoint/strategy
单卡任务指定输出目录
除了 yaml 文件配置来指定,MindSpore Transformers 还支持在 run_mindformer 一键启动脚本 中,使用 --output_dir
启动命令对日志输出路径做指定。
如果在这里配置了输出路径,将会覆盖 yaml 文件中的配置!
分布式任务指定输出目录
如果模型训练需要用到多台服务器,使用分布式任务拉起脚本 msrun_launcher.sh 来启动分布式训练任务。
在设置了共享存储的情况下,还可以在启动脚本中指定入参 LOG_DIR
来指定 Worker 以及 Scheduler 的日志输出路径,将所有机器节点的日志都输出到一个路径下,方便统一观察。