技术指南

预热和余弦退火时间表

热身在训练前将学习率从接近于零的位置轻轻地提高,然后余弦退火沿着余弦曲线将学习率平滑地衰减回来。

概述

热身在训练前将学习率从接近于零的位置轻轻地提高,然后余弦退火沿着余弦曲线将学习率平滑地衰减回来。它们共同稳定了早期训练并挤出了更好的最终准确性,这就是为什么几乎每个现代变压器都以这种方式进行训练的原因。

预热和余弦退火计划是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。

深入探讨

训练开始时,模型权重是随机的,梯度可能很大,因此直接跳到较大的学习率通常会导致损失峰值或发散——尤其是像 Adam 这样的自适应优化器,其方差估计在第一步中是不可靠的。预热通过将速率线性增加几百到几千步来解决这个问题。一旦模型稳定下来,余弦退火就会接管,将速率衰减为其峰值的 0.5 * (1 + cos(pi * t / T))。余弦形状在早期保持较高的速率以实现快速进展,然后逐渐缓和,以便优化器可以稳定在一个良好的最小值而不是在它周围弹跳。

技术洞察

余弦退火将学习率缩放 0.5 * (1 + cos(pi * t / T)),其中 t 是当前步骤,T 是总数。这会在峰值速率附近花费很长时间,在中间衰减最快,然后在末端趋于接近零——与直线衰减不同。热身通常是线性且短暂的。组合曲线看起来像一座平滑的山丘:向上、平稳,然后缓慢滑行至接近零。

掌握预热和余弦退火时间表

热身在训练前将学习率从接近于零的位置轻轻地提高,然后余弦退火沿着余弦曲线将学习率平滑地衰减回来。它们共同稳定了早期训练并挤出了更好的最终准确性,这就是为什么几乎每个现代变压器都以这种方式进行训练的原因。预热和余弦退火计划是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。为了建立深入的理解,请将预热和余弦退火计划视为一种操作模型,而不是单个功能:定义所需的结果,澄清假设,并将系统可以可靠地执行的操作与仍需要专家判断的操作分开。

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

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

战略影响

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

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

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

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

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

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

预热和余弦退火计划的未来

预热加余弦仍然是大型语言模型的默认配方,但变体正在蔓延。预热稳定衰减 (WSD) 保持恒定速率,然后在最后急剧衰减,从而可以轻松延长运行而无需重新承诺固定长度。研究人员还在研究预热为何有效——将其与梯度噪声和损失景观曲率联系起来——并且工具越来越多地自动调整预热长度和峰值速率,减少当今占主导地位的手动试错。

现实世界的实施

GPT 风格和 BERT 风格语言模型在前约 1-2% 的步骤中使用线性预热,然后余弦衰减到接近零。

视觉变换器 (ViT) 通过余弦退火和短暂的预热进行训练,以避免 ImageNet 上的早期发散。

Hugging Face Transformers 提供“get_cosine_schedule_with_warmup”作为用于微调作业的单行调度程序。

稳定扩散和其他扩散模型通过预热进行微调,以防止在调整预训练权重时出现梯度爆炸。

实施模式

实践中的预热和余弦退火时间表

GPT 风格和 BERT 风格语言模型在前约 1-2% 的步骤中使用线性预热,然后余弦衰减到接近零。

GPT 式和 BERT 式语言模型在前约 1-2% 的步骤中使用线性预热,然后余弦衰减到接近于零。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会得到更好的结果。

实践中的预热和余弦退火时间表

视觉变换器 (ViT) 通过余弦退火和短暂的预热进行训练,以避免 ImageNet 上的早期发散。

视觉变换器 (ViT) 通过余弦退火和短暂的预热进行训练,以避免 ImageNet 上的早期分歧。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会得到更好的结果。

实践中的预热和余弦退火时间表

Hugging Face Transformers 提供“get_cosine_schedule_with_warmup”作为用于微调作业的单行调度程序。

Hugging Face Transformers 提供“get_cosine_schedule_with_warmup”作为用于微调作业的单行调度程序。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。

实践中的预热和余弦退火时间表

稳定扩散和其他扩散模型通过预热进行微调,以防止在调整预训练权重时出现梯度爆炸。

稳定扩散和其他扩散模型通过预热进行微调,以防止在调整预训练权重时出现梯度爆炸。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会得到更好的结果。

风险与防护栏

!

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

!

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

!

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

实施路线图

1

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

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

2

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

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

3

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

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

4

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

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

不断探索