重要提示

您正在查看 NeMo 2.0 文档。此版本为 API 和新库 NeMo Run 引入了重大更改。我们目前正在将所有功能从 NeMo 1.0 移植到 2.0。有关先前版本或 2.0 中尚不可用的功能的文档,请参阅 NeMo 24.07 文档

重置学习率#

重置学习率功能提供了在执行持续预训练时,将现有检查点的学习率重置为其初始值(0 或 optim.min_lr,具体取决于预热步骤)的能力。

参数#

  • reset_lr (布尔值): 启用将学习率重置为初始值。此功能仅在使用分布式优化器和 megatron_amp_O2 时受支持。

  • reset_lr_steps (布尔值): 启用通过减去检查点已完成的步数来调整学习率的 max_steps 和 decay_steps。

用例#

1. reset_lr=True, reset_lr_steps=False 当在不同的数据集上“从头开始”预训练现有检查点时。学习率将重置为其初始值。这允许模型以与从头开始相同的学习率动态在新数据集上开始训练。

2. reset_lr=True, reset_lr_steps=True 当使用相同配置从现有检查点继续训练时。学习率将重置为其初始值,并且学习率计划的 max_stepsdecay_steps 将通过减去检查点已完成的步数来重新计算。具体来说

  • max_steps 将重新计算为 max_steps -= completed_steps

  • decay_steps 将重新计算为 decay_steps -= completed_steps

这确保学习率在训练结束时达到 min_lr 值,而无需更改 trainer.max_steps