Uber开源:与来自Pyro团队的Fritz Obermeyer和Noah Goodman交流

0
Uber开源:与来自Pyro团队的Fritz Obermeyer和Noah Goodman交流

在过去的几年里,人工智能(AI)已经成为许多企业技术堆栈中不可或缺的组成部分,为从自动驾驶汽车到自动消息平台等各种领域提供了更快、更高效的解决方案。在人工智能领域,深度概率编程(一门将深度神经网络与概率模型相结合的学科)已经成为在不确定条件下对大规模数据集进行推理的有价值的手段。

考虑到人工智能的新颖性和复杂性,开源是优步在这一领域立足的基础,它实现了前所未有的知识共享和协作。2017年11月开源,烟花是由超级人工智能作为一种深度概率编程语言,它促进了对人工智能和贝叶斯模型的更容易探索。

加入Horovod作为Linux基金会深度学习基金会的孵化器项目,Pyro通过使AI工具更加灵活、开放和易于使用来加速AI技术的研究和应用。雷竞技是骗人的

为了更好地理解这个框架的潜力,我们采访了弗里茨•欧诺亚古德曼, Pyro项目与Uber AI共同领导和研究科学家,讲雷竞技是骗人的述了项目背后的灵感,以及它如何在Uber发展开源的承诺中发挥作用:

你是如何对工程学和人工智能产生兴趣的?是什么吸引你加入Uber和Uber AI?

Uber AI的弗里茨·奥伯迈耶。

弗里兹:我的背景是数学,从那以后,我开始深入研究概率和统计学。实际上,许多Pyro团队成员都有数学或物理背景。在攻读纯粹与应用逻辑博士学位后,我进入了工业界,成为了一名概率机器学习和人工智能研究员。雷竞技是骗人的最终,我遇到了优步高级研究工程师的职位,这个职位非常完美地平衡了我在概率机器学习和编程语言方面的两个背景。雷竞技是骗人的Pyro项目非常有趣。

诺亚:我的故事比弗里茨的更离奇,也更曲折。实际上,我在研究生院的时候是一个数学家,但这对我来说太深奥了。在经历了几次失败之后,我最终成为了一名心理学家。我在斯坦福大学(担任心理学和计算机科学教授)的职位涉及心理学和更多数学知识的交叉,其中大部分是人工智能,所以我最终选择了这个职位。

我是通过几何智能(Geometric Intelligence)加入Uber的,这是一家人工智能初创公司,Uber最终收购了这家公司,打造了Uber AI。加入优步让我们有机会真正发展工程,尤其是开始概率编程,这是我们在小初创公司时无法做到的。

与您之前在学术界或工业界的研究经验相比,与优步AI合作的独特之处是什么?雷竞技是骗人的

弗里兹:我不得不说,Uber和Uber AI的独特性是双重的。对我来说,一个很大的不同是,我之前在学术界工作,然后在小公司工作,大部分是初创公司。Uber可以提供更多的资源来完成工程,这使得构建真正优秀的软件成为可能,你可以用它来做很多不同的事情,而不是像学术风格那样,你只做一个小软件,就可以完成一个项目,然后再转向下一个项目。当然,作为优步,有一种快节奏的运动感觉,现实世界就在你身后潜伏着,这让事情变得有趣。

Uber AI的诺亚·古德曼。

诺亚:对我来说,Uber AI的独特之处还有两点。一个是概率机器学习领域聚集了真正优秀的人才。在过去,我可能和一两个概率机器学习方面的专家合作过,但我们在Uber有这么大的团队,我们可以解决非常复杂的问题,做我们在其他地方不能做的事情。另一件事是Uber团队有能力创建优秀的开源软件。

弗里兹:我在很多闭源机器学习系统上工作过,我们能够开源Pyro并与学术合作者合作使框架变得更好,这真的很特别。

你什么时候开始使用开源技术进行研究的?雷竞技是骗人的

诺亚:我一直使用开源软件。当我还是铁器时代的一名研究生时,我就开始使用Linux,那时我每次改变任何东西都必须构建自己的内核。当我刚开始研究人工智能的时候,科学家们大多没有使用开源软件来研究人工智能。我们开始使用MATLAB,我清楚地记得当我意识到我们不再需要那样做的那一刻,我们可以使用开源软件,你可以改变,看看它是如何工作的。太棒了,呼吸到了新鲜空气。

是什么激励你的团队创建并开源Pyro?

诺亚:Pyro的灵感来自于意识到机器学习开源社区对概率编程的需求没有得到满足。当我们在2017年决定构建Pyro时,概率程序已经存在了一段时间,概率编程语言也在逐渐改进,但大多数程序都不是用Python编写的,而Python是当时几乎所有机器学习从业者都在使用的语言。

因为这个社区在使用Python,所以有了其他开源的机器学习库和工具,比如PyTorch。我们认为,如果我们能把这些工具用于概率编程问题,我们就能建立一堆新的、有趣的模型。所以,我们说,“好吧,没有人会做这个,为什么我们不介入,把这些工具集成到一个新的深度概率编程语言中呢?”然后我们就出发了。

弗里兹:我们决定开源Pyro的一个主要原因是,我们可以在不同的语言库之间共享和传输代码,使我们能够突破概率编程的界限。使Pyro开源使我们能够更灵活地改变这些界限。我们已经将很多代码从Pyro转移到上游依赖,使我们能够保持Pyro精简和集中。

Pyro做什么,该语言如何为AI社区增加价值?

Frtiz:我已经使用概率建模框架很长时间了。编写每个新模型通常需要几个月的时间,然后对其进行调试和修正数值,以确保其正常工作。Pyro使得编写这些模型和快速探索它们的空间变得很容易,并且可以使用已经经过良好测试的组件来完成这些工作。

由于Pyro是建立在深度学习框架上的,所以我可以使用所有我更熟悉的贝叶斯建模技术,但在任何我需要的地方都可以使用神经网络。这使得它在具有更多参数的模型或更大的数据集上工作非常强大。

这是机器学习中令人兴奋的时刻,因为许多不同的范式正在融合,我们正在看到如何将它们组合在一起,而不必担心bug。概率、程序和深度学习是Pyro的三个组成部分。学术界对如何将这些东西组合在一起进行了越来越雷竞技是骗人的多的研究,但这种组合真的很复杂,而且非常容易被错误地实现。

Uber的Pyro工程团队花了大量的时间编写测试,讨论测试策略,并以各种不同的方式彻底测试。如果每个人都试图把这些东西自己放在一个新的软件中,那么几乎每个软件都将充满bug。在Pyro中做这件事意味着Pyro系统本身已经经过了广泛的测试,所以当你把你的模型组合在一起时,它比定制的AI软件更有可能少得多错误。

哪些公司和学术组织目前使用Pyro?

诺亚:很多大学使用Pyro进行人工智能研究。首先,麻省理工学院,哈佛大学,斯坦福大学和东北大学。布罗德研究所(Broad Institute)也在使用它,还有很多较小的研究小组。雷竞技是骗人的我们预计2019年出现的许多概率编程研究将在Pyro中实现他们的模型。雷竞技是骗人的

弗里茨:很难追踪Pyro的使用情况,因为我们发现许多论文甚至没有引用Pyro,因为他们没有引用Python。他们认为Pyro是一项基础技术,他们可以在此基础上进行开发,而不需要引用我们。有时几个月后,当我们看到他们的代码时,我们才会发现,“哦,他们使用Pyro来实现他们的模型。”用这种方式衡量用户真的很难;很高兴知道人们可以不假思索地使用它。

诺亚:一般来说,开源软件的一个挑战是,它的开放性意味着你并不总是知道它去了哪里。有时候,你发布了一款软件,一两年后,它会作为全新的、不同的东西反馈给你。这很令人兴奋,但也令人沮丧,因为最初所做的工作而获得荣誉。

Pyro如何区别于其他概率编程解决方案?

弗里兹:当Pyro发布时,它是第一个开源的通用深度概率编程语言,这意味着它既可以拥有动态模型结构,又可以结合深度神经网络。Pyro的另一个独特之处是我们的效果处理库.这是一种设计选择,它允许我们实现许多棘手的推理算法,而很少努力去纠正它们。

诺亚:对于技术爱好者来说,就它所集成的平台而言,Pyro有很多不同之处,它是PyTorch和Python的组合。这些语言在可表达的模型类型方面的通用性,以及一堆基本特性,使得Pyro比其他语言更容易使用和扩展。

我认为另一个不同的因素是,没有很多其他概率编程语言像Pyro一样有很好的文档。那些往往更老,有点陈旧,包括我以前的一些项目。Pyro有非常棒的教程,我认为这就是为什么很多人尝试使用它的原因。如果它只是一种没有教程的强大语言,我不认为它会引起同样的兴趣。

我们如何在优步使用Pyro ?

弗里茨:我们目前在为自动驾驶汽车构建地图解决方案、一些时间序列预测和广告支出分配模型时,使用Pyro进行传感器融合。我们还利用Pyro研究其他领域,如数据中心的故障归因雷竞技是骗人的和异常检测。

Pyro对LF深度学习基金会的捐赠将如何为Pyro的开源社区增加价值?

弗里兹:通过将Pyro贡献给深度学习基金会,学术贡献者将更容易回馈给一个非公司所有的软件项目,这是一个明显开放的软件项目。

诺亚:甚至对于企业合作伙伴来说,要获得继续进行投资的许可也会变得更少障碍。我认为将这些开源项目转移到中立的、由社区管理的所有权中,是让所有涉众对他们的贡献感到满意的非常重要的一步。

开源Pyro最令人满意的是什么?

弗里兹:Uber AI只贡献了一小部分代码。甚至连设计过程都是开放的。我们在公司之外有很多人在开发Pyro。Pyro比我想象的更受欢迎。最初,我对Pyro的外部贡献者的贡献的质量和意义感到惊讶,无论是他们精确的代码审查,还是他们自己实现的功能的雄心。

诺亚:现在Pyro已经开放了,并且在不断发展并走向社区,我很高兴能够看到人们能够使用它去做一些我从未想过的事情。关于开源最酷的事情是人们会为你写的软件找到新的用途。我认为Pyro特别适合人们重新利用它,想出我们从未想过的东西。

一个成功的开源项目需要什么条件?

:我认为获得公司对开源项目的支持非常重要,因为测试非常困难。在过去,我自己已经开源了很多东西,只是没有足够的资源来彻底测试和记录项目。我认为Pyro的一个优点是,我们在Uber有资源投入大量精力进行测试,确保事情是正确的,并有良好的记录。与此同时,我们可以开放并接受bug修复、新特性、文档更改,以及来自社区的特性请求,甚至是模块的大贡献。我认为这种结合对开源人工智能软件非常重要。

吴:从大局来看,人工智能正在对人类产生真正深远的影响。人工智能越属于整个人类,这些影响就越公平和积极。作为人工智能研究人员,我们可以做的一件事是,努力确保我们提出的新技术和实现属于雷竞技是骗人的整个人类,而不是属于一个将唯一受益的单一实体。

公司如何授权他们的工程师参与开源?

:考虑到维护开源项目的本质,我想说,更成功的项目通常来自能够提供必要支持来培育和发展项目社区的公司。

诺亚:在我看来,大多数顶尖科技公司都在拥抱开源。在某种意义上,甚至我们创建Pyro的动机也是因为Facebook拥有开源的PyTorch,这是我们用于创造Pyro的一个库。这展示了当一家公司决定开源某些东西时所发生的有益循环。在Uber工作的一大好处是,我们能够在一个支持Uber未来发展的环境中开源我们的工作。

Pyro团队正在请求额外的贡献、文档和教程。帮助我们发展软件其回购

评论

没有帖子显示