【分布式训练中 各种并行方案 分别用什么通信 为什么?比如DP会用到 ALL reduce】

📅 2026/7/2 16:10:25
【分布式训练中 各种并行方案 分别用什么通信 为什么?比如DP会用到 ALL reduce】
并行方式切分对象主要通信为什么需要DPBatchAllReduce每张卡算出的梯度不同需要同步梯度TPWeight权重AllReduce / AllGather / ReduceScatter每张卡只有部分权重或部分输出需要恢复完整计算PPLayerSend / Recv (P2P)下一层在另一张 GPU需要传递激活值和梯度ZeRO-1Optimizer StateAllReduce参数完整只同步梯度ZeRO-2Optimizer GradientReduceScatter AllGather或 AllReduce 的等价实现梯度分片存储需要分发和聚合ZeRO-3 / FSDPParameter Gradient OptimizerAllGather ReduceScatter参数也是分片的每层计算前需要恢复完整参数Sequence ParallelSequenceAllGather ReduceScatterAttention 等算子需要完整 SequenceContext ParallelContextAllGather / AllToAll实现相关长上下文 Attention 需要跨 GPU 的 KVExpert ParallelMoEExpertAllToAllToken 要发送到负责该 Expert 的 GPU