监控
DeepSpeed 的监控模块可以将训练详情记录到兼容 Tensorboard 的文件、WandB 或简单的 CSV 文件中。以下是 DeepSpeed 将自动记录的数据概述。
字段 |
描述 |
条件 |
---|---|---|
Train/Samples/train_loss |
训练损失。 |
无 |
Train/Samples/lr |
训练期间的学习率。 |
无 |
Train/Samples/loss_scale |
使用 fp16 训练时的损失缩放。 |
必须启用 fp16。 |
Train/Eigenvalues/ModelBlockParam_{i} |
每个参数块的特征值。 |
必须启用 eigenvalue。 |
Train/Samples/elapsed_time_ms_forward |
前向传播的全局持续时间。 |
flops_profiler.enabled 或 wall_clock_breakdown。 |
Train/Samples/elapsed_time_ms_backward |
前向传播的全局持续时间。 |
flops_profiler.enabled 或 wall_clock_breakdown。 |
Train/Samples/elapsed_time_ms_backward_inner |
不包括梯度归约时间的后向时间。仅在梯度归约未重叠的情况下,如果重叠,则内部时间应与整个后向时间大致相同。 |
flops_profiler.enabled 或 wall_clock_breakdown。 |
Train/Samples/elapsed_time_ms_backward_allreduce |
Allreduce 操作的全局持续时间。 |
flops_profiler.enabled 或 wall_clock_breakdown。 |
Train/Samples/elapsed_time_ms_step |
优化器步进时间。 |
flops_profiler.enabled 或 wall_clock_breakdown。 |
TensorBoard
WandB
Comet
- class deepspeed.monitor.config.CometConfig[source]
设置 Comet 监控器的参数。Comet 使用实验对象来记录数据。https://www.comet.com/docs/v2/api-and-sdk/python-sdk/reference/Experiment/
- enabled: bool = False
是否启用 Comet 日志记录。需要安装 comet_ml 包。
- samples_log_interval: int = 100
指标将在每处理 samples_log_interval 个样本后提交到 Comet。
- project: Optional[str] = None
Comet 项目名称。可通过 .comet.config 文件或环境变量 COMET_PROJECT_NAME 设置。https://www.comet.com/docs/v2/guides/experiment-management/configure-sdk/#explore-comet-configuration-options
- workspace: Optional[str] = None
Comet 工作区名称。可通过 .comet.config 文件或环境变量 COMET_WORKSPACE 设置。https://www.comet.com/docs/v2/guides/experiment-management/configure-sdk/#explore-comet-configuration-options
- api_key: Optional[str] = None
Comet API 密钥。可通过 .comet.config 文件或环境变量 COMET_API_KEY 设置。https://www.comet.com/docs/v2/guides/experiment-management/configure-sdk/#explore-comet-configuration-options
- experiment_name: Optional[str] = None
用于日志记录的 Comet 实验名称。可通过 .comet.config 文件或环境变量 COMET_EXPERIMENT_NAME 设置。https://www.comet.com/docs/v2/guides/experiment-management/configure-sdk/#explore-comet-configuration-options
- experiment_key: Optional[str] = None
用于日志记录的 Comet 实验密钥。必须是长度在 32 到 50 个字符之间的字母数字字符串。可通过 .comet.config 文件或环境变量 COMET_EXPERIMENT_KEY 设置。https://www.comet.com/docs/v2/guides/experiment-management/configure-sdk/#explore-comet-configuration-options
- online: Optional[bool] = None
如果为 True,数据将记录到 Comet 服务器,否则将本地存储在离线实验中。默认为 True。
- mode: Optional[str] = None
- 控制 Comet 实验的启动方式,有 3 种选项:
“get”:继续记录到由 experiment_key 值标识的现有实验。
“create”:总是创建一个新实验,适用于 HPO 扫描。
“get_or_create”(默认):如果需要,启动一个新的实验,或者继续记录到现有实验。