模型并行训练技术
💡
原文中文,约1500字,阅读约需4分钟。
📝
内容提要
本文介绍了三种模型并行的训练方法:数据并行、张量并行和流水线并行。数据并行适用于大规模数据集的训练,将训练数据按batch维度划分到多个worker设备上并行计算。张量并行适用于巨大型模型,将模型的某些张量按行或列划分到不同设备上并行计算。流水线并行适用于序列数据的长模型训练,将整个模型按层划分为多个连续的阶段,每个阶段由一个设备负责计算。
🎯
关键要点
-
数据并行适用于大规模数据集的训练,将训练数据按batch维度划分到多个worker设备上并行计算。
-
张量并行适用于巨大型模型,将模型的某些张量按行或列划分到不同设备上并行计算。
-
流水线并行适用于序列数据的长模型训练,将整个模型按层划分为多个连续的阶段,每个阶段由一个设备负责计算。
-
数据并行的核心思想是将训练数据按batch维度划分,分发到多个worker设备上并行计算。
-
张量并行的核心思想是将单个层或权重矩阵按行/列划分到不同的worker设备上并行计算。
-
流水线并行的核心思想是将模型划分为多个连续的阶段,每个阶段由一个worker设备负责。
-
数据并行适合大规模数据集,模型参数量相对较小,硬件资源要求较低。
-
张量并行适合极大型模型,通信开销最大,需要合理设计张量划分策略。
-
流水线并行适用于序列数据的长模型训练,能够提高总体吞吐量。
➡️