技术指南

锐度感知最小化

锐度感知最小化(SAM)是一种优化方法,它不仅寻求低损失,而且寻求整个权重邻域的低损失——平坦的最小值。

概述

锐度感知最小化(SAM)是一种优化方法,它不仅寻求低损失,而且寻求整个权重邻域的低损失——平坦的最小值。更平坦的最小值往往具有更好的泛化能力,因此 SAM 通常可以在不改变模型架构的情况下提高测试准确性和鲁棒性。

清晰度感知最小化是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。

深入探讨

标准训练最大限度地减少了权重空间中单个点的损失,但是具有相同训练损失的两个解决方案可能表现得非常不同:“尖锐”最小值位于狭窄的山谷中,其中微小的权重扰动会导致损失激增,而“平坦”最小值则可以容忍扰动,并且通常可以更好地推广到看不见的数据。 Google 研究人员于 2020 年推出的 SAM 明确了这一点。在每一步中,它首先找到使损失最大化的附近权重扰动(在小半径 rho 内)——最坏情况的邻居——然后更新原始权重以减少该扰动点的损失。这种最小-最大目标将优化推向一致低的区域,从而在图像分类及其他方面产生明显更好的泛化。

技术洞察

每个 SAM 步骤都是两次通过。首先,计算当前权重下的梯度,并在梯度方向上采取大小为 rho 的“上升”步骤,以到达最坏情况附近的点。其次,计算该扰动点的梯度并用它来更新原始权重。半径 rho 控制您要防范的邻域大小。成本大约是每步两次向前向后传递,这使得计算量增加了一倍——这是主要的实际缺点。

掌握锐度感知最小化

锐度感知最小化(SAM)是一种优化方法,它不仅寻求低损失,而且寻求整个权重邻域的低损失——平坦的最小值。更平坦的最小值往往具有更好的泛化能力,因此 SAM 通常可以在不改变模型架构的情况下提高测试准确性和鲁棒性。清晰度感知最小化是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。为了建立深入的理解,请将锐度感知最小化视为一种操作模型,而不是单一功能:定义期望的结果,澄清假设,并将系统可以可靠地完成的任务与仍需要专家判断的任务分开。

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

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

战略影响

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

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

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

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

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

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

清晰度感知最小化的未来

SAM 催生了一系列后续产品,旨在解决其最大的弱点,即双倍计算:ESAM、LookSAM 等高效变体,以及仅扰动权重子集或每隔几步应用 SAM 的方法。自适应 SAM (ASAM) 将半径重新参数化为尺度不变。研究人员继续争论为什么平坦度有帮助以及如何测量它,并且锐度意识的想法正在传播到微调大型语言模型并提高对分布变化的鲁棒性。

现实世界的实施

通过使用 SAM 而非普通 SGD 进行训练,提高 ImageNet 上的 Vision Transformer 和 ResNet 准确性。

提高对标签噪声的稳健性,因为平坦最小值不太可能记住损坏的标签。

使用 SAM 微调预训练语言模型,以便在小型下游数据集上获得更好的泛化能力。

当普通 SAM 的双倍计算成本过于昂贵时,使用 ESAM 或 LookSAM 变体。

实施模式

实践中的锐度感知最小化

通过使用 SAM 而非普通 SGD 进行训练,提高 ImageNet 上的 Vision Transformer 和 ResNet 准确性。

通过使用 SAM 而非普通 SGD 进行训练来提高 ImageNet 上的 Vision Transformer 和 ResNet 准确性 团队在预先定义质量阈值、为边缘情况保留人工升级路径并跟踪一段时间内的生产力提升和错误成本时,通常会获得更好的结果。

实践中的锐度感知最小化

提高对标签噪声的稳健性,因为平坦最小值不太可能记住损坏的标签。

提高对标签噪声的鲁棒性,因为平坦最小值不太可能记住损坏的标签。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会得到更好的结果。

实践中的锐度感知最小化

使用 SAM 微调预训练语言模型,以便在小型下游数据集上获得更好的泛化能力。

使用 SAM 微调预训练语言模型,以更好地概括小型下游数据集 团队在预先定义质量阈值、为边缘情况保留人工升级路径并跟踪一段时间内的生产力提升和错误成本时,通常会获得更好的结果。

实践中的锐度感知最小化

当普通 SAM 的双倍计算成本过于昂贵时,使用 ESAM 或 LookSAM 变体。

当普通 SAM 的双倍计算成本过于昂贵时,使用 ESAM 或 LookSAM 变体 团队在预先定义质量阈值、为边缘情况保留人工升级路径并跟踪一段时间内的生产力提升和错误成本时,通常会获得更好的结果。

风险与防护栏

!

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

!

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

!

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

实施路线图

1

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

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

2

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

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

3

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

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

4

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

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

不断探索