文档
注册

并行策略建议

并行策略通用建议

并行策略的调试与设计需要对具体模型进行详细分析,没有一个通用的万能法则可以适用于所有情况。然而,借鉴以往的调优经验,我们可以总结出一些相对通用的建议。
  1. 在面临显存不足、模型过大无法完全加载以及需要进行切分的情况下,优先考虑使用TP(Tensor Parallelism)进行切分,并确保切分的数量小于等于机器内的计算卡数。例如,在一台服务器上有8张计算卡,那么TP的最大设置不应超过8。这样可以充分利用计算资源,减少显存占用。
  2. 如果在TP切分达到最大显存容量仍然不足的情况下,可以考虑在机器之间使用PP(Pipeline Parallelism)进行切分。理论上,PP的数量应该越小越好,以尽可能减少空闲计算资源的浪费。
  3. 在机器资源富裕的情况下,可以开启DP(Data Parallelism)并行,将计算任务分配给多个机器进行并行处理,从而提高处理效率。然而,在机器资源有限的情况下,如果开启TP+PP切分后显存仍然不足,可以考虑使用ZeRO1和重计算技术。ZeRO1可以将模型优化器状态划分到更多的设备上,并通过集合通信进行同步。同时,重计算技术可以通过选择性重计算来提高显存的使用率,从而提高模型训练效率。
  4. 此外,即使在模型能够成功运行的情况下,也可以尝试主动地使用降低内存占用的手段,例如ZeRO1和重计算等,然后增大Batch Size。这样有时也会取得令人意外的效果。

综上所述,通过技术能力和合理选择并行策略,可以在资源有限的情况下优化模型训练效率,并充分利用计算资源。然而,对于具体的模型和环境,仍需要进行详细分析和实验,以找到最佳的并行策略和优化方法。

TP线性度和micro batch size线性度测试和分析

在进行大模型的分布式部署之前,可以通过进行TP并行数和micro batch size的线性度测试来发现算子的亲和性,从而优化算子的性能。以GPT-3大模型为例,可以设计以下测试用例。

图1 TP线性度和micro batch size线性度测试和分析

通过分析这些数据,可以确定模型一层结构下的不同shape下的算子耗时,算子shape由TP切分和micro batch size决定。确定TP并行度和micro batch size有助于指导整体模型的高性能部署。然而,实际部署时还需要考虑硬件资源的限制,特别是片上内存的容量。因此,在进行分布式部署之前,需要综合考虑模型的性能需求和硬件资源的限制,以做出最佳的部署决策。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词