Chris Lattner ,这个神一样的男人,他又干了件惊天动地的大事!
他官宣发布全新编程语言——Mojo!
大神何许人也
对于全球各地开发者来说,Chris Lattner 是一个大家都仰望的男人!
他曾是许多大型技术项目的领导者,包括 LLVM 编译器基础结构项目、Clang C 和 C++ 编译器、MLIR 机器学习基础结构等编译器技术,以及为苹果生态系统提供支持的程序设计语言 Swift。
他的履历可谓相当精彩:
- 2011-2017 年,任苹果开发部高级总监、架构师
- 2017.1-2017.6,任特斯拉副总裁,负责自动驾驶
- 2017.8-2020.1,任谷歌 Google Brain 高级总监
- 2020.1,加入芯片创业公司 SiFive 负责平台工程
在去年,他终于下定决心自己创业,和 Tim Davis 共同建立了「Modular AI」,希望自下而上重建全球 ML 基础设施。
Mojo 就是他们公司发布的新编程语言。
Mojo 诞生记
Mojo 的出世,在 AI 领域迅速引起了热议。Jeremy Howard 试用后,在一篇博客文章中表示,Mojo 可能是几十年来最大的编程进步。
为什么创造 Mojo?
我们来看看 Mojo 父亲 Chris Lattner 和 Tim Davis 的回答:
当我们创办 Modular 时,我们没有打算建立一种新的编程语言。但是,当我们在建立我们的平台,打算统一世界上的 ML/AI 基础设施时,我们意识到,在整个堆栈中编程太复杂了。另外,我们用手写了很多 MLIR,但并不愉快。
我们想要的是一个创新的、可扩展的编程模型,可以针对加速器和其他机器学习中普遍存在的异构系统。这意味着一种具有强大的编译时元编程的编程语言,整合自适应编译技术,在整个编译流程中进行缓存,以及其他现有语言不支持的东西。
尽管加速器很重要,但最普遍的、有时被忽视的加速器之一是主机 CPU。今天,CPU 有很多类似张量核心的加速器块和其他 AI 加速单元,但它们也是专门加速器无法处理的运算的后备力量,如数据加载、前后处理以及与国外系统的集成。因此,很明显,我们不能用一种只与特定处理器一起工作的「加速器语言」来提升人工智能。应用 AI 系统需要解决所有这些问题,我们认为没有理由不通过一种语言来完成。
在这种情况下,Mojo 诞生了。
Mojo 和 Python
Mojo 将 Python 的易用性与 C 的性能相结合,释放了 AI 硬件强大的可编程性和 AI 模型的可扩展性。使用 Mojo 可以编写比 C 更快、可移植的代码,并与 Python 生态系统无缝交互。最重要的是,Mojo 具备了使用 Python 库整个生态系统的能力。
Mojo 能够对大量低级 AI 硬件进行编程,无需 C++ 或 CUDA。
根据官网测试结果,Mojo 比 Python 快 35000 倍。
此外,Mojo 还可以访问 Numpy 和 Matplotlib 等任意库以及所有用户自定义代码。
可以通过预处理和后处理操作轻松扩展模型,或将操作替换为自定义操作。并且能够利用内核融合、图形重写、形状函数等。
总结
Python 的易用性和广泛应用性是我们所熟知的,但是其糟糕的性能也是我们长期诟病的。
而 Mojo 的出现很大程度上是为了弥补 Python 的性能瓶颈。
随着人工智能技术的发展,相信 Mojo 应该很快会风靡起来。
Mojo 仍在开发中,开发者现在可以在 Modular AI 基于 JupyterHub 的 Playground 中试用,用户只需通读教程便可编写自己的 Mojo 代码。
试用地址:https://docs.modular.com/mojo/get-started.html