控制将 wandb 与 HuggingFace 结合使用时的记录频率和内容
Control the logging frequency and contents when using wandb with HuggingFace
我正在使用 wandb
和我的 HuggingFace 代码。我想记录损失和其他指标。现在我有两个问题
wandb
如何决定何时记录损失?这是TrainingArguments(...)
中的logging_steps
决定的吗?
training_args = TrainingArguments(output_dir="test",
learning_rate=lr,
num_train_epochs=n_epoch,
seed=seed,
per_device_train_batch_size=2,
per_device_eval_batch_size=2,
logging_strategy="steps",
logging_steps=5,
report_to="wandb")
- 如何确保
wandb
记录其他指标(例如,在每个时期后添加验证指标)?这是自动发生的吗?
正确,它是由 Trainer 的 on_log
事件决定的,您可以在 WandbCallback
中看到它 here
每次验证时,您的验证指标都应自动记录到 W&B。 Trainer 评估的频率取决于 evaluation_strategy
使用的设置(如果 evaluation_strategy == "steps"
则可能 eval_steps
)
我正在使用 wandb
和我的 HuggingFace 代码。我想记录损失和其他指标。现在我有两个问题
wandb
如何决定何时记录损失?这是TrainingArguments(...)
中的logging_steps
决定的吗?
training_args = TrainingArguments(output_dir="test",
learning_rate=lr,
num_train_epochs=n_epoch,
seed=seed,
per_device_train_batch_size=2,
per_device_eval_batch_size=2,
logging_strategy="steps",
logging_steps=5,
report_to="wandb")
- 如何确保
wandb
记录其他指标(例如,在每个时期后添加验证指标)?这是自动发生的吗?
正确,它是由 Trainer 的 on_log
事件决定的,您可以在 WandbCallback
每次验证时,您的验证指标都应自动记录到 W&B。 Trainer 评估的频率取决于 evaluation_strategy
使用的设置(如果 evaluation_strategy == "steps"
则可能 eval_steps
)