监控
Deepspeed的Monitor模块可以将训练细节记录到与Tensorboard兼容的文件、WandB或简单的CSV文件中。以下是DeepSpeed将自动记录的内容概述。
字段 |
描述 |
条件 |
|---|---|---|
训练/样本/训练损失 |
训练损失。 |
无 |
Train/Samples/lr |
训练期间的学习率。 |
无 |
Train/Samples/loss_scale |
使用fp16进行训练时的损失比例。 |
fp16 必须启用。 |
训练/特征值/模型块参数_{i} |
每个参数块的Eigen值。 |
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
彗星
- class deepspeed.monitor.config.CometConfig[来源]
设置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_intervas个样本后提交到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.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
- Control how the Comet experiment is started, 3 options are possible.:
“get”:继续记录到由experiment_key值标识的现有实验。
“create”:总是创建一个新的实验,适用于HPO扫描。
“get_or_create”(默认):如果需要,启动一个新的实验,或者将日志记录持久化到现有的实验中。