优化文本生成模型学习过程的超参数 - 亚马逊 SageMaker AI

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

优化文本生成模型学习过程的超参数

您可以通过调整以下超参数的任意组合来优化基础模型的学习过程。这些参数适用于所有模型。

  • 历时计数epochCount 超参数决定了模型对整个训练数据集的遍历次数。它影响训练时间,如果设置得当,可以防止过度拟合。大量的历时可能会增加微调工作的总体运行时间。我们建议在 TextGenerationJobConfigCompletionCriteria 内设置较大的 MaxAutoMLJobRuntimeInSeconds,以避免微调作业过早停止。

  • 批量大小batchSize 超参数定义了每次迭代训练中使用的数据样本数量。它会影响收敛速度和内存使用量。随着批量规模的扩大,内存不足(OOM)错误的风险也会增加,这可能会在 Autopilot 中以内部服务器错误的形式出现。要检查是否存在此类错误,请检查 Autopilot 作业启动的训练作业的 /aws/sagemaker/TrainingJobs 日志组。您可以 CloudWatch 从 AWS 管理控制台中访问这些登录信息。选择日志,然后选择 /aws/sagemaker/TrainingJobs 日志组。要纠正 OOM 错误,请缩小批量。

    我们建议从批量大小为 1 开始,然后逐步增加,直到出现内存不足的错误。作为参考,10 个纪元通常需要 72 小时才能完成。

  • 学习率learningRate 超参数控制模型参数在训练过程中的更新步长。它决定了模型参数在训练过程中更新的快慢。高学习率意味着参数更新的步长较大,这可以加快收敛速度,但也可能导致优化过程偏离最优解,变得不稳定。较低的学习率意味着参数更新的步长较小,这可能导致更稳定的收敛,但代价是学习速度较慢。

  • 学习率预热步数learningRateWarmupSteps 超参数指定了学习率在达到目标或最大值之前逐渐增加的训练步数。这有助于模型更有效地收敛,避免因初始学习率过高而出现的发散或收敛缓慢等问题。

要了解如何在 Autopilot 中为微调实验调整超参数并发现其可能的值,请参阅 如何设置超参数以优化模型的学习过程