ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

策略选择与混合精度——从决策树到 FP16/BF16

策略选择与混合精度——从决策树到 FP16/BF16 策略选择与混合精度——从决策树到 FP16/BF16前七章分别介绍了数据并行、流水线并行、张量并行、序列并行、混合并行、自动并行和 MOE 并行。面对这么多并行策略,最实际的问题就是:我的场景应该选哪种?本章将给出一个实用的决策树,覆盖单机单卡、单机多卡、多机多卡三种场景,并深入分析 ZeRO 与 PP 的兼容性陷阱、FP16 与 BF16 的混合精度选型,以及训练稳定性的最佳实践。8.1 分布式训练并行策略选择决策树8.1.1 单机单卡场景模型可以放入单张 GPU:正常使用,无需任何并行策略。模型无法放入单张 GPU:方案说明适用条件ZeRO + Offload CPU/NVMe将优化器状态和梯度卸载到 CPU 或 NVMe模型稍大于单卡显存MCT(以内存为中心的平铺)自动分割层并按顺序执行,减少 GPU 上实时参数数量单层也放不下单卡MCT(Memory-Centric Tiling)是一个值得关注的方案:它允许你运行任意大的层,通过自动分割层并按顺序执行来减少 GPU 上实时参数的数量。但需要注意,MCT 只减少参数显存,不影响激活显存。8.1.2 单机多卡场景模型可以放入单张 GPU:方案特点DDP分布式数据并行,成熟稳定,通信开销最小ZeRO可能更快,也可能不会更快,取决于具体使用情况和配置模型无法放入单张 GPU:方案适用条件PP有 NVLINK/NVSwitch 时,与 TP/ZeRO 基本同等水平TP有 NVLINK/NVSwitch 时,与 PP/ZeRO 基本同等水平ZeRO有 NVLINK/NVSwitch 时,与 PP/TP 基本同等水平关键判断:有 NVLINK/NVSwitch:PP、TP、ZeRO 三者基本处于同等水平,选择取决于具体模型和配置无 NVLINK/NVSwitch:PP 比 TP 或 ZeRO 更快,因为 PP 的通信量最少TP 几乎总是在单个节点内使用:TP 大小 ≤ 每个节点的 GPU 数8.1.3 多机多卡场景节点间网络通信速度较快(如 InfiniBand 200Gbps+):方案特点ZeRO几乎不需要对模型进行任何修改,上手成本低PP+TP+DP通信较少,但需要对模型进行大量更改节点间网络通信速度较慢且 GPU 内存不足:方案特点DP+PP+TP+ZeRO-1PP 与 ZeRO-1 组合,兼容性最佳8.2 ZeRO 与 PP 的兼容性深度解析8.2.1 兼容性矩阵组合可行性推荐原因ZeRO-1 + PP✅✅ZeRO-1 仅分片优化器状态,不影响 PP 的梯度累积ZeRO-1 + PP + TP✅✅最稳定的 3D 并行组合ZeRO-2 + PP❌❌梯度分块与累积冲突ZeRO-3 + PP❌❌参数分片与 PP 的通信模式冲突ZeRO-2 + PP(ColossalAI)⚠️❌可用但效率不高
返回列表