知识全景图/ 软件工程与系统/ 人工智能全景图/ 优化器、损失函数与训练稳定性

优化器、损失函数与训练稳定性底层图谱

从 Loss、Gradient、Optimizer、Learning Rate、Warmup、Batch、Normalization、Gradient Clipping 到训练崩坏和收敛诊断,理解模型为什么能被训动、也为什么会训坏

阅读定位: 这一页补 AI 底层理解线里的“训练动力学”。它不替代 张量 / 自动微分 / 计算图,后者解释 tensor、operator、forward graph 和 autograd 的底层机制;也不替代 神经网络 / 深度学习 / 训练循环,后者解释最小训练闭环;也不替代 训练数据到模型能力形成的一生,后者把 dataset、batch、loss、backward、optimizer update、checkpoint 和 eval 串成训练生命周期;更不替代 训练 / 推理 / Scaling,后者解释大模型能力如何随数据、参数和计算扩展。本页专注解释训练过程怎样稳定下降、为什么会震荡、发散、过拟合或训崩。
一、训练稳定性的最小闭环
Batch
样本与噪声
Forward
预测 logits
Loss
错误信号
Gradient
更新方向
Optimizer
决定步子怎么走
Weights
新参数状态
环节它是什么稳定性问题观察信号
Batch一次更新看到的数据样本batch 太小噪声大,太大可能泛化变差且训练成本高loss 方差、梯度噪声、吞吐和显存
Loss把预测错误变成可优化标量目标定义错、数据污染、标签噪声会把模型推向错误方向训练 loss、验证 loss、任务指标分叉
Gradient参数该往哪个方向改的局部信号梯度爆炸、消失、尖峰或异常层会导致训练不稳gradient norm、NaN、层级梯度分布
Optimizer把梯度变成参数更新的规则步子太大训崩,太小训不动,动量和自适应统计会引入滞后更新比例、学习率曲线、loss 震荡
Regularization约束模型不要只记训练集太弱会过拟合,太强会欠拟合train / eval gap、权重范数、泛化指标
Numerics混合精度、归一化和数值范围溢出、下溢、NaN、精度损失会让训练直接崩loss scale、NaN 计数、激活范围
一句话:

训练不是“把数据喂进去就会变聪明”,而是在噪声、步长、目标函数、数值精度和模型容量之间维持一个不会发散、不会停滞、不会过拟合的动态系统。

二、Loss:模型真正被奖励和惩罚的东西
损失函数用于什么直觉常见问题
Cross Entropy分类、语言模型 next token prediction正确 token 概率越高,loss 越低;底层来自 logits、log-softmax 和目标 token 的 NLL会鼓励模仿数据分布,但不保证事实、推理或安全;细节见 Logits / Softmax
MSE / L1回归、连续值预测、部分生成任务预测值和目标值距离越小越好容易产生平均化结果,对异常值敏感度不同
Contrastive LossEmbedding、检索、表示学习相似样本拉近,不相似样本推远负样本选择直接影响表征质量
Preference LossDPO、偏好优化、排序学习让 chosen 比 rejected 更可能偏好数据口径会被模型放大
Policy / Reward Loss强化学习、RLHF、RLVR让高回报行为更可能出现奖励黑客、训练不稳定、KL 约束难调
Auxiliary LossMoE、对齐、约束训练、多任务在主目标之外加额外约束权重不好会和主目标打架

Loss 不是业务目标本身

Loss 只是业务目标的可优化代理。语言模型的 cross entropy 能让模型预测下一个 token,却不能直接保证事实正确、价值对齐、工具安全或长期任务成功。关于代理目标如何失真、奖励如何被钻空子,继续看 目标函数 / 奖励错配 / Goodhart;这也是为什么后训练、评测和安全护栏还要继续接上。

三、Optimizer:梯度只是方向,优化器决定步法
SGD
  • 最直接的梯度下降:沿负梯度方向更新
  • 简单、可解释,但对学习率和数据噪声敏感
  • 常用来理解优化直觉,不是大模型训练的唯一选择
Momentum
  • 把过去梯度方向累积成惯性
  • 能穿过局部噪声,减少来回震荡
  • 但动量太强时,可能冲过最优区域
Adam / AdamW
  • 为不同参数自适应调整步长
  • 大模型训练常用 AdamW,因为它把 weight decay 和梯度更新解耦
  • 好用但不是魔法,学习率、betas、warmup 仍然关键
Second-order 近似
  • 试图利用曲率信息,让更新更知道地形形状
  • 理论上更聪明,但大模型里计算和内存开销很高
  • 常以近似、预条件或局部方法出现
实用判断:

优化器不是“越高级越好”。训练稳定性通常来自优化器、学习率计划、batch、归一化、初始化、混合精度和数据质量一起配平。

四、Learning Rate:训练里最像油门的参数
学习率策略做什么适合什么风险
Constant LR整个训练保持固定步长小实验、简单任务、调试基线后期可能震荡,前期可能不稳
Warmup前期从小学习率逐步升高大模型、混合精度、多卡训练warmup 太短容易训崩,太长浪费计算
Cosine Decay训练后期逐步降低学习率预训练、稳定收敛衰减过快会提前停滞
Step Decay在固定阶段降低学习率传统视觉、分类和部分微调任务阶段点需要经验调参
Restart / Cyclic周期性调整学习率探索不同区域、小模型实验大规模训练里收益和风险都要谨慎验证
最大坑:

学习率过大时,loss 可能先短暂下降然后突然爆炸;学习率过小时,训练看起来稳定但几乎不学习。只看某一个 step 的 loss,很容易误判。

五、稳定训练的常用护栏
护栏解决什么典型作用注意点
Normalization层间激活尺度不稳定让不同层的数值范围更可控LayerNorm、RMSNorm、PreNorm 细节见 Norm / Residual
Residual Connection深层网络梯度难传递给信息和梯度提供捷径残差尺度不当也会带来不稳定;细节见 残差流
Gradient Clipping梯度爆炸和异常尖峰限制梯度范数,避免一次更新毁掉模型clip 太强会让训练变慢
Weight Decay权重无限变大和过拟合约束权重规模,提高泛化不同参数组可能需要不同衰减
Dropout / Noise过拟合和特征共适应强迫模型不要依赖单一路径大模型预训练中使用策略与小模型不同
Mixed Precision + Loss Scaling提升吞吐、降低显存用 FP16 / BF16 提速,同时避免数值下溢NaN 和溢出需要监控
Checkpoint / Rollback训练中断或训崩保留可恢复状态,支持回退要保存优化器状态,不只是模型权重
六、训练崩坏的症状诊断
症状可能原因优先检查常见处理
Loss 突然变 NaN学习率过大、混合精度溢出、坏数据、梯度爆炸最近 batch、gradient norm、loss scale、数据异常降低学习率、加 clipping、跳过坏 batch、恢复 checkpoint
Loss 不下降学习率太小、数据/标签错、模型没有梯度、冻结层错误梯度是否为 0、参数是否更新、样本标签检查训练管线、调大学习率、验证 loss 实现
Loss 剧烈震荡学习率过大、batch 太小、数据分布跳变batch 方差、LR 曲线、数据 shard降 LR、增 batch、梯度累积、数据重采样
训练集好,验证集差过拟合、数据泄漏、训练分布偏窄train / eval gap、重复样本、评测集污染正则化、早停、数据去重、增强验证集
某些任务突然退化灾难性遗忘、多任务 loss 权重失衡、偏好数据过强分任务 eval、数据混合比例、checkpoint 对比调 loss 权重、混入保持集、降低训练强度
吞吐下降或显存飙升batch、序列长度、激活保存、分布式配置变化显存账本、profile、sequence length 分布梯度检查点、序列裁剪、并行策略调整

训练诊断不要只看总 loss

总 loss 会把很多问题平均掉。真正有用的是分任务、分数据源、分长度、分语言、分难度和分安全样本的曲线。大模型训练越大,越要把指标拆细。

七、从预训练到后训练,稳定性问题不同
阶段主要目标稳定性重点相邻页面
预训练从海量数据中学习通用统计结构数据混合、学习率计划、分布式数值稳定、checkpoint 恢复预训练数据
SFT让模型按指令和格式回答数据质量、过拟合、格式稳定、不要破坏基础能力后训练 / 对齐机制
偏好优化让 chosen 比 rejected 更符合目标偏好口径、KL 约束、奖励过拟合、拒答边界微调 / 对齐
RLHF / RLVR通过奖励塑造行为或可验证能力奖励黑客、策略坍塌、探索成本、验证器覆盖强化学习 / 环境反馈
蒸馏 / 压缩把能力迁移到小模型或低精度模型学生模型过拟合教师风格、关键能力退化、长尾质量下降模型压缩 / 端侧 AI
八、工程训练监控清单
Loss 与指标
训练 loss、验证 loss、perplexity、任务指标、分桶指标、train/eval gap。
梯度与参数
gradient norm、update norm、权重范数、NaN/Inf、层级激活分布。
学习率与优化器
LR 曲线、warmup、betas、weight decay、optimizer state 是否正确恢复。
数据健康
重复样本、坏样本、语言比例、长度分布、数据 shard、污染和泄漏。
系统稳定
GPU 利用率、通信等待、显存峰值、checkpoint 时间、故障恢复和吞吐。
能力回归
基础能力、格式能力、安全样本、长上下文、工具调用和关键业务任务回归集。
8.1 训练稳定性证据包:从 loss 尖峰到能力回归
证据节点必须记录的字段用来定位什么
优化状态run_id、step、optimizer_name、lr、betas、weight_decay、scheduler_phase异常是否来自学习率、优化器配置、warmup / decay 阶段或恢复状态?
梯度健康gradient_norm、update_norm、nan_inf_flag、clip_event、layerwise_normsloss 尖峰、训练发散、某层不更新或数值溢出从哪里开始?
数据健康batch_id、shard_id、sample_hashes、length_distribution、bad_sample_flag异常 step 是否由坏样本、分布切换、超长样本或数据重复触发?
系统状态gpu_util、memory_peak、throughput_tokens_s、checkpoint_event、resume_id训练慢、吞吐下降或恢复后 loss 漂移是否来自系统层?
能力影响eval_snapshot_id、regression_slice、before_after_delta、rollback_checkpoint训练稳定性问题是否已经转化成能力退化或发布风险?
九、常见误区
误区:loss 低就代表模型好
Loss 只是训练目标的代理。事实性、安全性、工具可靠性和业务价值需要额外评测。
误区:训练稳定就不会过拟合
Loss 曲线平滑不代表泛化好。训练集和验证集可能已经分叉。
误区:AdamW 会自动解决调参
AdamW 很强,但学习率、warmup、batch、weight decay、数据质量仍然决定成败。
误区:只要算力够,训练就能堆出来
大规模训练会把数据脏、数值不稳、分布式故障和评测缺口同步放大。
误区:微调只是小规模预训练
微调更容易过拟合、遗忘和风格偏移,需要保持集、分桶评测和回滚策略。
误区:训崩只能重来
如果 checkpoint、optimizer state、数据游标和日志完整,很多训练崩坏可以定位、回退和局部修复。
十、回到 AI 主干
AI 全景 张量 / 自动微分 / 计算图 神经网络 / 训练循环 优化器 / Loss / 稳定性 训练数据到能力 训练 / 推理 / Scaling 预训练数据 后训练 / 对齐 模型评测 / Eval

这张图在主干里的位置

如果说神经网络页解释一次训练更新的基本闭环,Scaling 页解释能力如何随规模增长,那么本页解释训练为什么能稳定进行、怎样诊断训崩、以及 loss、优化器和学习率如何共同决定模型最终学到什么。它是理解预训练、SFT、偏好优化和大规模训练工程之间共同机制的一层底座。