英伟达:利用优步的Horovod加速深度学习

0
英伟达:利用优步的Horovod加速深度学习

GPU的发明者英伟达(NVIDIA)为构建和培训支持人工智能的系统创造了解决方案。除了为业界的大部分人工智能研究提供硬件和软件外,英伟达还在为自动驾驶汽车的开发者打造一个人工智能计算平台。雷竞技是骗人的英伟达的自动驾驶合作伙伴中有370多家汽车公司,在创建传感、感知、绘图和驱动下一代无人驾驶交通系统方面,英伟达已确立了自己的行业领导者地位。

人工智能感知模型需要在8个高强度条件下进行训练Volta gpu内部DGX-1服务器确保使用它们的车辆能够可靠地评估并安全地对周围环境做出反应。为了确定GPU的性能,NVIDIA深度学习软件工程师Tim Zaman和他的团队利用机器学习软件,使每一代新GPU无论是单独还是作为分布式系统的一部分,都能更快、更高效地工作。

蒂雷竞技是骗人的姆说:“研究人员只是想要一些工作,速度快,有一个直接的API,并且易于使用的东西。”“最终,他们不想担心软件问题,这样他们就可以专注于自己的研究。”雷竞技是骗人的

Horovod优步的开源分布式深度学习系统是英伟达的明确选择。只用了几行代码,Horovod使他们能够从一个扩展到八个gpu,优化他们的自动驾驶传感和感知技术的模型训练,从而实现更快,更安全的系统。

大规模GPU训练

在选择能够满足这些需求的框架时,NVIDIA评估了各种选项。起初,他们只能在一台设备上训练非并行工作负载,这使得自主技术的分布式训练极其困难。

为了确保他们的gpu在处理高性能训练方面经过实战测试,并能够适应深度学习不断发展的本质,NVIDIA需要一个易于使用、快速迭代,并且可以在整个工作负载中分布的API。Horovod提出了最终的解决方案。

事实上,为了开发Horovod,优步团队利用了英伟达的一些开源软件和硬件,包括NCCL,一个开源用于gpu之间通信的低级API。Horovod在gpu上的无缝实现再次证明了这两家专注于人工智能的公司之间的自然合作关系。

Horovod项目负责人Alex Sergeev表示:“与NCCL团队和NVIDIA的其他成员合作是一种真正的乐趣。“一年前,当NCCL 2进入早期访问阶段时,我们启动了这种合作,通过这种合作,我们能够快速构建一个解决方案,提高分布式深度学习的可用性和性能。每当我们有问题或建议时,NCCL团队都会为最终用户提供更好的产品。”

进入Horovod

根据Tim的说法,Horovod远远超过了他们之前尝试过的任何其他高级库。对于Zaman来说,可用性和速度是Horovod的关键区别因素。

蒂姆说:“Horovod在这两个指标上取得如此优异的成绩,实际上是非常了不起的,因为通常情况下,你需要权衡它的可用性和速度,反之亦然。”“Horovod将许多部分整合到一个易于使用的软件包中,并为我们的团队带来了出色的表现。”

作为他们研究的一部分,Tim的团队雷竞技是骗人的在2017年优化了他们的gpu,以与TensorFlow(一种流行且广泛使用的深度学习分布式训练框架)一起工作,并且从那时起设置一直很稳定。然而,他们的用户经常抱怨TensorFlow代码,当并行化时,很容易出现用户错误,而且很难推理。Horovod通过使TensorFlow易于使用,特别是在分布式训练方面,填补了这个过程中的巨大空白。根据Tim的说法,Horovod的易用性和简单性推动了TensorFlow团队自己做出的改变,以确保更加用户友好的多设备分发。

使用Horovod

随着英伟达继续对其gpu进行培训,Horovod对其自主解决方案的稳健发展变得越来越重要。NVIDIA利用Horovod来训练由其处理的感知模型帕特系统。构建这样的系统需要一个能够通过深度学习和人工智能训练数千小时数据和数百万张图像的基础设施。

在英伟达,Horovod培训工作是在他们的帕特SATURNV集群。从那里,它运行在Docker容器(托管在NGC)在预制的Docker镜像上,其中包括深度学习框架,配置为高度优化。为了训练他们的自动驾驶系统,他们使用了与CUDA、CuDNN和NCCL一起预装在Horovod上的TensorFlow图像。使用Horovod,研究人员雷竞技是骗人的在8个GPU系统上体验到的缩放系数大于7倍,每个感知模型每天启动数百个多GPU作业(例如,车道检测器,道路标志等)。它们将启动作业和查找优化参数的过程自动化磁悬浮NVIDIA的AI训练和推理基础设施。

具体来说,Horovod公开了一些低级和高级原语,大多数深度学习从业者都很容易使用。Tim指出,其中一个例子被称为平均使用,它接受一个张量(所有正在运行的分布式任务的值),并返回该张量的约简(换句话说,即平均值)。Horovod允许用户返回所有节点的平均值一行代码。一个高级的例子是优化器对象,它负责TensorFlow中的训练;Horovod提供了一个单行优化器,使开发人员能够跨分布式节点进行训练,从而提供更快的速度和资源优化。

使用NVIDIA和Horovod扩展AI

一旦在他们的自动驾驶感知规格中实现,NVIDIA就能够快速迭代,在出现问题时几乎立即得到优步Horovod团队的帮助。随着时间的推移,对Keras和PyTorch的支持被添加到Horovod中,为NVIDIA的深度学习培训提供了更多的机会。

“维护一个开源项目是非常重要的,有了Horovod,我们毫无疑问,我们的问题将尽快得到解答,”Tim说。“我们真的很喜欢和这个团队一起工作,看看Horovod能把我们带到什么地方。”

作为NVIDIA继续开发自动驾驶技术该团队期待利用Horovod开发GPU和软件技术,为更安全、更智能的自动驾驶汽车提供动力。

了解更多关于Horovod和其他Uber开源项目!

对开发Horovod感兴趣?申请一个角色我们西雅图团队的成员!

评论

没有帖子要显示