
DeepSpeed是微软开源的深度学习优化库,最新版0.19.1(2026-05-30),Apache-2.0许可。以ZeRO零冗余优化器为核心,支持ZeRO-1/2/3、ZeRO-Offload、ZeRO-Infinity CPU/NVMe卸载、MoE训练、DeepSpeed-Chat RLHF,是千亿模型训练的内存与计算优化基石。
项目概述
DeepSpeed由微软研究院于2020年2月开源,2025年2月贡献至Linux Foundation AI & Data作为孵化项目,GitHub组织从microsoft/DeepSpeed迁移至社区治理的deepspeedai/DeepSpeed 。最新稳定版本0.19.1,发布于2026年5月30日,Apache-2.0许可 。
核心定位:DeepSpeed是微软研究院为训练Turing-NLG、Megatron-Turing NLG、Phi等大模型构建的记忆与计算优化技术栈 ,其签名特性ZeRO(Zero Redundancy Optimizer)通过将优化器状态、梯度、参数分片跨GPU划分,使单设备可拟合比以往大10-100倍的模型 。
ZeRO技术演进:
- ZeRO Stage 1:分片优化器状态(如Adam的32位权重、一阶/二阶动量估计)
- ZeRO Stage 2:在Stage 1基础上增加16位梯度分片
- ZeRO Stage 3:在Stage 2基础上增加16位模型参数分片,并通过ZeRO-Infinity卸载引擎将所有模型状态卸载至CPU和NVMe内存
- ZeRO-Offload:将优化器内存与计算从GPU卸载至主机CPU,单卡V100即可训练130亿参数GPT-2
- ZeRO-Infinity:下一代卸载能力,可卸载更多模型权重,具有更有效的带宽利用与计算通信重叠
- ZeRO++:通信高效量化权重与梯度
MoE训练支持:DeepSpeed v0.5起支持MoE模型训练,支持专家并行(EP)+数据并行(D)+ZeRO驱动数据并行(Z)+模型并行(M)的五种灵活并行组合,可利用GPU与CPU混合内存训练大规模MoE模型 。
RLHF能力:DeepSpeed-Chat提供完整的RLHF训练流水线,覆盖SFT→RM→PPO/DPO全生命周期 。
2025-2026年最新进展 :
- SuperOffload:利用超算芯片统一内存架构,将集合通信卸载至计算单元外(SDMA),获ASPLOS 2026最佳论文提名
- ZenFlow:2025年发布的新型优化技术
- Muon优化器支持:2026年5月起支持Muon优化器与DeepSpeed配合使用
- Arctic Long Sequence Training(ALST):2025年6月引入的长序列训练技术
- DeepSpeed Core API更新:PyTorch风格的backward与低精度主权重状态
- ZeRO++驱动LinkedIn推荐系统大模型蒸馏训练
与PyTorch FSDP的关系:DeepSpeed与FSDP是互补而非零和竞争——FSDP是PyTorch生态系统内直截了当分布式训练的默认选择,而DeepSpeed在需要高级卸载、极致内存优化或DeepSpeed-Chat等特性的场景中更受青睐 。
许可策略:Apache-2.0许可(PyPI官方标注),允许商用、修改、再分发。2025年2月起成为Linux Foundation AI & Data孵化项目,治理结构更加开放 。
💡 DeepSpeed的独特定位:它是”训练&微调”子分类中内存与计算优化的工业级标杆。与Megatron-Core(并行策略参考实现)形成互补——实际工业级训练往往是”Megatron-Core提供并行骨架 + DeepSpeed提供ZeRO内存优化”的组合。虽然DeepSpeed文档包含推理API(DeepSpeed-Inference),但其核心职责是训练优化,推理能力仅作为附加组件,不应将其归入”推理引擎”子分类。绝大多数用户通过Hugging Face Transformers Trainer或Accelerate间接调用DeepSpeed,而非直接使用其 launcher。
核心能力
- ZeRO零冗余优化器:ZeRO-1/2/3三阶段,分片优化器状态、梯度、参数,单设备可训练10-100倍更大模型
- ZeRO-Offload:优化器状态与计算卸载至CPU,单卡V100训练130亿参数GPT-2
- ZeRO-Infinity:所有模型状态卸载至CPU与NVMe,支持超大规模模型训练
- MoE训练:专家并行+数据并行+ZeRO驱动的灵活并行组合,GPU+CPU混合内存训练大规模MoE
- DeepSpeed-Chat:完整的RLHF训练流水线(SFT→RM→PPO/DPO)
- 流水线并行:模型流水线切分,多GPU协同训练
- 混合精度训练:FP16/BF16自动混合精度
- 1-bit Adam/ZeroOneAdam:通信高效的优化器变体
- DeepCompile:最新编译器优化(0.19.1额外依赖)
- 自动调优:AutoTuning自动寻找最优配置
- SuperOffload:利用超算芯片统一内存架构的SDMA卸载(2026年最新)
- Muon优化器支持:2026年5月起支持
- 监控集成:TensorBoard、WandB、Comet、CSV监控器
- 多硬件支持:NVIDIA GPU、AMD GPU、NVIDIA Grace Hopper超级芯片适配
优势亮点
- ZeRO是内存优化事实标准:ZeRO-1/2/3已成为大模型训练内存优化的参考实现,被无数框架集成
- Apache-2.0最干净许可:商用、修改、再分发无门槛,与Megatron-Core(BSD/Apache-2.0)并列”最干净许可”阵营
- Linux Foundation治理:2025年2月起成为LF AI & Data孵化项目,社区治理更加开放
- 支撑了微软旗舰模型:Turing-NLG、Megatron-Turing NLG、Phi系列均基于DeepSpeed训练
- 单卡训练百亿模型:ZeRO-Offload让单张V100即可训练130亿参数GPT-2
- MoE训练成熟:Switch Transformer 1.6T参数MoE模型训练的早期支持者
- RLHF全流程:DeepSpeed-Chat提供完整的RLHF流水线,是大模型对齐训练的重要工具
- 与Hugging Face生态深度集成:绝大多数用户通过Transformers Trainer或Accelerate间接调用
- 2026年持续创新:SuperOffload、ZenFlow、Muon优化器、ALST等长序列训练技术不断迭代
- 异构硬件适配:从NVIDIA GPU到AMD MI300X,再到Grace Hopper超级芯片,卸载策略持续优化
局限
- 非终端用户框架:DeepSpeed是底层优化库,普通用户应通过Hugging Face Transformers Trainer、Accelerate、LlamaFactory、MS-SWIFT、Axolotl等上层框架间接使用
- 配置复杂度高:ZeRO各阶段、卸载策略、并行组合的配置需要深厚的分布式训练知识
- 与FSDP功能重叠:在简单分布式训练场景下,PyTorch原生FSDP集成度更好,DeepSpeed优势在于高级卸载与极致内存优化
- 消费级硬件收益有限:ZeRO-3全量卸载需要大量CPU内存,单卡小模型训练并非DeepSpeed的目标场景
- 推理能力非核心:虽提供DeepSpeed-Inference,但生产推理建议使用vLLM、SGLang、TensorRT-LLM等专用推理引擎
- 学习曲线陡峭:ZeRO各阶段、MoE并行、卸载策略的概念复杂度高
- Python版本要求:需跟随PyTorch生态的Python版本支持周期
适用人群
- 千亿参数模型训练团队:ZeRO-3 + ZeRO-Infinity是超大规模训练的必备工具
- 内存受限的训练场景:GPU显存不足时,ZeRO-Offload/ZeRO-Infinity可将状态卸载至CPU/NVMe
- MoE模型训练:DeepSpeed-MoE提供灵活的专家并行组合,是MoE训练的主流选择
- RLHF/对齐训练:DeepSpeed-Chat提供完整SFT→RM→PPO/DPO流水线
- 框架开发者:需要在DeepSpeed之上构建自定义训练框架的工程师
- Hugging Face生态用户:通过Transformers Trainer/Accelerate无缝调用DeepSpeed
- 异构硬件集群:NVIDIA/AMD/Grace Hopper混合环境下的训练优化
- 微软云(Azure)用户:与Azure ML深度集成,云端训练首选
安装与部署
1. 安装
# pip安装最新版 pip install deepspeed==0.19.1 # 源码安装 git clone https://github.com/deepspeedai/DeepSpeed.git cd DeepSpeed pip install -e . pip install -e .[all] # 安装所有额外依赖
2. 通过Hugging Face Transformers Trainer使用(推荐)
from transformers import Trainer, TrainingArguments
training_args = TrainingArguments(
output_dir="./output",
deepspeed="./ds_config_zero3.json", # 指定DeepSpeed配置
per_device_train_batch_size=4,
gradient_accumulation_steps=8,
)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=train_dataset,
)
trainer.train()
3. ZeRO-3 + CPU Offload配置(ds_config_zero3.json)
{
"zero_optimization": {
"stage": 3,
"offload_optimizer": {
"device": "cpu"
}
},
"bf16": {
"enabled": "auto"
}
}
启动训练:
deepspeed --num_gpus 8 train.py --deepspeed ds_config_zero3.json
4. ZeRO-Offload单卡训练130亿参数模型
{
"zero_optimization": {
"stage": 2,
"offload_optimizer": {
"device": "cpu"
},
"contiguous_gradients": true,
"overlap_comm": true
}
}
5. ZeRO-Infinity NVMe卸载
{
"zero_optimization": {
"stage": 3,
"offload_optimizer": {
"device": "nvme",
"nvme_path": "/local_nvme"
},
"offload_param": {
"device": "nvme",
"nvme_path": "/local_nvme"
}
}
}
6. MoE训练配置
{
"tensor_parallel": {
"autotp": true
},
"moe": {
"enable": true,
"expert_parallel": 8
},
"zero_optimization": {
"stage": 3
}
}
7. 通过Accelerate使用
accelerate config # 选择DeepSpeed作为分布式后端 accelerate launch train.py
8. 部署前必检清单
- 确认仓库位于
github.com/deepspeedai/DeepSpeed(官方,已迁移至社区治理) - 许可:Apache-2.0,商用友好
- 最新稳定版0.19.1(2026-05-30),建议跟进最新版本以获得SuperOffload、Muon优化器等新特性
- 普通用户推荐通过Hugging Face Transformers Trainer或Accelerate间接调用
- 消费级硬件用户建议使用上层框架(LlamaFactory/MS-SWIFT/Axolotl),它们已封装DeepSpeed配置
- ZeRO-3 + CPU/NVMe卸载需要相应大小的CPU内存或NVMe空间
- 生产环境推理部署需配合vLLM、SGLang、TensorRT-LLM等专用推理引擎——DeepSpeed核心职责是训练优化
相关导航


LlamaFactory

Axolotl

TorchTune

Colossal-AI

veRL
OpenRLHF

