HSDP
2026/7/23大约 3 分钟
HSDP(Hybrid Sharded Data Parallel,混合分片数据并行) 恰好就是当今工业界为了拯救“偏科服务器(机内卡极好,跨机网极差)”而发明的终极大招。
要理解 HSDP,我们需要把它拆解成你已经认识的两位老熟人:FSDP (切分显存) + DDP (跨机复制)。
为什么纯 FSDP 会翻车?
前置知识:FSDP(完全分片数据并行)的逻辑是“有几张卡,就把模型切几份”。
如果你有 2 台机器,每台 8 张卡(共 16 张卡),FSDP 会毫不留情地把模型切成 16 份。
- 致命瓶颈: 在计算(前向传播)时,每张卡都需要向另外 15 张卡要数据(AllGather)。
- SRE 的灾难: 同一台机器里的 8 张卡互相给数据,走的是 NVLink(跑车在高速公路上飞奔,毫无压力)。但是,它还要跨机器向另外 8 张卡要数据,这必须走跨机网卡(跑车突然挤进了泥泞的乡间小道)。如果你们机房的网卡恰好配置不高(比如之前那台单张 200G 的配置),跨机的 AllGather 会把网卡彻底干爆,所有的 GPU 都在死等网络传输,算力利用率(MFU)暴跌。
HSDP 的破局之道:内外有别
HSDP 的核心哲学极其务实:认清硬件现实,机内走切分,机外走复制。
- 在机器内部 (Intra-node):使用 FSDP。 它把模型切成 8 份分给机内的 8 张卡。因为机内有无敌的 NVLink,互相拼凑数据极快,还能省下大量显存。
- 在机器之间 (Inter-node):使用 DDP。 节点 1 拥有一套完整的模型(由内部 8 张卡拼成),节点 2 也拥有一套一模一样的完整模型。节点之间不再互相要模型切片,只在最后算完梯度时,互相交流一下“更新方向”(AllReduce)。
为了让你一眼看穿这两者在底层是如何分配内存的,我为你做了一个可视化的显存切片模拟器。你可以切换看看,在 2 台机器(共 8 张卡)的集群里,参数是怎么分布的:


SRE 面试黄金考点:什么时候该用 HSDP?
当你作为 AI Infra SRE 面对一个新的大模型训练任务时,你需要这样帮算法团队做决策:
- 什么时候用纯 FSDP?
你们公司很有钱,买的都是顶级机器,不但机内有 NVLink,跨机网络也是满配的 8 轨 400G InfiniBand(俗称 IB 网)。跨机网络和机内网络一样快,不用犹豫,直接上纯 FSDP,显存利用率最大化。
- 什么时候用 HSDP?
像你之前发的那张配置图:单机 8 卡算力爆表(NVLink 互联),但跨机只有一张 200G 的普通以太网卡。这时候如果你用纯 FSDP,集群就“瘫痪”了。你必须强制算法同学在启动 PyTorch 脚本时开启 HSDP,用显存空间(每个节点存一份副本)去换取通信时间(不用跨机传参数)。
在你们目前的基础设施里,如果涉及到多机训练,网络配置通常是怎样的呢?是豪华的专线 IB 网络,还是容易拥堵的普通以太网?
