搜索

影视聚合站

性能最高提升 6.9 倍,字节跳动开源大模型训练框架 veGiantModel

发布时间:2022-03-21 15:54:01来源:机器之心

机器之心发布

机器之心编辑部

字节跳动AML团队内部开发了火山引擎大模型训练框架veGiantModel,比Megatron和DeepSpeed更快。

背景

近些年,NLP应用方面有所突破,Bert、GPT、GPT-3等超大模型横扫各种NLP测试后,人们发现参数量越大的模型,在算法方面表现越好,于是纷纷开始迅速向大模型方向发展,模型体积爆炸式增长。而大模型训练给现有的训练系统带来的主要挑战为显存压力,计算压力和通信压力。

Thesizeoflanguagemodelisgrowingatanexponentialrate(来源:https://huggingface.co/blog/large-language-models)

火山引擎大模型训练框架veGiantModel

针对这个需求,字节跳动AML团队内部开发了火山引擎大模型训练框架veGiantModel。基于PyTorch框架,veGiantModel是以Megatron和DeepSpeed为基础的高性能大模型训练框架。其特点包括:

同时支持数据并行、算子切分、流水线并行3种分布式并行策略,同时支持自动化和定制化的并行策略;

基于ByteCCL高性能异步通讯库,训练任务吞吐相比其他开源框架有1.2x-3.5x的提升;

提供了更友好、灵活的流水线支持,降低了模型开发迭代所需要的人力;

可在GPU上高效地支持数十亿至上千亿参数量的大模型;

对带宽要求低,在私有化部署无RDMA强依赖。

其中,ByteCCL为字节跳动自研的BytePS的升级版,针对A100/V100等各种机型拓扑做了分层规约优化,并支持了allgather、alltoall等更全面的通讯原语。

veGiantModel性能表现

硬件配置

为了展示VeGiantModel的性能,veGiantModel团队使用了自建机房的物理机,分别在A100和V100机型上做了测试,实验配置分别如下:

V100测试:每个机器8张TeslaV10032G型号GPU,网络带宽100G

A100测试:每个机器8张AmpereA10040G型号GPU,网络带宽800G

模型和对照组选择

veGiantModel选择了GPT-13B模型进行评估,seqlength是256,globalbatchsize是1536。GPT为目前市面上最为流行的transformerbased语言模型。性能对照组选择了开源社区最流行的Megatron和DeepSpeed。

测试结果

模型:GPT-13B

Megatron:v2.4,tensor-model-parallel-size设置为4,pipeline-model-parallel-size设置为4

DeepSpeed:v0.4.2,使用DeepSpeedExamples开源社区中默认的zero3的配置

运行环境

V100/TCP:100Gb/sTCP网络带宽,4机,每机8张TeslaV10032GGPU

V100/RDMA:100Gb/sRDMA网络带宽,4机,每机8张TeslaV10032GGPU

A100/TCP:800Gb/sTCP网络带宽,4机,每机8张TeslaA10040GGPU

A100/RDMA:800Gb/sRDMA网络带宽,4机,每机8张TeslaA10040GGPU

统计值:Throughtput(samples/s)

从上述数据可以看出:

veGiantModel性能更优:无论是在高带宽还是低带宽的场下,veGiantModel在V100和A100上均胜出Megatron和DeepSpeed,最高可达6.9倍提升。

veGiantModel对网络带宽要求低:veGiantModel在带宽变化对吞吐的影响相对最小(<10%),而DeepSpeed(ZeRO)是对带宽要求最高的,最高可达将近5倍的差距。

原因解析

veGiantModel为什么比Megatron和DeepSpeed更快?原因如下:

ByteCCL(BytePS)高性能异步通讯库。

支持定制化的并行策略,可以将性能优化推到极致。

在支持数据并行、算子切分、流水线并行3种分布式并行策略时,veGiantModel会综合考虑到跨机的带宽,自动调整toplogy的placement。

传送门

veGiantModel现已在GitHub上开源,地址如下:

https://github.com/volcengine/veGiantModel

GitHub上详细介绍了如何使用veGiantModel以及如何使用veGiantModel快速跑起一个GPT的预训练。火山引擎机器学习平台原生支持了veGiantModel,目前平台正在公测中,欢迎大家试用:https://www.volcengine.com/product/ml-platform

点击【阅读原文】立即试用

©THEEND

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com