人工智能
Tim Davis,Modular 联合创始人兼总裁 – 采访系列

Tim Davis 是 Modular 的联合创始人兼总裁,Modular 是一个集成的、可组合的工具套件,简化了您的 AI 基础设施,以便您的团队可以更快地开发、部署和创新。Modular 最著名的成就是开发了 Mojo,一种新的编程语言,通过结合 Python 的最佳特性和系统及元编程,弥合了研究和生产之间的差距。
重复创业者 和产品领导者。Tim 帮助建立、创立和扩展了 Google 的 AI 基础设施的大部分内容,在 Google Brain 和核心系统中,从 API (TensorFlow),编译器 (XLA 和 MLIR) 和运行时,用于服务器 (CPU/GPU/TPU) 和 TF Lite (移动/微/网页),Android ML 和 NNAPI,大型模型基础设施和开源软件,用于数十亿用户和设备。喜欢跑步、构建和扩展产品,以 帮助人们,和 世界。
您最初是什么时候发现编码的,并且是什么吸引您对它感兴趣?
作为一个在澳大利亚长大的孩子,我的爸爸带回家一台 Commodore 64C,游戏是我入门的原因 – Boulder Dash,Maniac Mansion,Double Dragon – 那是一个美好的时代。那个电脑介绍我使用 BASIC,并且我开始尝试编程。事情变得更加激烈,当我在高中和大学使用传统的静态语言进行工程课程,并且我甚至尝试使用 Javascript 和 VBA,最后我选择了 Python 作为数据科学和 AI 的主要语言。我在早期的创业公司中写了很多代码,但现在,我使用 Mojo 和我们创建的工具链。
您在 Google 工作了五年多,担任高级产品经理和产品领导,帮助扩展了 Google 的 AI 基础设施。在 Google Brain 您学到了什么?
人们是建造世界上改变性技术和产品的关键,一个由更大愿景束缚的团队将他们带到世界上。Google 是一家不可思议的公司,拥有令人惊叹的人才,我很幸运在很多年前加入 Brain 团队时遇到了很多最聪明的 AI 人才。最重要的教训是我学到了始终关注用户,并逐步揭示复杂性,赋予用户讲述他们独特故事的能力,例如 大堡礁 或帮助像 Jason 鼓手 这样的人,并且吸引和组建一个多样化的团队来实现共同的目标。在一个拥有很多聪明和有才华的人的公司中,这比你想象的要难得多。回顾我的时间,我最难忘的是我曾经合作过的人,我将永远珍惜那段时光,并感谢很多人冒险雇用我,我也非常感谢他们,因为这些冒险让我成长为一个更好的领导者和人,我也更深入地理解了 AI 系统,并真正意识到 AI 对世界的影响力,这也是我离开 Google 并联合创立 Modular 的原因。
您能分享 Modular 的创立故事吗?
Chris 和我在 Google 相识,并且发布了很多对 AI 世界产生了重大影响的技术。然而,我们觉得 AI 被过于复杂和碎片化的基础设施所阻碍,我们亲眼见证了在数十亿用户中部署大型工作负载的困难。我们被加速 AI 对世界的影响力所激励,通过提升行业到生产质量的 AI 软件,以便我们作为一个全球社会,可以对我们的生活产生更大的影响。人们不禁会想,AI 可以帮助解决多少问题,治愈多少疾病,我们可以变得多么高效,以便为后代的存在做出贡献,通过增加这种不可思议的技术的渗透度。
在我们一起工作了很多年,部署了大规模的关键 AI 基础设施后,我们亲眼见证了巨大的开发者痛点 – “为什么事情不能正常工作?”为了让世界采用和发现 AI 的变革性质,我们需要软件和开发者基础设施,可以从研究扩展到生产,并且高度可访问。这将使我们能够解锁下一个科学发现的方式 – AI 将在其中发挥关键作用 – 并且 这是一个伟大的工程挑战。有了这个激励的背景,我们开发了一个内在的信念,即我们可以开始构建一种新的 AI 基础设施方法,并赋予开发者使用 AI 来使世界变得更好的能力。我们也非常幸运地有很多人加入我们这段旅程,我们有世界上最好的 AI 基础设施团队作为结果。
您能讨论一下 Mojo 编程语言最初是如何为您的团队构建的?
Modular 的 愿景 是使 AI 可以被任何人、任何地方使用。我们在 Modular 所做的一切都是以这个目标为导向的,我们从这个目标出发,构建我们的产品和技术。在这种情况下,我们自己的开发者速度是最重要的,我们已经构建了世界上很多现有的 AI 基础设施 – 我们需要仔细考虑什么可以使我们的团队移动得更快。我们经历了 AI 中的两个世界语言问题 – 研究人员生活在 Python 中,生产和硬件工程师生活在 C++ 中 – 并且我们没有选择沿着这条路走下去,而是重新思考了整个方法。有一个明确的需要解决这个问题,但有很多不同的方法来解决它 – 我们以满足生态系统的当前需求和使其更容易升级到未来的方式来解决它。我们的团队在大规模软件迁移中留下了伤疤,我们不想重复这种情况。我们也意识到,没有一种语言可以解决我们正在尝试解决的所有 AI 挑战,所以我们采取了第一原则的方法,Mojo 就此诞生。
Mojo 如何实现跨多种硬件的无缝扩展和可移植性?
Chris、我和我们的团队在 Google(许多在 Modular)帮助将 MLIR 带到世界 – 以帮助全球社区解决真正的挑战,通过使 AI 模型在任何类型的硬件上一致地表示和执行。MLIR 是一种新的开源编译器基础设施,已经被广泛采用,并且正在迅速成为构建编译器的新标准,通过 LLVM。鉴于我们团队在创建这个基础设施方面的历史,这是我们在 Modular 自然而然地利用它的原因,并且这支撑了我们在开发新 AI 基础设施方面的最先进方法。关键的是,虽然 MLIR 现在被广泛采用,但 Mojo 是第一个真正发挥 MLIR 力量并以独特和易于使用的方式向开发者展示它的语言。这意味着它可以扩展从 Python 开发者到性能工程师,再到硬件工程师,他们为其独特的硬件编写非常低级的系统代码。
对 Mojo 的引用声称它基本上是 Python++,具有 Python 的可访问性和 C 的高性能。这种说法是过度简化的吗?您如何描述它?
Mojo 对于任何 Python 程序员来说应该感觉很熟悉,因为它共享 Python 的语法。但是,当你将一个简单的 Python 程序移植到 Mojo 时,你会看到一些重要的差异,包括它可以直接运行。我们在 Modular 的一个主要目标是提供 Python 的超集 – 也就是说,使 Mojo 与现有的 Python 程序兼容 – 并且接受 CPython 实现以支持长尾生态系统。然后,您可以逐渐增强您的代码,并用 Mojo 的低级功能替换非性能部分,显式管理内存,添加类型,利用自动调优和其他方面,以获得 C 或更好的性能!我们认为 Mojo 给您提供了两全其美的效果,您不需要编写和重写算法在多种语言中。我们欣赏 Python++ 是一个巨大的目标,并且将是一个多年的努力,但我们致力于使其成为现实,并且使我们的传奇社区中的 140K+ 开发者能够帮助我们一起构建未来。
在最近的一次主题演讲中,展示了 Mojo 比 Python 快 35,000 倍,如何计算这个速度?
实际上,现在已经是 68,000 倍了!但让我们承认,这只是一个程序 – 您可以阅读一系列三篇博客文章,了解我们如何实现这一点 – 这里,这里 和 这里。当然,我们已经做了很长时间了,我们知道性能游戏并不是驱动语言采用的主要因素(尽管它们很有趣!)- 而是开发者速度、语言可用性、高质量的工具链和文档,以及利用基础设施的社区来发明和构建我们无法想象的东西。我们是工具构建者,我们的目标是赋予世界使用我们的工具的能力,创建惊人的产品并解决重要的问题。如果我们专注于我们的更大目标,那就是创建一个满足您今天需求的语言,然后轻松地将您提升到一个更好的世界。Mojo 允许您拥有一个高性能、可用、静态类型和可移植的语言,可以无缝地与您的现有 Python 代码集成 – 给您两全其美的效果。它使您能够以多线程和并行化的方式实现真正的硬件力量,这是 Python 今天无法做到的 – 解锁全球开发者社区,使其能够拥有一个从上到下都可以扩展的语言。
Mojo 的魔力在于其能够用一套工具统一编程语言,为什么这是如此重要?
语言总是通过其生态系统和围绕它们形成的社区来成功。我们已经与开源社区合作了很长时间,我们非常认真地参与并确保以正确的方式行事。我们正在非常努力地发布我们的基础设施,但我们需要时间来扩展我们的团队 – 所以我们不会立即拥有所有答案,但我们会到达那里。退一步,我们的目标是通过接受整个现有的生态系统来提升 Python 生态系统,我们不像其他项目那样试图将其分裂。互操作性只是使社区更容易尝试我们的基础设施,而无需重写所有代码,这对 AI 来说很重要。
此外,我们从过去十年中开发 AI 基础设施和工具中学到了很多。现有的单体系统不容易扩展或推广到其初始目标之外,结果就是一个高度碎片化的 AI 部署行业,拥有数十个工具链,每个都有不同的权衡和局限性。这些设计模式通过降低可用性、可移植性和可扩展性,减慢了创新步伐。
下一代 AI 系统需要是生产质量的,并且需要满足开发者的需求。它不能要求用户重写、重构或重新构建代码。它需要是本地多框架、多云和多硬件的。它需要将最好的性能和效率与最好的可用性结合起来。这是减少碎片化和解锁下一代硬件、数据和算法创新唯一的方法。
Modular最近 宣布筹集了 1 亿美元的新资金,由 General Catalyst 领投,现有投资者 GV(Google Ventures)、SV Angel、Greylock 和 Factory 跟投。我们可以期待什么?
这笔新资本将主要用于扩展我们的团队,招聘最好的 AI 基础设施人才,并继续满足我们平台的巨大商业需求。Modverse,我们的社区,拥有超过 130K+ 的开发者和数千家企业,都在寻找我们的基础设施 – 所以我们希望确保我们继续扩展和努力为他们开发和交付它。我们要求自己达到极高的标准,我们发布的产品反映了我们作为一个团队和公司的身份。如果您认识任何人,他们有动力,喜欢软件和硬件的边界,并且希望帮助 AI 以有意义和积极的方式渗透到世界各地 – 请将他们介绍给我们。
您对编程的未来有什么展望?
编程应该是一种任何人都可以发展和利用的技能。对于很多人来说,编程的“理念”会立即唤起一个开发者编写复杂的低级代码的画面,这需要大量的数学和逻辑 – 但它不需要被认为是这样。技术一直是社会的伟大生产力,使编程更加易用和可访问,我们可以赋予更多的人使用它的能力。赋予人们自动化重复过程和使生活更简单的能力,是一种强大的方式来给人们更多的时间。
并且在 Python 中,我们已经拥有了一种美妙的语言,它经受了时间的考验 – 它是世界上最流行的语言,拥有一个不可思议的社区 – 但它也有一些局限性。我相信我们有一个巨大的机会使其更加强大,并且鼓励更多的世界来接受它的美丽和简单。正如我之前所说,这是关于构建具有渐进式复杂性披露的产品 – 启用高级抽象,但也可以扩展到非常低级的抽象。我们已经见证了一个重大的飞跃,AI 模型使文本到代码的转换更加个性化 – 并且这些将来会变得更加个性化 – 但在这种神奇的创新背后,仍然是一个开发者正在编写和部署代码来使其生效。我们已经 写过关于这个话题 – AI 将继续解锁创造力和生产力,跨越许多编程语言,但我也相信 Mojo 将使生态系统的开口变得更大,赋予更多的开发者可访问性、可扩展性和硬件可移植性。为了完成,我希望 Mojo 能够激励开发者去解决人类最重要的问题 – 无论他们住在哪里。 我认为这是一个值得为之奋斗的未来。
最后,感谢这次精彩的采访,希望读者可以通过访问 Modular 来了解更多信息。
