增量预训练经验积累(2)

书接上回,上篇中主要从几个比较宏观的角度对预训练流程进行了总结。本篇主要对一些技术进行分析总结。

1、并行策略选择

1.1 并行方式验证和调优

这个和集群很相关例如我目前在16台A800集群(每台机器8张80G显卡)上测的最佳3D并行策略的具体partition配置就和L40s集群不一样(和集群有关,和具体的模型也有关)
基于自己的训练GPU,训练集群的inter-gpu带宽,inter-node带宽,模型大小,训练数据,选择一个最优吞吐率的并行方案(集群不同并行方案就不同)。别人机器上的验证并行方式不一定适用你自己的机器。一般做好并行方式验证调优的话吞吐率可以提升30%-50%。

通过并行方式验证和调优,我们就是找到适合自己机器通讯环境的最优模型并行方式,这样可以逼近集群运算能力的上限。

1.2 如何选择并行策略

如果模型不是特别大7B,13B直接数据并行Data parallel(DP)搞起(zero0,zero1,zero2往上尝试),还塞不下然后考虑加Pipeline parallel(PP)。如果模型特别大70B,130B的时候,这时候考虑加Tensor parallel(TP)到2-4-8(一般先设置为2比较合适,优先增加PP),扩大PP直到能塞下模型,如果已经能塞的下模型了,再增大PP速度会降低速度,因为需要通讯量增加了。如果还是实在塞不下再考虑gradient chekpointing和off

你可能感兴趣的:(大模型,大语言模型,ChatGPT)