AI News Daily
← Wiki / 概念

FSDP / ZeRO 全分片数据并行

草稿 约 5 分钟阅读

FSDP / ZeRO 全分片数据并行

概述

FSDP(Fully Sharded Data Parallel)是数据并行(DP)的进阶形式,核心思想是将模型参数、梯度和优化器状态”切碎”后分散到所有 GPU 上,每个 GPU 只持有一部分。计算前通过 AllGather 临时凑齐所需参数,计算后通过 ReduceScatter 分散梯度。这使每个 GPU 只存 1/N 的模型状态,大幅节省显存。微软的 ZeRO(Zero Redundancy Optimizer)是同一思想的另一个名称。

工作原理

sequenceDiagram
    participant GPU0 as GPU 0
    participant GPU1 as GPU 1
    participant GPU2 as GPU 2
    participant GPU3 as GPU 3

    Note over GPU0,GPU3: Forward Pass
    GPU0->>GPU0: 持有参数分片 A
    GPU0->>GPU1: AllGather 收集完整参数
    GPU1-->>GPU0: 返回参数分片
    GPU0->>GPU0: 前向计算
    Note over GPU0,GPU3: Backward Pass
    GPU0->>GPU0: 反向计算,产生梯度
    GPU0->>GPU1: ReduceScatter 分散梯度
    GPU1-->>GPU0: 各 GPU 获得自己的梯度分片
    Note over GPU0,GPU3: Optimizer Step
    GPU0->>GPU0: 仅更新自己的参数分片

关键变体

变体年份论文/系统核心改进
ZeRO Stage 1-32020DeepSpeed (Microsoft)三阶段分片,逐步节省显存
FSDP12021PyTorch FSDP1 (Meta)元素级分片,ReduceScatter 慢
FSDP22023PyTorch FSDP2 (Meta)行级分片 Shard(0),Copy-Out 5-13ms + Copy-In 12-23ms
Megatron-FSDP2023NVIDIA行级+填充,33% 缓冲区填充膨胀
veScale-FSDP2025veScale-FSDP (ByteDance)RaggedShard 任意块大小 + DBuffer 零拷贝

最新进展

相关概念

相关实体

来源引用

日期报告关键发现
2026-06-04veScale-FSDP 深度解读RaggedShard, DBuffer, 规划算法, 8K GPU, 2.4T 模型