本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
优化文本生成模型学习过程的超参数
您可以通过调整以下超参数的任意组合来优化基础模型的学习过程。这些参数适用于所有模型。
-
历时计数:
epochCount
超参数决定了模型对整个训练数据集的遍历次数。它影响训练时间,如果设置得当,可以防止过度拟合。大量的历时可能会增加微调工作的总体运行时间。我们建议在TextGenerationJobConfig
的CompletionCriteria
内设置较大的MaxAutoMLJobRuntimeInSeconds
,以避免微调作业过早停止。 -
批量大小:
batchSize
超参数定义了每次迭代训练中使用的数据样本数量。它会影响收敛速度和内存使用量。随着批量规模的扩大,内存不足(OOM)错误的风险也会增加,这可能会在 Autopilot 中以内部服务器错误的形式出现。要检查是否存在此类错误,请检查 Autopilot 作业启动的训练作业的/aws/sagemaker/TrainingJobs
日志组。您可以 CloudWatch 从 AWS 管理控制台中访问这些登录信息。选择日志,然后选择/aws/sagemaker/TrainingJobs
日志组。要纠正 OOM 错误,请缩小批量。我们建议从批量大小为 1 开始,然后逐步增加,直到出现内存不足的错误。作为参考,10 个纪元通常需要 72 小时才能完成。
-
学习率:
learningRate
超参数控制模型参数在训练过程中的更新步长。它决定了模型参数在训练过程中更新的快慢。高学习率意味着参数更新的步长较大,这可以加快收敛速度,但也可能导致优化过程偏离最优解,变得不稳定。较低的学习率意味着参数更新的步长较小,这可能导致更稳定的收敛,但代价是学习速度较慢。 -
学习率预热步数:
learningRateWarmupSteps
超参数指定了学习率在达到目标或最大值之前逐渐增加的训练步数。这有助于模型更有效地收敛,避免因初始学习率过高而出现的发散或收敛缓慢等问题。
要了解如何在 Autopilot 中为微调实验调整超参数并发现其可能的值,请参阅 如何设置超参数以优化模型的学习过程。