测试|性能最高提升 6.9 倍,字节跳动开源大模型训练框架 veGiantModel
机器之心发布
机器之心编辑部
字节跳动 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 强依赖 。
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)

文章图片

文章图片
从上述数据可以看出:
- 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
【测试|性能最高提升 6.9 倍,字节跳动开源大模型训练框架 veGiantModel】GitHub 上详细介绍了如何使用 veGiantModel 以及如何使用 veGiantModel 快速跑起一个 GPT 的预训练 。 火山引擎机器学习平台原生支持了 veGiantModel , 目前平台正在公测中 , 欢迎大家试用:https://www.volcengine.com/product/ml-platform
推荐阅读
- 通信技术|毫米波与太赫兹技术面临着更大的技术挑战:性能价格比与应用的匹配
- 办公|机械师创物者16评测:高性能长续航的轻量型办公本,值得入手吗?
- 程度|中国科学家研发木棉纤维净水材料,降解性能提至90%以上,将木棉飞絮变废为宝
- IT|福特F-150 Lightning最高续航里程超预期:美EPA给出320英里
- 测试|微信 iOS 版 8.0.19 内测版发布
- 软件和应用|FedEx正测试Crosstrack功能:帮用户追踪快递
- SONY|消息称索尼PS5 Pro最早明年发布:光追表现提升 性能再强1倍
- IT|阿拉斯加航空开始测试用iPad Pro为旅客办理自助值机的服务
- 手机|苹果 iPhone SE 3 手机跌落测试
- 限制|三星 One UI 4.1 将集成性能解锁补丁,推广到所有 Galaxy 设备