技术指南

二阶优化和牛顿法

二阶优化使用曲率信息(二阶导数的 Hessian 矩阵)来采取更智能的步骤来达到最小值,而不仅仅是斜率。

概述

二阶优化使用曲率信息(二阶导数的 Hessian 矩阵)来采取更智能的步骤来达到最小值,而不仅仅是斜率。与普通梯度下降相比,它可以以少得多的迭代次数收敛,但计算曲率的成本使其难以扩展。

二阶优化和牛顿法是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。

深入探讨

梯度下降只知道当前点的斜率,因此它会选择固定或手动调整的步长,并希望获得最好的结果。牛顿方法更进一步:它还研究斜率如何变化(曲率),由所有二阶偏导数的矩阵 Hessian 捕获。更新将逆 Hessian 矩阵乘以梯度,这会自动重新缩放每个方向并接近局部二次近似的最小值。对于完美的二次碗,牛顿法只需一步即可到达底部。问题很残酷:具有 N 个参数的模型具有 N×N Hessian,因此存储和反转它大约需要 N 平方内存和 N 立方计算。对于十亿参数的网络来说这是不可能的,这就是为什么从业者使用更便宜的近似值。

技术洞察

核心牛顿更新是 x_new = x - H_inverse 乘以梯度,其中 H 是 Hessian。 BFGS 和 L-BFGS 等拟牛顿方法通过根据连续梯度差构建 H 的倒数的运行近似来避免直接计算 H。 L-BFGS 仅存储最后几个梯度和步长向量,而不是整个矩阵,将内存从 N 平方减少到 N 的小倍数,同时保持大部分收敛加速。

掌握二阶优化和牛顿法

二阶优化使用曲率信息(二阶导数的 Hessian 矩阵)来采取更智能的步骤来达到最小值,而不仅仅是斜率。与普通梯度下降相比,它可以以少得多的迭代次数收敛,但计算曲率的成本使其难以扩展。二阶优化和牛顿法是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。为了建立深入的理解,请将二阶优化和牛顿法视为一种操作模型,而不是单一功能:定义期望的结果,澄清假设,并将系统可以可靠地完成的任务与仍然需要专家判断的任务分开。

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

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

战略影响

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

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

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

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

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

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

二阶优化和牛顿法的未来

对于巨型神经网络,完整的二阶方法仍然不切实际,但近似方法正在取得进展。 K-FAC 和 Shampoo 等优化器使用块对角线或 Kronecker 分解结构来近似曲率,而 Sophia 和 Muon 等较新的方法使用廉价的曲率估计来加速大型语言模型预训练。预计将继续努力以接近一阶的成本捕获有用的曲率信号,从而缩小亚当步和真正的牛顿步之间的差距。

现实世界的实施

L-BFGS 在 scikit-learn 中拟合逻辑回归和其他凸模型,它通常在中小型数据集上击败普通梯度下降

3D 重建和 SLAM 中的捆绑调整,其中 Gauss-Newton 和 Levenberg-Marquardt 细化相机姿态和点位置

训练微小的物理信息神经网络,其中 L-BFGS 达到 Adam 难以达到的精度

Shampoo 和 K-FAC 通过近似 Hessian 结构加速大规模深度学习训练

实施模式

二阶优化和牛顿法的实践

L-BFGS 在 scikit-learn 中拟合逻辑回归和其他凸模型,它通常在中小型数据集上击败普通梯度下降。

L-BFGS 在 scikit-learn 中拟合逻辑回归和其他凸模型,在中小型数据集上它通常胜过简单的梯度下降。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。

二阶优化和牛顿法的实践

3D 重建和 SLAM 中的捆绑调整,其中 Gauss-Newton 和 Levenberg-Marquardt 细化相机姿态和点位置。

3D 重建和 SLAM 中的捆绑调整,其中 Gauss-Newton 和 Levenberg-Marquardt 细化相机姿势和点位置 当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。

二阶优化和牛顿法的实践

训练微小的物理信息神经网络,其中 L-BFGS 实现了 Adam 难以达到的精度。

训练微型物理信息神经网络,其中 L-BFGS 达到 Adam 难以达到的精度。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会得到更好的结果。

二阶优化和牛顿法的实践

Shampoo 和 K-FAC 通过近似 Hessian 结构加速大规模深度学习训练。

Shampoo 和 K-FAC 通过近似 Hessian 结构加速大规模深度学习训练 团队在预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。

风险与防护栏

!

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

!

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

!

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

实施路线图

1

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

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

2

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

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

3

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

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

4

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

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

不断探索