跳转至

分布式训练

分布式训练的核心问题是:单卡放不下或算不动时,如何把模型、数据和计算拆到多张 GPU 上,同时控制通信成本。

并行方式

数据并行

每张卡保存完整模型,处理不同 batch,再同步梯度。实现简单,但模型必须能放入单卡。

张量并行

把单层中的矩阵计算切到多张卡上。适合大模型单层参数过大时使用,但通信频繁。

流水线并行

把模型不同层放到不同设备上,micro-batch 以流水线方式前进。适合层数很多的模型,但需要处理 pipeline bubble。

ZeRO / FSDP

把优化器状态、梯度、参数分片保存,降低单卡显存压力。

关键指标

  • GPU 利用率。
  • tokens/s 或 samples/s。
  • 通信时间占比。
  • 显存峰值。
  • checkpoint 保存和恢复时间。

常见问题

  • 多机网络成为瓶颈。
  • batch 切分导致收敛行为变化。
  • checkpoint 格式和并行策略绑定过深。
  • 某些 rank 卡住,定位困难。

待补充

  • DDP / FSDP / DeepSpeed 对比。
  • Tensor Parallel 的矩阵切分图。
  • Pipeline Parallel 的调度方式。