微信开源「派大星」:4000元游戏电脑能带动7亿参数GPT( 二 )


而且不仅是对于机构 , 更是有益于个人开发者 。
……
那么派大星的效果 , 具体又怎样呢?
值得一提的是 , 派大星并不是基于DeepSpeed的魔改 , 代码是团队起来的 。
派大星框架非常直观的一个特点 , 便是简单易用 , 而且还是可以兼容其他并行方案的那种 。
例如 , 开发者可以使用几行代码端到端的加速PyTorch的训练过程 。
frompatrickstar.runtimeimportinitialize_engineconfig={"optimizer":{"type":"Adam","params":{"lr":0.001,"betas":(0.9,0.999),"eps":1e-6,"weight_decay":0,"use_hybrid_adam":True,},},"fp16":{#lossscalerparams"enabled":True,"loss_scale":0,"initial_scale_power":2**3,"loss_scale_window":1000,"hysteresis":2,"min_loss_scale":1,},"default_chunk_size":64*1024*1024,"release_after_init":True,"use_cpu_embedding":False,}defmodel_func():#MyModelisaderivedclassfortorch.nn.ModulereturnMyModel(...)model,optimizer=initialize_engine(model_func=model_func,local_rank=0,config=config)...fordataindataloader:optimizer.zero_grad()loss=model(data)model.backward(loss)optimizer.step()接下来 , 我们一起看一下派大星的性能效果 。
微信开源「派大星」:4000元游戏电脑能带动7亿参数GPT
文章图片
上图便展示了DeepSpeedstage3 , PyTorch系统在1、2、4、8个GPU上的性能(y轴通过对数方式重新缩放) 。
这些点代表在一个GPU上使用4、8、16、32和64批大小测试的最佳结果 。
(注:圆点周围的值表示派大星在吞吐量及其对DeepSpeed的加速;deeps是DeepSpeed仅使用数据并行的效果 , 我们接下来称之为DeepSpeed-DP , deeps-mpX是DeepSpeed使用X路的模型并行结果;模型的计量单位是B表示十亿Billon 。 )*
PyTorch仅适用于1B模型大小的情况 , 派大星在8个GPU上比PyTorch快1.37倍 , 在1、2、4个GPU情况下与PyTorch相似 。
使用相同的零冗余优化器来实现数据并行 , 派大星在大多数情况下(14个中有12个)优于DeepSpeed-DP , 并且数据并行方式训练8B和12B之间模型大小的唯一解决方案 。
不难看出 , 尤其是针对小模型 , 改进是非常明显了(0.90x-1.49x) 。
而在增加模型大小时 , 派大星不会显着降低计算效率 。
此外 , 派大星在增加GPU数量时显示出超线性可扩展性 。
若是将派大星与模型并行解决方案进行了比较 , 又会是怎样的结果?
例如在上图中 , 还比较了DeepSpeed在8个GPU卡上使用Zero-DP方案叠加2路模型并行和4路模型并行的性能 。
派大星在所有测试用例上实现了最大的模型规模120亿参数 , 以及最佳的性能效率 。
微信开源「派大星」:4000元游戏电脑能带动7亿参数GPT】在模型并行的帮助下 , DeepSpeed将模型规模扩展到了80亿参数 。
但是 , MP引入了更多的通信开销;性能明显低于派大星和DeepSpeed-DP 。
……
效果是有够惊艳的了 , 但接下来的一个问题便是:
关键技术是什么?
或许你会说了 , 让数据并行不就完事了吗?
事实却并非如此 。
对于预训练模型来说 , 最常用的数据并行技术不适用 , 这是因为模型数据无法再容纳在单个GPU的内存中 。
GPU硬件的 , 像一堵墙一样限制住了PTM的可训练规模 , 因此从业人员通常称之为现象 。
微信开源「派大星」:4000元游戏电脑能带动7亿参数GPT
文章图片
近两年来 , 通过利用并行训练在多个GPU内存之间分配模型数据 , 例ZeRO-DP、模型并行、流水线并行尝试使PTM大小突破内存墙 。
但是 , 使用这些技术又需要不断扩大GPU规模 , 也意味着更高设备的投入 , 那么此局怎么破?
, 了解一下 。
它不仅可以显著提升单GPU训练模型的规模 , 而且可以和并行训练技术正交使用 。