神经网络训练基础

神经网络训练的核心目标是最小化定义良好的损失函数,并在未知分布或轻度分布漂移的场景中实现稳定、可复现、可解释的泛化表现。一个严谨的训练系统不仅包括算法本身,还包括数据治理、资源编排、可观测性与灰度发布策略,从而形成闭环的工程体系。

1. 训练闭环与系统组件

  • 闭环要素:数据采样/标注 → 特征/表征 → 模型结构 → 优化器/调度 → 评估指标 → 上线发布 → 数据回流与再训练。
  • 关键职责:数据与知识(质量、覆盖、时效)、模型与算法(选择、规模、风险)、计算与存储(GPU/CPU/网络/IO)、监控与告警(训练/验证/线上 KPI)。
  • 配置与复现:随机种子、确定性算子、版本化数据与代码,保障结果可追溯。

2. 数据准备与分割

  • 划分:训练/验证/测试,时间序列与在线业务优先采用时间切分;避免泄漏。
  • 采样与重加权:分布不平衡时使用分层采样、Focal Loss、重采样或代价敏感学习。
  • 数据增广:图像(翻转、裁剪、颜色抖动)、文本(回译、同义替换)、时序(时间扭曲、噪声注入)。
  • 质量控制:脏数据检测、异常值处理、标注一致性审计、漂移监测。

3. 前向/反向传播与自动微分

  • 前向:层间线性变换 + 非线性激活(参见 激活函数Sigmoid激活函数),批量化张量运算提升吞吐。
  • 反向:链式法则计算 (\partial L/\partial w, \partial L/\partial b) 并回传误差信号;自动微分系统(PyTorch/JAX)以计算图管理中间量与梯度。
  • 损失与度量:训练损失用于优化,度量(Acc、F1、均方误差等)用于选择;关注指标-业务目标的一致性(参见 误差)。

4. 优化器与学习率策略

  • 优化器:SGD+Momentum 稳健、Adam/AdamW 收敛快;二阶近似在大模型中受限于内存。
  • 学习率:warmup 减少初期不稳定;余弦退火、OneCycle、分段衰减等调度影响收敛轨迹与泛化。
  • 正则化:权重衰减、dropout、label smoothing、早停;数据/结构/损失多层面协同抑制过拟合。

5. 并行训练与资源编排

  • 数据并行:复制模型、切分 batch;带宽瓶颈取决于 Nvlink参数/PCIE参数 与拓扑结构。
  • 张量并行:切分权重/激活维度,适配超大模型矩阵乘;与通信重叠优化配合。
  • 传递并行:流水线切层,平衡吞吐与 bubble;与梯度累积结合使用。
  • 零冗余优化:ZeRO 将优化器状态/梯度/参数分片,显著降低显存峰值(参见 ZeRO微调神经网络训练)。

6. 数值稳定与效率工程

  • 混合精度:FP16/BF16 + 动态损失缩放,提升吞吐并降低显存;关注 underflow/overflow。
  • 归一化/残差:BN/LN 与残差通道改善梯度传递与收敛。
  • 激活检查点:以计算换显存;张量融合、算子调优、图编译(TorchScript/ONNX/TensorRT)提升效率。

7. 评估、监控与上线

  • 评估:离线指标 + 人评 + 线上 A/B;对生成模型加入事实性与毒性评估。
  • 监控:数据分布漂移、概念漂移、模型性能回退;触发自动回滚与再训练。
  • 上线策略:灰度/金丝雀、配额与熔断、回放评估确保稳定过渡。

8. 设备选择与成本

9. 参考链接与资料

链接