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

2022 年 3 月 21 日 机器之心
机器之心发布
机器之心编辑部
字节跳动 AML 团队内部开发了火山引擎大模型训练框架 veGiantModel,比 Megatron 和 DeepSpeed 更快
背景

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

The size of language model is growing at an exponential rate (来源: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 张 Tesla V100 32G 型号 GPU,网络带宽 100G
  • A100 测试:每个机器 8 张 Ampere A100 40G 型号 GPU,网络带宽 800G
模型和对照组选择

veGiantModel 选择了 GPT-13B 模型进行评估,seq length 是 256, global batch size 是 1536。GPT 为目前市面上最为流行的 transformer based 语言模型。性能对照组选择了开源社区最流行的 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/s TCP 网络带宽,4 机,每机 8 张 Tesla V100 32G  GPU
    • V100/RDMA:100Gb/s RDMA 网络带宽,4 机,每机 8 张 Tesla V100 32G  GPU
    • A100/TCP:800Gb/s TCP 网络带宽,4 机,每机 8 张 Tesla A100 40G  GPU
    • A100/RDMA:800Gb/s RDMA 网络带宽,4 机,每机 8 张 Tesla A100 40G  GPU
  • 统计值:Throughtput (samples/s)



从上述数据可以看出:

  1. veGiantModel 性能更优:无论是在高带宽还是低带宽的场下,veGiantModel 在 V100 和 A100 上均胜出 Megatron 和 DeepSpeed,最高可达 6.9 倍提升。
  2. 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

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


© THE END 

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

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

登录查看更多
1

相关内容

大模型是基于海量多源数据打造的预训练模型,是对原有算法模型的技术升级和产品迭代,用户可通过开源或开放API/工具等形式进行模型零样本/小样本数据学习,以实现更优的识别、理解、决策、生成效果和更低成本的开发部署方案。
NeurIPS 2021 | 寻MixTraining: 一种全新的物体检测训练范式
专知会员服务
11+阅读 · 2021年12月9日
专知会员服务
16+阅读 · 2021年5月23日
专知会员服务
59+阅读 · 2021年5月2日
专知会员服务
26+阅读 · 2021年4月22日
大厂「卷」上云,字节跳得快!
新智元
0+阅读 · 2021年12月6日
开源!腾讯发布超大预训练系统派大星
微信AI
0+阅读 · 2021年10月29日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
1+阅读 · 2008年12月31日
Arxiv
11+阅读 · 2018年4月8日
VIP会员
相关基金
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
1+阅读 · 2008年12月31日
Top
微信扫码咨询专知VIP会员