DeepSpeed
微软研究院开源的分布式深度学习优化库,通过 ZeRO 技术实现万亿参数模型在有限 GPU 上的高效训练
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
微软研究院开源的分布式深度学习优化库,通过 ZeRO 技术实现万亿参数模型在有限 GPU 上的高效训练
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2020 年,当 GPT-3 以 1750 亿参数刷新 NLP 模型规模纪录时,训练它需要数千张高端 GPU,以及一套极为复杂的分布式工程团队来维护。然而几乎同一时间,微软研究院的一个团队在 SC'20 发表了 ZeRO(Zero Redundancy Optimizer)技术,证明了只需要 1024 张消费级 GPU,就能训练出 1700 亿参数的模型——而传统做法需要 10240 张。这背后的秘密,正是 DeepSpeed。
DeepSpeed 是一个由微软研究院维护的深度学习优化库,专注于解决一个核心矛盾:模型越来越大,但单个 GPU 的显存和算力增长远远跟不上。截至 2026 年 6 月,该项目已积累超过 42500 颗 GitHub Stars、4868 个 Forks,是分布式深度学习训练领域最具影响力的开源基础设施之一。
深度学习训练的三座大山是显存墙、通信墙和扩展墙:
DeepSpeed 的出现,就是为了系统性地解决这三大问题。
DeepSpeed 的核心创新是 ZeRO(Zero Redundancy Optimizer),一种针对分布式训练中显存冗余问题的渐进式解决方案。ZeRO 将优化器状态、梯度和模型参数分片到不同 GPU 上,避免了 Data Parallel 中的完整状态复制。
ZeRO 有三个阶段:

图1:DeepSpeed 四大核心支柱——通信优化、显存优化、異步计算、多硬件支持
在此基础上,DeepSpeed 还开发了 ZeRO-Infinity 和 ZeRO++:
现代超大规模训练依赖于三种并行策略的组合,DeepSpeed 提供了统一的 3D 并行支持:

图2:数据并行 × 流水线并行 × 张量并行,三维并行协同
DeepSpeed 3D 并行将三者有机融合,可在数千 GPU 规模上高效训练万亿参数模型。
DeepSpeed 不只做训练,还提供完整的推理优化栈:

图3:使用 DeepSpeed 训练 1750 亿参数模型的趋势,展示了 ZeRO 带来的效率提升
DeepSpeed 的一大优势是广泛的硬件兼容性,这在开源训练框架中极为罕见:
| 加速器 | 架构 | 验证状态 |
|---|---|---|
| NVIDIA GPU | Pascal → Hopper | 上游验证 |
| AMD GPU | MI100/MI200 (ROCm) | 上游验证 |
| Intel Gaudi 2 | HPU | 上游验证 |
| Intel Data Center GPU Max | XPU | 上游验证 |
| Huawei Ascend NPU | NPU | 贡献者验证 |
这种多硬件支持使 DeepSpeed 成为真正的硬件无关训练框架,用户可以在不同硬件环境下复用同一套训练代码。
DeepSpeed 采用典型的 Python 包装层 + C++/CUDA 高性能算子架构:
deepspeed/):提供 deepspeed.initialize()、deepspeed.DeepSpeedEngine 等高层 API,与 PyTorch 深度集成。用户只需修改几行训练脚本即可启用 DeepSpeed。csrc/):18 个子目录,包含 Adam、LAMB、MoE、Fused Attention、量化等高性能 CUDA Kernel。所有算子支持 JIT(即时编译),无需预编译即可使用。
图4:DeepSpeed 与 NVIDIA Megatron-LM 的性能对比,展示了 DeepSpeed 在显存效率和扩展性上的优势
DeepSpeed 的安装极为简便:
pip install deepspeed
安装后运行 ds_report 可查看当前环境支持的算子和加速器兼容性。所有 CUDA 算子在首次调用时通过 PyTorch JIT 自动编译。
官方提供了 Dockerfile(基于 CUDA 12.2 + Ubuntu 20.04),但需要额外安装 OpenMPI 和 NCCL 等通信库,部署复杂度中等。
尽管 DeepSpeed 功能强大,仍存在一些局限:
DeepSpeed 的意义远超一个技术工具——它代表了一种**"软件定义硬件边界"**的思路:通过系统级的算法优化(ZeRO)、通信优化和内存管理,可以在不升级硬件的前提下将训练规模提升一到两个数量级。
近年来,DeepSpeed 持续扩展到更多场景:
随着模型参数规模从 billion 向 trillion 级别迈进,DeepSpeed 作为超大规模训练基础设施的地位将进一步巩固。
# 安装
pip install deepspeed
# 验证安装
ds_report
# 使用示例(修改训练脚本)
import deepspeed
model, optimizer, _, _ = deepspeed.initialize(
model=model,
config="ds_config.json"
)
# 训练循环中正常调用 backward/optimizer.step()
DeepSpeed 的设计哲学:让分布式训练从专家专属,变成每个研究者的默认选项。
本报告基于 GitHub 最新代码库(master 分支,2026-06-28)分析生成。