2022-03-28 15:15:59 来源:TechWeb阅读量:9448
背景
近些年,NLP 应用方面有所突破,Bert,GPT,GPT—3 等超大模型横扫各种 NLP 测试后,人们发现参数量越大的模型,在算法方面表现越好,于是纷纷开始迅速向大模型方向发展,模型体积爆炸式增长而大模型训练给现有的训练系统带来的主要挑战为显存压力,计算压力和通信压力
The size of language model is growing at an exponential rate
火山引擎大模型训练框架 veGiantModel
针对这个需求,字节跳动 AML 团队内部开发了火山引擎大模型训练框架 veGiantModel基于 PyTorch 框架,veGiantModel 是以 Megatron 和 DeepSpeed 为基础的高性能大模型训练框架
同时支持数据并行,算子切分,流水线并行 3 种分布式并行策略,同时支持自动化和定制化的并行策略,基于 ByteCCL 高性能异步通讯库,训练任务吞吐相比其他开源框架有 1.2x—3.5x 的提升,提供了更友好,灵活的流水线支持,降低了模型开发迭代所需要的人力,可在 GPU上高效地支持数十亿至上千亿参数量的大模型,对带宽要求低,在私有化部署无 RDMA 强依赖。
其中,ByteCCL 为字节跳动自研的 BytePS 的升级版,针对 A100/V100 等各种机型拓扑做了分层规约优化,并支持了 allgather,alltoall 等更全面的通讯原语。广汽埃安公开的8月销量新车数据显示,埃安家族8月份销量达到了11631辆,同比增长了115%。8月全系订单超过了18000辆,创下了历史新高。。
veGiantModel 性能表现硬件配置
为了展示 VeGiantModel 的性能,veGiantModel 团队使用了自建机房的物理机,分别在 A100 和 V100 机型上做了测试,实验配置分别如下:
V100 测试:每个机器 8 张 Tesla V100 32G 型号 GPU,网络带宽 100GA100 测试:每个机器 8 张 Ampere A100 40G 型号 GPU,网络带宽 800G模型和对照组选择
veGiantModel 选择了 GPT—13B 模型进行评估,seq length 是 256, global batch size 是 1536GPT 为目前市面上最为流行的 transformer based 语言模型性能对照组选择了开源社区最流行的 Megatron 和 DeepSpeed
测试结果V100/TCP :100Gb/s TCP 网络带宽,4 机,每机 8 张 Tesla V100 32G GPUV100/RDMA:100Gb/s RDMA 网络带宽,4 机,每机 8 张 Tesla V100 32G GPUA100/TCP:800Gb/s TCP 网络带宽,4 机,每机 8 张 Tesla A100 40G GPUA100/RDMA:800Gb/s RDMA 网络带宽,4 机,每机 8 张 Tesla A100 40G GPU模型:GPT—13BMegatron:v2.4,tensor—model—parallel—size 设置为 4, pipeline—model—parallel—size 设置为 4DeepSpeed:v0.4.2,使用 DeepSpeedExamples 开源社区中默认的 zero3 的配置运行环境统计值:Throughtput
从上述数据可以看出:
veGiantModel 性能更优:无论是在高带宽还是低带宽的场下,veGiantModel 在 V100 和 A100 上均胜出 Megatron 和 DeepSpeed,最高可达 6.9 倍提升veGiantModel 对网络带宽要求低:veGiantModel 在带宽变化对吞吐的影响相对最小 ,而 DeepSpeed 是对带宽要求最高的,最高可达将近 5 倍的差距
veGiantModel 为什么比 Megatron 和 DeepSpeed 更快。原因如下:
ByteCCL 高性能异步通讯库支持定制化的并行策略,可以将性能优化推到极致在支持数据并行,算子切分,流水线并行 3 种分布式并行策略时,veGiantModel 会综合考虑到跨机的带宽,自动调整 toplogy 的 placement
veGiantModel 现已在 GitHub 上开源,地址如下:
。