完整题目
请详细介绍DeepSpeed框架的核心特性、架构设计及其在大模型训练中的典型应用场景。
本文目录
DeepSpeed 的定位
DeepSpeed 是面向大规模训练与推理的系统栈,核心不是一个固定“省显存倍数”,而是把数据并行、ZeRO、混合精度、梯度累积、activation checkpointing、pipeline/tensor parallel 和 offload 组合到具体模型与集群。
ZeRO 三阶段
- Stage 1:在 data-parallel ranks 间分片 optimizer states;接近
1/N的只是该组成部分,不是总显存。 - Stage 2:在 Stage 1 基础上分片 gradients。
- Stage 3:进一步分片 parameters,计算前按需 all-gather、反向后 reduce-scatter;通信、碎片和峰值 workspace 仍要测。
- Offload:可把 optimizer states 或 parameters 放到 CPU/NVMe,以传输和吞吐换显存。
训练与恢复边界
BF16/FP16、梯度累积和 checkpointing 分别影响数值、有效 batch 与 activation 内存;pipeline/tensor parallel 解决单层或单模型放不下的问题,和 ZeRO 的 data parallel 分片可组合。互连性能会影响扩展效率,但 InfiniBand 不是训练某个参数规模在逻辑上的必要条件,必须报告实际带宽、拓扑和通信占比。
DeepSpeed engine 可以按兼容配置保存并加载分片 checkpoint 来恢复训练。 用于把 ZeRO checkpoint 整合成完整 fp32 state dict 等场景,不是所有恢复流程的必经步骤。配置必须锁定 DeepSpeed 版本、world size、ZeRO stage、offload、checkpoint 格式和恢复目标。