为亚历克斯能够他决定开源团队新的分布式深度学习框架,Horovod这个问题很简单。
任务是训练机器学习模型,为我们使用的传感和感知系统提供动力先进科技组(ATG)而且地图的组织在开发Uber内部深度学习平台的过程中,Alex和他的团队创建了Horovod。由于现有的开源深度学习解决方案无法满足我们期望的性能、可用性和规模,团队得出结论,所有这些框架需要的只是一点额外的帮助。
亚历克斯认为,如果他自己的团队遇到了这些挑战,那么优步以外的研究人员很可能也面临着类似的问题,他想要回馈社会。雷竞技是骗人的2017年9月上映,Horovod框架使得AI从业者只需要6行代码就可以更快更容易地训练TensorFlow、Keras和PyTorch模型。
目前,像NVIDIA这样使用Horovod的组织利用了Horovod对他们的gpu进行大规模测试橡树岭国家实验室(Oak Ridge National Laboratory)是美国能源部(U.S. Department of E雷竞技是骗人的nergy)资助的一家专注于超级计算的研究机构。在2018年期间,Horovod已经与各种深度学习生态系统集成,包括AWS、谷歌、Azure和IBM Watson。受到这种广泛采用的启发,InfoWorld命名为Horovod本年度机器学习领域最好的开源软件项目之一。
我们与Alex坐下来讨论了他构建Horovod的路径,他的团队成功项目的未来,以及作为AI开源社区的一员,他最享受的是什么:
你最初是如何对机器学习感兴趣的?
我在莫斯科的大学里学的是人工智能和人工智能;当时,这些领域主要为学术界保留,并没有在生产环境中广泛使用。
在加入Uber之前,我在微软的必应数据挖掘团队工作。我们利用了数据分析,我认为建立可以预测数据趋势的模型,而不是只做分析,这将是非常酷的。机器学习和深度学习变得非常流行,我们开始将越来越多这类技术融入到我们的产品中。
在这个职位上,我的团队构建了我们的A/B实验解决方案所使用的度量平台,以分析团队将在Bing.com上运行的实验。我们制作了软件来大规模分析它们,在任何时间点都有成千上万的实验在运行。
是什么让你来到Uber西雅图?
Uber是当时为数不多的几家在西雅图开始研究深度学习的公司之一,这是一个很好的机会。Uber西雅图工程办公室正在从事各种有趣的工程项目,其中之一是通过构建解决方案来加速我们的人工智能、自动驾驶和地图团队的ML模型。
您最初是如何对开源产生兴趣的?
我非常喜欢谷歌和百度这样的大公司开放他们在深度学习方面的创新,因为回馈更广泛的人工智能社区加速了每个人在该领域的跨越式发展。
我以同样的心态开发Horovod:这从来都不是我们是否将其开源的问题。当我加入Uber时,我非常兴奋能够加入这个社区,并将我们的工作开源。
是什么激发了你创建Horovod?
Horovod是优步深度学习平台第三次迭代的一个组成部分。在第一次迭代中,您将代码制作一个ZIP文件,将其放到平台上,按下train按钮,10分钟后,它将训练您的模型或给它一个异常。换句话说,我们的用户,包括优步ATG、AI实验室和我们的地图团队的成员,真的不太喜欢这样,因为他们会在培训周期很晚的时候得到反馈。
这个平台的第二次迭代允许用户交互训练他们的模型,然后,如果他们想要大规模运行模型,他们可以使用TensorFlow参数服务器。我们试图向Uber的许多团队推销它,但没有一个团队能够使用它,因为它的用户体验不够理想。我们,建造它的工程师,甚至在使用它的时候都在挣扎!
到了第三次迭代,主打Horovod,我们了解了分布式深度学习是如何工作的,以及如何使其规模化。在第三次迭代中,我们应用了从百度中学到的一些更新的技术使用MPI以及Facebook发表了一篇论文关于缩放视觉模型训练到256个gpu。利用这些技术,我们意识到,与其拥有我们自己的TensorFlow版本,我们可以通过将我们的平台添加到TensorFlow中来完成同样的事情,无论你想使用哪个版本的TensorFlow,你都可以安装这个平台。这样,用户就不必安装自定义版本的TensorFlow。
这促使我们将我们的第三个迭代,Horovod作为一个独立的软件开源。根据我们的经验,我们认为很多团队都会遇到同样的问题,无论是在Uber内部还是外部,帮助他们是很好的。
Horovod是如何演变成框架不可知论者的?
最初,Horovod只是为了与TensorFlow一起使用而构建的,但后来,一些团队爱上了Keras, PyTorch允许他们更容易地利用公开发表的研究,这促使我们添加了对这两个框架的支持。雷竞技是骗人的
这使我们能够以相同的方式跨多个框架扩展深度学习模型训练。作为Uber的一个基础设施团队,我们参与了帮助团队扩展他们的培训,并维护一个单一的、框架无关的基础设施,这将使我们的工作更容易。
据我所知,Horovod是为数不多的可扩展其他深度学习框架的框架不可知论解决方案之一。TensorFlow和PyTorch都有自己的分布式训练机制,它们的发展方向与Horovod类似。但是,跨框架的用户体验是不同的,需要对基础结构进行调整。我们的目标是为任何我们想要扩展的框架提供相同的基础设施。
Uber使用Horovod的具体业务领域是什么?
我们在Uber的大多数深度学习方案中都使用Horovod.Uber几乎所有使用复杂深度学习模型的团队都在Horovod的指导下进行训练。从优步高级技术团队到我们的地图团队在美国,它主要用于训练感知、感知和预测系统。如果没有霍洛维德,我们的团队一天所能做的训练就会达到极限。由于他们要处理如此多的数据,他们需要一些东西来帮助他们扩展训练,而Horovod适合这个角色。
其他公司如何使用Horovod?
大多数使用Horovod的组织利用它来训练深度学习模型,或将其与自己的客户的深度学习产品集成。英伟达亚马逊大量使用Horovod。IBM将其作为开源深度学习解决方案的一部分,FfDL,并在其IBM Watson工作室,这是它的管理产品。砖特性在他们的深度学习课程中也是如此。
你的团队是如何为Horovod做设计决策的?
我们根据内部和外部项目贡献者的需求做出决策。例如,英伟达而且亚马逊在他们的生态系统中使用Horovod来扩展深度学习,并经常反馈代码。
我们喜欢与这些公司和我们的其他贡献者合作,帮助他们优化与Horovod的模型训练。我们鼓励所有用户回馈给Horovod,因为我们的项目能够改进的唯一方法是我们能够满足贡献者的需求。
在过去的一年里,Horovod已经被多家公司和研究机构采用,并刚刚被接受为雷竞技是骗人的是LF深度学习基金会的官方主办项目.开源社区对Horovod的回应是什么?
当我们将项目开源后,对Horovod的最初反应非常积极。看到我的第一个开源项目接触到这么多人,并迅速被业界和学术界的这么多深度学习团队采用,真是太酷了。现在,当我去参加会议时,人们实际上知道Horovod,他们很兴奋地与它集成或使用它,或至少在他们的研究中参考它。雷竞技是骗人的所有这些都让我很开心。
当我们同意霍洛维德加入LF深度学习基金会时,我们真的很兴奋。这个决定承认了Horovod对社区的影响,它将帮助我们进一步增加来自社区的贡献,以便我们可以改进我们的项目。反馈可能是开源Horovod最好的部分之一,因为在一天结束的时候,我们只是想让深度学习更快地加速。随着世界各地的团队都在使用这个项目,它将加速发展——这有点像一种非常非常分散的培训形式!
作为开源社区的项目负责人,最令人满意的是什么?
开发Horovod使我成为一个开源的狂热者。我相信,从整体上来说,开源正在改进技术,因为它让公司在重新发明轮子上浪费更少的精力。相反,工程师们把精力花在新的创新上。
你如何定义Uber的开源文化?
当我开始在Horovod工作时,我实际上非常惊讶于加入Uber的开源社区是如此容易。我受到了热烈欢迎,我向Uber的开源委员会提出了自己的想法,并将其付诸实施。
在Uber的工作中,我花了一部分时间与Horovod开源社区合作,参加会议,教育Uber外部的团队如何使用该软件,改进我们的产品,考虑内部和外部的功能请求,并与贡献者合作,纳入他们的更改。Uber对开源的热情令人振奋。
对于一个还没有开源任何东西,正在考虑是否要开源他们的代码的工程师,你有什么建议?
我想说的是,在你开源你的代码之后,跟进每一个用户反馈、问题或bug,因为它们比你自己对你的代码的意见重要得多。如果你不去培养你的社区,你便很难在自己的资源范围内发展并完善你的项目。
我们需要您的反馈!自己试试Horovod吧加速你的深度学习生态系统。





