一句话定义
训练动力学研究百万步长跑中损失曲线的行为规律:学习率预热与衰减调度、梯度裁剪、损失尖峰(Loss Spike)的成因与回滚策略,共同决定一次昂贵训练能否平稳收尾。
为什么重要
一次预训练持续数周至数月、成本高昂,中途发散意味着全部重来。工业界公开的事故复盘(如部分开源模型训练日志中的多处尖峰与恢复)表明,稳定性管理是与算法同等重要的工程能力;理解这些机制也是读懂训练章节日志的前提。
前置知识
核心概念
- Warmup(预热):初期从极小学习率线性升至峰值,避免初始大梯度破坏未成形表示。
- 余弦衰减(Cosine Decay):学习率按余弦曲线降至峰值的一小部分,是大模型最常见调度。
- 梯度裁剪(Gradient Clipping):按全局范数截断过大梯度,抑制突发不稳定。
- Loss Spike(损失尖峰):损失骤升数倍的现象,常见诱因包括坏数据批次、精度溢出、超参不匹配。
- 回滚与跳过(Rollback / Skip Batch):从检查点回退、隔离可疑数据再续训的标准应急处置。
- 权重衰减(Weight Decay):正则项,防止权重无界增长。
原理与机制
Adam 类优化器在 BF16 混合精度与超深网络下,二阶矩估计的微小偏差可在特定数据批上被放大,表现为损失瞬时尖峰;若尖峰后能自然恢复,多属数据扰动,不能恢复则需回滚。kp-013 介绍的 Pre-Norm 与 RMSNorm 正是为缓解深网络训练不稳而成为默认架构选择。训练中还需监控梯度范数、更新幅度与权重范数的比值等指标,作为比损失更早的预警信号。
公式或模型
梯度裁剪与余弦调度:
g ← g · min(1, θ_clip / |g|₂) ; η_t = η_min + (η_max − η_min)/2 · (1 + cos(π t / T))
尖峰判别的实用指标:损失上升幅度与持续步数;梯度范数突增倍数。
图示
损失
│\
│ \__ ← 平稳下降
│ \_
│ ▲▲ ← loss spike(坏批次/数值问题)
│ / \_
│ ───────────────▶ 步数 处置: 回滚检查点 → 跳过可疑数据 → 续训
直观类比
像马拉松配速:起步太快(无 warmup)容易岔气,末段要减速冲线(衰减调度);途中「踩到石子」(尖峰)时,专业选手会退回刚才的补给点(回滚检查点)换条路再跑,而不是硬撑到底。
实例或案例
公开训练复盘记录显示,百亿级模型数十次尖峰中多数可通过「跳过该数据批次 + 回滚少量步数」自愈,仅少数需要调整超参重启动;PaLM 等报告系统化记录了训练事故与处置,是稀有的公开一手资料。
常见误区
- 「尖峰一定是代码 bug」:多数是数据分布扰动或数值边界问题,先隔离数据再怀疑实现。
- 「学习率调度只是微调细节」:峰值与衰减形状对最终损失影响显著,属核心超参。
- 「恢复后不用处理」:若不排查诱因,同一坏数据会在后续 epoch 再次触发。
与其他知识点的关系
自测题
- warmup 为什么必要?答案要点:初始参数随机、梯度方向不可靠,大学习率易把模型推入坏区域;小学习率先让表示成形。
- 遇到 loss spike 的标准处置流程?答案要点:判断幅度与持续性;隔离可疑批次;必要时回滚检查点;记录与监控防复发。
- 哪些监控指标能比损失更早预警不稳定?答案要点:梯度范数突增、更新量/权重范数比异常、激活值越界等。
延伸阅读
- PaLM: Scaling Language Modeling with Pathways(Chowdhery 等,2022):训练事故与处置的公开记录