技术指南

学习率调度

学习率计划会在训练期间改变步长,而不是保持固定。

概述

学习率计划会在训练期间改变步长,而不是保持固定。正确执行通常是模型能否快速收敛并达到高精度的最大杠杆。

学习率调度是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。

深入探讨

学习率控制优化器每次更新采取的步长。太高,训练出现偏差;太低了,它会爬行或被卡住。调度会随着时间的推移调整该值。一个常见的现代方法是预热,然后衰减:从接近零开始,在最初的几百或几千步中逐渐增加(这么早,嘈杂的梯度不会炸毁不稳定的权重),然后逐渐减少。流行的衰减形状包括阶梯衰减(在设定的时期下降一个因子)、指数衰减和余弦退火,它平滑地遵循半余弦曲线下降到接近零。具有线性预热的余弦计划现在是训练大型语言模型的标准,而循环和单周期策略可以加速较小模型的训练。

技术洞察

预热很重要,因为像 Adam 这样的自适应优化器在第一步中的二阶矩估计不可靠;小的学习率可以避免在统计数据稳定之前权重不稳定。余弦退火设置 lr = lr_min + 0.5 * (lr_max - lr_min) * (1 + cos(pi * t / T)),在早期提供快速进展,并在接近结束时提供微小的微调步骤。一些时间表增加了热重启,将速率提高以避免急剧的最小值。

掌握学习率安排

学习率计划会在训练期间改变步长,而不是保持固定。正确执行通常是模型能否快速收敛并达到高精度的最大杠杆。学习率调度是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。为了建立深入的理解,请将学习率调度视为一种操作模型,而不是一个单一的功能:定义期望的结果,澄清假设,并将系统可以可靠地完成的任务与仍然需要专家判断的任务分开。

在实践中,使用学习率调度的强大团队可以根据可靠性和成本来优化架构、数据和基础设施选择。他们记录明确的成功标准,根据实际数据和工作流程进行测试,并根据观察到的失败模式而不是一次性基准测试胜利进行迭代。这就是理论理解转变为跨产品、政策和运营的持久能力的地方。

多年来,架构决策决定着性能和运营成本。与此同时,优化一个基准测试可以隐藏更广泛的系统弱点。最具弹性的方法是将实验速度与治理规则结合起来:运行试点、捕获证据、发布决策日志,并随着模型行为、用户期望和监管要求的发展不断更新保障措施。

战略影响

多年来,架构决策决定着性能和运营成本。

多年来,架构决策决定着性能和运营成本。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。

技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。

技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。

更好的工程选择可以减少生产中的可靠性事故。

更好的工程选择可以减少生产中的可靠性事故。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。

学习率调度的未来

随着训练运行变得越来越昂贵,时间表正在与优化器和批量大小共同设计,研究人员研究缩放法则以在训练前预测最佳峰值速率。无需提前选择衰减曲线的无计划优化器正在获得关注,而响应生命损失曲线的自适应、反馈驱动的计划可能会减少仍然主导大规模训练的试错。

现实世界的实施

预训练 Transformer 语言模型时使用线性预热加上余弦衰减。

在 ImageNet 上训练图像分类器时,步骤衰减会在第 30、60 和 90 时期将学习率降低 10 倍。

fast.ai 中的单周期策略可以在很少的 epoch 内训练模型达到良好的准确性。

余弦退火和热重启可以周期性地逃避急剧损失最小值并提高泛化能力。

实施模式

学习率调度实践

预训练 Transformer 语言模型时使用线性预热加上余弦衰减。

预训练 Transformer 语言模型时使用线性预热加上余弦衰减 团队在预先定义质量阈值、为边缘情况保留人工升级路径并跟踪一段时间内的生产力增益和错误成本时,通常会获得更好的结果。

学习率调度实践

在 ImageNet 上训练图像分类器时,步骤衰减会在第 30、60 和 90 时期将学习率降低 10 倍。

在 ImageNet 上训练图像分类器时,步骤衰减会使学习率在第 30、60 和 90 轮下降 10 倍。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会得到更好的结果。

学习率调度实践

fast.ai 中的单周期策略可以在很少的 epoch 内训练模型达到良好的准确性。

fast.ai 中的单周期策略可在极少数时期内训练模型达到良好的准确性。当团队预先定义质量阈值、为边缘情况保留人工升级路径并跟踪一段时间内的生产力增益和错误成本时,通常会获得更好的结果。

学习率调度实践

余弦退火和热重启可以周期性地逃避急剧损失最小值并提高泛化能力。

通过热重启进行余弦退火,以定期避免急剧损失最小值并提高泛化能力当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会得到更好的结果。

风险与防护栏

!

优化一项基准测试可以隐藏更广泛的系统弱点。

!

基础设施和维护成本常常被低估。

!

随着系统变得更加复杂,安全性和可观察性差距可能会扩大。

实施路线图

1

在实施之前定义延迟、质量和成本目标。

在实施之前定义延迟、质量和成本目标。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

2

在实际负载和数据条件下进行基准测试。

在实际负载和数据条件下进行基准测试。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

3

仪器监控错误、漂移和用户影响。

仪器监控错误、漂移和用户影响。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

4

在扩展之前准备回滚和事件响应路径。

在扩展之前准备回滚和事件响应路径。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

不断探索