MindSpeed大模型训练前置知识之大并行加速算法
并行为什么对大模型训练这么重要?
从chatgpt大模型爆发,尤其因规模定律作用下,大模型展现出涌现能力,AI模型的天花板被一步步摸高。大模型规模定律与模型参数量、训练数据量、算力大小呈幂律正相关性。大模型训练过程中需要面对“模型参数量大、训练数据量大、算力量有限”的挑战,大模型参数量由十亿到百亿、千亿甚至万亿的增长量级,同时预训练数据量高达数十T的量级。例如GPT-3有1730亿的参数量,投喂570G语料数据,使用8张V100,则训练时长需要36年。

面对大模型大参数量以及海量训练数据量对算力的需求挑战,衍生出两种经典的训练并行加速策略,模型并行&数据并行。
3D并行
模型并行(PP、TP)
大参数量的大模型训练需要多机多卡,多机多卡上并行的高效训练就需要对模型结构分拆以及并行计算做策略。模型并行衍生出对模型层进行拆分去并行计算的流水线并行(Pipeline Parallel,PP);对模型张量进行拆分做并行计算的张量并行(Tensor Parallel,TP)。
流水线并行:模型的结构一般是分layer构建,基于底层训练卡将模型的不同层分不到不同的卡上做流水线并行。假设