扩展大语言模型训练:从单芯片到数据中心。第四章:训练Transformer
本章回顾了在多个加速器上训练Transformer的四种并行方式:数据并行、全分片数据并行(FSDP)、张量并行和流水线并行。它讨论了各自的优缺点以及何时将其组合使用,强调了实现计算密集型性能以实现可扩展性的重要性。
这篇文章讲解了如何高效地大规模训练一个Transformer模型。它引入了模型维度(D、F、B、T、L)和硬件(C、W、X、Y、Z)的符号表示。文中描述了四种并行类型:数据并行将批次拆分到各个加速器上,需要AllReduce进行梯度聚合,当模型适合单个加速器时效果很好。FSDP(即ZeRO,全分片数据并行)对模型权重、梯度和优化器状态进行分片,使用AllGather和ReduceScatter,在小批量大小下受计算限制。张量并行对权重矩阵进行分片,交换激活值,最好与FSDP结合使用,以减少激活值相对于权重的大小。流水线并行按层拆分模型,最小化数据传输,但引入了“流水线气泡”,可以通过微批处理或计算重叠来缓解。文章指出,FSDP+TP的组合几乎总是受计算限制,而流水线并行在GPU集群中很常见。结论是,目标是在管理开销的同时进行扩展。
来源: Habr — хаб ИИ —
原文
