前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >字节跳动开源分布式训练框架BytePS,登上GitHub热榜

字节跳动开源分布式训练框架BytePS,登上GitHub热榜

作者头像
昱良
发布2019-07-04 16:07:54
9390
发布2019-07-04 16:07:54
举报
文章被收录于专栏:机器学习算法与Python学习
问耕 发自 凹非寺 量子位 出品 | 公众号 QbitAI

字节跳动开源了通用分布式训练框架BytePS,支持TensorFlow、Keras、PyTorch、MXNet,可以运行在TCP或RDMA网络中,大大优于现有的开源分布式训练框架。

BytePS也登上了GitHub趋势热榜。

为了展示BytePS的性能,官方测试了两个模型:VGG16(通信密集型)和Resnet50(计算密集型),两个模型都以fp32精度进行训练。

训练使用了公有云上的虚拟机,每个机器有8个GPU,启用了NVLink。这些GPU都是Tesla V100 16GB型号GPU,batch size设置为64/每GPU。硬件之间以20Gbps的TCP/IP网络连接。

测试表明,与Horovod (NCCL)相比,BytePS在VGG16训练上的速度快100%,Resnet训练速度快44%。

Horovod是Uber开源的深度学习工具,NCCL是英伟达发布的多卡通信框架。

BytePS为什么比Horovod更强?

官方解释称,一个主要的原因是BytePS是专门为云和共享集群而设计,并且抛弃了MPI。MPI是一个跨语言的通讯协议,用于编写并行计算机。

MPI是为高性能计算机而生,对于使用同类硬件构建的集群以及运行单一任务更有效。但并不是云(或者内部共享集群)的最佳选择。

因此字节跳动团队重新思考了最佳的通信策略。简而言之,BytePS仅在机器内部使用NCCL,重新构建了机器内部的通信。

BytePS还集成了许多加速技术,例如分层策略、流水线、张量分区、NUMA感知本地通信、基于优先级的调度等等。

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

https://github.com/bytedance/byteps

在GitHub上,还详细介绍了如何使用BytePS等相关信息。

目前BytePS还不支持纯CPU训练。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习算法与Python学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问耕 发自 凹非寺 量子位 出品 | 公众号 QbitAI
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档