![]()
![]()
![]()
发布日期:2026年10月24日 版本:v0.19.8
DeepSpeed v0.19.8 是一次覆盖面非常广的版本更新。本次版本不仅集中强化了 AutoEP、AutoTP、AutoSP、ZeRO、Muon 等核心能力,也带来了词表并行算子、融合算子、NPU 与 XPU 适配、Rollout 推理能力、检查点可靠性、CI 体系优化等大量改进。
与此同时,部分历史遗留功能被正式弃用或移除,项目整体向更轻量、更现代、更易维护的训练与推理体系演进。
一、历史功能弃用与移除:清理遗留能力,降低维护负担
v0.19.8 对多个旧功能进行了弃用或移除,主要目标是清理历史遗留代码、减少兼容性负担,并将资源集中到当前主流的训练与推理方案上。
本次弃用或移除的内容包括:
• 弃用压缩库的残余组件。
• 弃用 Loco Zero++。
• 弃用 sparse_gradients。
• 弃用 APEX amp。
• 弃用旧版 Curriculum Learning,也就是传统课程学习能力。
• 移除 Progressive Layer Dropping,也就是 PLD 支持。
• 移除 Elastic Training。
• 移除旧版 TiledLoss。
• 移除 UlyssesSPFwdLossBwdWithLogits。
• 弃用并移除 Graph Harvesting。
• 移除 HPU CI 中已经过期的压缩测试。
• 移除 ROCm 环境中未使用的 Apex 克隆、构建和 PYTHONPATH 配置。
• 在 NPU 上,将已废弃的 npu_apply_adam 与 npu_apply_adam_w 替换为 torch 内部融合 Adam 接口。
这些调整意味着,依赖上述历史能力的用户需要提前评估迁移方案。特别是使用旧 AMP、旧压缩路径、弹性训练、PLD 或历史课程学习接口的项目,应尽快检查升级后的兼容性。
二、AutoEP 大规模升级:MoE 专家并行能力持续增强
AutoEP 是本次更新最密集的区域之一,涵盖显存优化、通信布局、融合算子、检查点、编译优化、模型预设等多个方向。
1. 内存与缓存管理优化
AutoEP 在缓存和显存使用方面获得多项改进:
• 在检查点重放退出时释放 AutoEP Router Logit 缓存。
• 新增可选的 AutoEP Python GC 策略。
• 默认 combine 路径移除冗余的 float32 副本。
• 多个 MoE Layer 可以共享一个 DeepEP Buffer,不再为每个 Layer 单独分配 Buffer。
• 当 DeepEP Buffer 已经恰好保存到达的行时,不再对其进行多余切片。
• 在立即梯度更新累积完成后,及时释放每个 BF16 梯度。
• 为 AutoEP 新增 Activation Registry。
通过这些调整,AutoEP 在长时间训练、多层 MoE 堆叠、重计算以及大规模专家模型下,可以减少冗余缓存和不必要的显存占用。
2. 通信、调度与布局重放增强
DeepEP 的通信和布局处理也获得强化:
• AutoEP 分割规划可以与 Token Packing 重叠执行。
• 在检查点非重入式重计算中,重放 AutoEP 缓存的 DeepEP Dispatch Layout。
• 重放 AutoEP 的缓存 DeepEP Dispatch 时,使用该布局最初构建时的格式。
• 专家行可以通过集合通信路径中的 gather 进行重新排序。
• 融合加权 Restore 前向计算调整为每个 Token 一个程序。
• AutoEP 支持带仿射关系的检查点放置。
• AutoEP 与 AutoTP 可以在 ZeRO-3 下进行 Folding。
• 新增可选的融合 AutoEP DeepEP Row Weighting。
• 新增可选的融合 Gate 加 Up 的 Grouped GEMM,用于 AutoEP 专家计算。
这些改进涉及专家 Token 分发、恢复、加权、通信调度与检查点重算等关键路径,有助于提升 MoE 场景的执行效率与稳定性。
3. 编译与模型配置能力增强
本版本为 AutoEP 增加了多项可选优化能力:
• 支持围绕 AutoEP Layer 进行可选的区域编译。
• 新增 MiniMax-M3 预设。
• 支持 AutoEP 和 AutoTP 在 ZeRO-3 下协同折叠。
• 为 MoE 专家路径增加融合 Gate 与 Up 投影的 Grouped GEMM 选择。
• 默认 combine 路径减少不必要的 float32 数据复制。
对于高性能 MoE 训练场景,这些更新提供了更灵活的配置与进一步的融合空间。
三、AutoTP 继续扩展:词表并行、输出头训练与权重绑定支持
AutoTP 在本次版本中重点补强了大模型输出层、词表并行和权重绑定能力。
核心更新包括:
• 增加对 Vocab-Parallel LM Head 的支持,并加入相关配置能力。
• 支持 Eager 模式下 Row-Parallel Output Head 的训练。
• 增加可选的 Liger Vocabulary-Parallel Cross Entropy。
• 实现 VocabParallelEmbedding,并增强 Tied Model 支持。
• 支持 Row-Parallel Output Head 训练中的 Tied Embedding。
• AutoTP 训练测试使用默认 float32 容差。
• 增加词表并行 Logprobs、Entropy 和 KL 算子。
• 增加词表并行融合 Linear Cross Entropy。
• 在 ZeRO-3 下支持 AutoEP 与 AutoTP Folding。
这些能力对超大词表语言模型尤其重要。词表并行输出头、词表并行交叉熵、词表并行 Logprob 与 KL 计算,可以降低完整词表激活和损失计算带来的内存压力。
与此同时,VocabParallelEmbedding 与 Tied Embedding 支持也让输入嵌入层和输出头共享参数的模型结构获得更完整的并行训练支持。
四、Muon 优化器升级:按头更新、ZeRO 适配与精度修复
Muon 相关改动非常丰富,覆盖注意力层、线性注意力、ZeRO 分片、混合精度和数值稳定性。
本次更新包括:
• 注意力投影支持 Per-Head Newton-Schulz。
• 线性注意力层支持 Per-Head Muon,并从所属模块读取 Head Geometry。
• Muon 支持在 BF16_Optimizer 下使用 float32 梯度累积。
• 在 ZeRO-3 下,Muon 每个 Optimizer Step 仅执行一次,不再每个 Micro-Batch 执行一次。
• 修复 Muon 在 ZeRO CPU Offload 下的问题,并限制 Gather Buffer。
• 在 ZeRO-1 与 ZeRO-2 中,每个分区只暂存一次 Muon Momentum。
• 修复 Muon Update 重编译时 Aspect-Ratio Scale 被截断的问题。
• 修复 ZeRO-3 下 Muon 对混合参数形状进行 All-Gather 时的问题。
• 在 fp16 Loss Scaling 下保持 Muon Update 的完整尺寸。
• 对 Gram Newton-Schulz 输入进行归一化后,再转换为 fp16。
• 修复零元素参数绑定 Flat Buffer 后丢失形状的问题。
其中,按 Head 处理 Newton-Schulz 和 Muon 更新,使注意力投影与线性注意力层可以按照更细粒度的头部几何信息执行优化。
同时,Muon 与 ZeRO、CPU Offload、Loss Scaling、混合参数形状的兼容性修复,对于大规模分布式训练具有重要意义。
五、ZeRO 系列改进:梯度、Offload、Gather 与检查点可靠性提升
ZeRO 是 DeepSpeed 的核心能力之一,v0.19.8 对 ZeRO-1、ZeRO-2、ZeRO-3 进行了大量稳定性和性能优化。
1. 梯度处理与精度修复
本次版本修复和增强了多项梯度逻辑:
• 修复 ZeRO-1 与 ZeRO-2 在 CPU 上进行非连续 Reduce 时静默丢失 Gradient Bucket 的问题。
• 修复 ZeRO-2 分区存储未保持 float32 梯度累积精度的问题。
• 避免 ZeRO-3 子组更新中反复执行完整梯度清理。
• 在 ZeRO-1 与 ZeRO-2 中强化 Offload Gradient Storage 的生命周期与 Stream 顺序。
• 支持 BF16 Overflow Check 关闭选项在 ZeRO-1 与 ZeRO-2 中生效。
• 在 FP16_Optimizer 的 MoE Grad Norm 计算中,使用专家梯度而非专家权重。
• 在混合精度转换时跳过窄数据类型。
• 在梯度溢出时记录被跳过的 Optimizer Step。
• 防止无效 Group Norm Sentinel 最终变成有限的 1.0 Step。
2. 参数 Gather 与 Buffer 生命周期优化
围绕 ZeRO-3 的参数收集路径,DeepSpeed 进行了进一步完善:
• 在 Coalesced ZeRO-3 Parameter Gather 中等待所有异步 All-Gather 完成。
• 修复 ZeRO-3 下 Muon 对混合参数形状的 All-Gather 问题。
• 保持模型明确命名为 fp32 的 Buffer 在 ZeRO-3 下继续为 fp32。
• ZeRO DeepCompile Backward Hook 在 AutoSP 场景下跳过执行。
• 对 Offload State 的移除操作增加约束,仅当 Offload 离开加速器时才执行移除断言。
• 零元素参数绑定到 Flat Buffer 后保持原始 Shape。
• 支持在 ZeRO-3 下进行 AutoEP 与 AutoTP Folding。
3. 检查点转换与分片安全
检查点相关内容也得到强化:
• 在 ZeRO Checkpoint Conversion 时保留非浮点类型 Buffer。
• 拒绝多个 Piece 写入相同 Shard Address 的映射。
• 从 Layer 发布的 Map 中恢复 Shard。
• 新增 Scale 为 1 的仿射 Shard-to-Shard Transfer 规划,无需重建参数。
• 放宽 Checkpointing 测试后期迭代的梯度容差。
这些改进让大规模训练中的状态保存、恢复、参数映射与格式转换更加可靠。
六、AutoSP 与序列并行:掩码、维度与进程组校验完善
AutoSP 在 v0.19.8 中增加了多项正确性与兼容性修复:
• AutoSP 切分输入时遵循 seq_dim。
• 修复 get_node_shape_meta 中 Tensor Truthiness 问题。
• 在 SDPA 前重建 Query Shard 的 Attention Mask。
• 检查 AutoSP 的 Sequence Length 与 Head Count 是否可整除。
• 注册 Process Group 时验证 AutoSP 的 SP 与 DP Mesh。
• ZeRO DeepCompile Backward Hook 在 AutoSP 中跳过执行。
• 修复 Ulysses SP 对字符串模型路径和 Gloo Collective 的注册问题。
• 移除旧版 UlyssesSPFwdLossBwdWithLogits。
这些调整主要覆盖序列维度切分、注意力掩码重建、拓扑校验和进程组注册,有助于避免序列并行配置错误或注意力计算不一致的问题。
七、Rollout 与推理能力更新:连续批处理、CUDA Graph、采样与缓存完善
Rollout 相关功能在本次版本中新增和修复了多个关键点。
主要更新包括:
• 拒绝 Shared Prefill 与 Continuous Batching 同时使用。
• 采样路径正确传递 Top-K Sampling 配置。
• 对齐 Decode Front,并裁剪 Dead Zone。
• 新增 OPSD Response Token Loss Primitive。
• 为 Rollout Cache Fake 补充当前 Transformers 所读取的 Per-Layer Config。
• 为 Continuous Rollout 启用 CUDA Graph。
• 修复 HybridEngine OPT Generation 与现代 Cache Interface 的兼容性问题。
• 避免 Hybrid Engine 与 OPT Model 导致的循环导入。
• 在 NPU 推理算子中修复 RoPE 正确性、Inverse Frequency 缓存和 KV Cache 预分配。
这些改动涉及持续生成、缓存接口、采样参数、推理图执行和 NPU 推理算子,为高吞吐 Rollout 场景提供了更完整的支持。
八、融合算子与计算性能优化
v0.19.8 增加或强化了多个融合计算能力。
具体包括:
• 新增可选的融合 Triton RoPE,面向 Hugging Face Split-Half 模型。
• 新增可选的融合 Triton RMSNorm,面向 Llama 风格 Hugging Face 模型。
• 新增可选的融合 Gate 加 Up Grouped GEMM,用于 AutoEP 专家网络。
• 新增可选的融合 AutoEP DeepEP Row Weighting。
• SwiGLU 与 AutoEP Fused Restore Triton Kernel 的 Program ID 改为 int64。
• 修复 FlashAttention 与 MatMul Autotuning 的 Triton 兼容性。
• 在 NPU 加速器上实现 FusedLion、FusedLamb 和 Quantizer 算子。
• 构建 CPU Optimizer Op 时不再依赖 CUDA,并修复 CPU Lion SIMD Update。
• 针对 Torch 2.12 及以上版本,XPU Op Builder 使用 C++20。
• 针对 Torch 2.12 及以上版本,NPU Op Builder 使用 C++20。
这些改动覆盖 Transformer 核心路径、MoE 专家路径、优化器、归一化、位置编码与编译构建过程。
九、NPU、XPU 与硬件后端支持扩展
本次版本进一步扩展了不同硬件加速器的支持范围。
更新内容包括:
• 为 NPU 注册 Native Pinned Host Memory 到 CANN Runtime。
• 为 SUPA 实现 register_host_memory 与 unregister_host_memory。
• 为 NPU Accelerator 实现 Graph Operations。
• 在 NPU 上实现 FusedLion、FusedLamb 与 Quantizer 算子。
• NPU 推理算子修复 RoPE 正确性、Inverse Frequency 缓存以及 KV Cache 预分配。
• NPU 使用新的融合 Adam 接口替代废弃接口。
• 新增 KLXPU,也就是 KUNLUNXIN XPU Accelerator。
• 针对 Torch 2.12 及以上版本,NPU 与 XPU Op Builder 切换至 C++20。
• 在不支持 fp16 的加速器上跳过 fp16 ZeroPP 测试。
• 在不支持 fp16 的加速器上跳过 fp16 配置测试。
这意味着 DeepSpeed 正在进一步提升跨硬件平台的训练与推理支持能力。
十、词表并行与内存优化:降低大词表训练开销
大词表模型的输出计算往往是训练中的显存热点。v0.19.8 在这一方向提供了多项功能:
• 支持 Vocab-Parallel LM Head。
• 实现 VocabParallelEmbedding。
• 支持词表并行 Logprobs。
• 支持词表并行 Entropy。
• 支持词表并行 KL。
• 新增词表并行融合 Linear Cross Entropy。
• 支持可选 Liger Vocabulary-Parallel Cross Entropy。
• 新增可选 Chunked Causal-LM Loss,不保留完整词表的 float32 Tensor。
• 降低 Chunked Cross-Entropy Memory Test 的资源占用。
• 支持 Row-Parallel Output Head 的训练。
• 支持 Row-Parallel Output Head 与 Tied Embedding 结合。
对于词表规模极大、Batch 较大或上下文长度较长的语言模型,这些功能有助于减少输出层和交叉熵计算的内存压力。
十一、模型布局、注意力与训练正确性修复
本版本还包含多个模型布局、注意力机制和训练逻辑方面的完善:
• 描述 GPTBigCode 与 Yuan 的 Shared-QK Layout。
• 描述 CodeGen 的 Fused-QKV Layout,采用 Block Selection 方式表示。
• 修复 FPDT 在 Grouped-Query Attention 下的 K/V Gradient Buffer。
• 修复 SequenceTiledCompute 在末尾空 Shard 场景的 Backward。
• 修复 CPUAdagrad 在非零 Weight Decay 下的更新逻辑。
• DeepSpeedCPUAdam 显式拒绝 amsgrad,而不是静默忽略。
• ZenFlow Adam 的 Step Counter 保持为 float32。
• 修复 DataAnalyzer.run_map 在设置 specific_threads 时崩溃的问题。
• 修复 Autotuner 在实验未产生 Metric 时的崩溃问题。
• 添加 deepspeed.comm.pg_utils.is_parallel,用于可选并行 Group。
• 在 CPU 或 Gloo Worker 关闭前释放 Process Group Cache。
• 对共享内存推理 All-Reduce 增加 Host ISA 检查。
• 修复 shm_initialize 中的 Memory Leak 和 NULL Dereference。
这些更新提升了不同模型结构、并行配置、CPU 场景和共享内存通信场景下的稳定性。
十二、导入性能、异步资源与运行时行为优化
DeepSpeed v0.19.8 还对基础运行时体验进行了优化:
• 通过延迟重型 Import 与 Import-Time Work,加快 import deepspeed。
• 销毁 AIO Handle 时释放 GIL。
• 在 CPU 与 Gloo Worker Shutdown 前释放 Process Group Cache。
• 修复共享内存初始化中的内存泄漏和空指针解引用。
• 对 Host ISA 进行检查后再执行共享内存推理 All-Reduce。
• 避免 Hybrid Engine 与 OPT Model 之间的循环导入。
对于服务化推理、频繁拉起 Worker、CPU 分布式运行与异步 I/O 场景,这些调整可以改善运行稳定性与资源回收表现。
十三、CI、测试与构建体系更新
本次版本对 CI 和测试体系进行了较多调整,以缩短不必要的任务时间,并增强问题发现能力。
更新包括:
• 根目录 Markdown 文档变更时跳过重型 CI。
• 文档专用变更减少不必要 CI 工作。
• 合并 Agent Instructions 到 AGENTS.md。
• 增加 PR Checklist Agent Skill 与 AI Contribution Policy。
• 升级 yapf 至 0.43.0,修复 CI 中 EOFError 失败。
• 提高 Modal Sandbox Timeout,以容纳完整测试套件运行时间。
• 将 Modal Nightly Sandbox Timeout 提升至 2 小时。
• 增加 Nightly Full-Suite Run,并提供分类失败分诊。
• Torch Latest 固定到 OCI,并覆盖 PR Open Event。
• 增加 Torch Latest 的 AWS Capacity Fallback。
• 在命令运行时流式输出 AWS Fallback Log。
• Torch Latest 仅在 AWS 运行。
• 恢复 Modal First 的 Torch Latest 路由。
• 新增 Nightly Multi-Rank CPU Suite。
• 修复 CPU Torch Latest 中的两个失败项。
• 修复 CPU 上的 Pipeline 测试失败。
• 修复 CPU Accelerator 上的 Lion 配置测试,并在所有 Runner 上执行。
• 在无 fp16 支持的加速器上跳过 fp16 ZeroPP 测试。
• 在无 fp16 支持的加速器上跳过 fp16 配置测试。
• 推导 Autocast Test Backend,并将 bf16 Gate 限制在 NCCL。
• 放宽 Checkpointing 测试后期迭代阶段的 Gradient Tolerance。
• 更新 0.19.7 发布后的 version.txt。
• 整合文档与拼写修复相关变更。
这些调整说明,DeepSpeed 正持续优化测试资源调度、云端执行策略、夜间回归机制与不同硬件后端的验证覆盖率。
十四、文档与社区维护更新
除核心技术更新外,本版本还包含文档与维护性改进:
• 文档中避免 Codex 对 DCO Sign-Off 的误报。
• 补充 sub_group_size 文档,并将默认值更正为 1e9。
• 新增简体中文 README 翻译。
• 描述 GPTBigCode、Yuan 与 CodeGen 的 QKV、Shared-QK 等权重布局。
• 新增 AI Contribution Policy。
• 新增 PR Checklist Agent Skill。
• 更新提交者列表。
• 合并文档和拼写修复相关变更。
• 针对文档变更减少不必要的 CI 工作。
这些内容虽然不直接改变训练性能,但能够改善使用门槛、贡献流程与模型适配信息的可获得性。
十五、v0.19.8 更新重点总结
代码地址:github.com/deepspeedai/DeepSpeed
DeepSpeed v0.19.8 的核心方向可以概括为以下几个方面:
• AutoEP 获得大规模增强,覆盖 DeepEP Buffer、通信布局、缓存回放、融合算子、检查点和区域编译。
• AutoTP 进一步完善词表并行、输出头训练、词嵌入与权重绑定能力。
• Muon 优化器显著强化了按 Head 更新、ZeRO 集成、CPU Offload 与混合精度兼容性。
• ZeRO-1、ZeRO-2、ZeRO-3 在梯度、Offload、Gather、Buffer 生命周期与检查点可靠性方面持续完善。
• AutoSP 改进序列维度切分、注意力掩码重建、Mesh 校验和进程组注册。
• Rollout 支持连续生成 CUDA Graph、采样配置传递、缓存兼容性与推理路径优化。
• NPU、XPU 与 CPU 后端能力继续扩展,跨硬件适配范围更广。
• 词表并行交叉熵、Logprobs、Entropy、KL 与 Chunked Loss 为大词表模型训练带来更多选择。
• 多项历史遗留功能被弃用或移除,项目结构进一步向现代化方向收敛。
• CI、Nightly、云端测试与文档体系同步升级。
总体来看,DeepSpeed v0.19.8 并非单一功能更新,而是一次面向大规模模型训练、MoE 专家并行、序列并行、词表并行、推理 Rollout 和异构硬件后端的综合性迭代。对于正在使用 ZeRO、AutoEP、AutoTP、Muon 或大规模 MoE 训练方案的用户,这一版本值得重点关注。
我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。 欢迎关注“福大大架构师每日一题”,发消息可获得面试资料,让AI助力您的未来发展。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.