2023年GPT-4技术报告里有个细节被大多数人滑过去了:训练后期,学习率调度器(learning rate scheduler)的微调占了整整三个月。不是改架构,不是加数据,是调那个看起来最"基础"的优化参数。

这三个月烧掉的算力成本,足够训练一个GPT-3级别的模型。

优化算法(optimization algorithm)在深度学习里的地位,有点像汽车引擎——用户只关心百公里加速,工程师却在为点火时序头疼。梯度下降(gradient descent)的直觉很简单:往损失函数(loss function)下坡的方向走一步。但现代神经网络(neural network)的参数空间动辄千亿维,这个"坡"根本不是光滑的曲面,而是布满悬崖、高原和无数局部最优的崎岖地形。

从经验风险到实际困境

从经验风险到实际困境

统计学习理论的起点很清晰:最小化期望风险(expected risk)。但真实数据分布未知,只能退而求其次,最小化经验风险(empirical risk)——也就是训练集上的平均损失。这个替代方案有个隐形成本:优化器(optimizer)得在噪声梯度中导航,同时提防过拟合。

随机梯度下降(SGD, stochastic gradient descent)的更新公式写成代码就一行,但学习率(learning rate)选多大?0.1能让ResNet在ImageNet上收敛,放到Transformer上可能直接炸掉。动量(momentum)加多少?0.9是惯例,但Google 2018年的论文发现,0.99在某些任务上能快三倍,在另一些任务上却让模型陷入震荡。

自适应算法的暗面

自适应算法的暗面

Adam和它的变体AdamW解决了手工调参的部分痛苦。它们用梯度的一阶矩和二阶矩估计,给每个参数定制步长。听起来很美好,直到你发现:自适应方法往往泛化(generalization)比SGD差。

2017年Wilson等人的实验很扎心:同样的网络架构,SGD+动量在测试集上的准确率,系统性地比Adam高1-2个百分点。差距不大,但在ImageNet这种基准上,1个百分点能决定论文发不发得了顶会。AdamW通过解耦权重衰减(weight decay)缓解了部分问题,但"自适应优化器更容易找到尖锐极小值(sharp minima)"的质疑从未消失。

大模型时代,这个问题被算力掩盖了。当训练成本以千万美元计时,没人愿意为了那1%的准确率让实验多跑两周。AdamW的默认参数(β1=0.9, β2=0.999, ε=1e-8)成了行业潜规则,尽管OpenAI内部文档承认,这些数值"对GPT-4的最终性能并非最优"。

收敛的数学与现实

收敛的数学与现实

凸优化(convex optimization)里有漂亮的收敛率证明:梯度下降在强凸函数上达到线性收敛,加速方法能到O(1/k²)。但神经网络损失函数是非凸的,这些定理直接失效。研究者退而求其次,分析临界点(critical points)附近的性质,或者假设损失 landscape 满足某种"拟凸性"——这些假设在ResNet上近似成立,到了Transformer架构又变得可疑。

更现实的挑战是分布式训练。数据并行(data parallelism)把批次(batch size)做到数万,梯度估计的方差确实下降了,但学习率的缩放规则(scaling rule)至今没有统一答案。Linear scaling?Square root scaling?还是Google 2019年提出的 gradual warmup 加 LARS?每个选择背后都是数百万美元的试错成本。

2024年的一篇论文追踪了Llama 3的训练日志,发现损失曲线(loss curve)在最后10%的迭代中出现了三次"悬崖式"下降——不是平滑收敛,是突然的相位跃迁。优化器在这些时刻的行为,至今缺乏理论解释。

当你下次看到某个模型"仅"用标准AdamW就刷榜时,不妨想想那三个月的调参期,以及被默认参数埋葬的潜在性能。收敛的数学保证和工程现实之间,隔着一整片无人测绘的荒野。