众所周知,Python 是 AI 和 ML 领域最受欢迎的语言,如果翻看过去数月,甚至是数年的 TIOBE 榜单,Python 也一直占据着榜单前两名的位置。随着近段时间的 AI 的火热,以及 AI 在各个行业的应用,Python 受欢迎的程度有望进一步提升。
除了 Python,Julia 也是不少开发者选择的编程语言,「Julia 是否会取代 Python」也是常常会被大家谈论的问题。
如今,这个领域又来了一个新的竞争者。
AI 基础设施公司 Modular AI 最近公布了一种新的编程语言 Mojo,Mojo 结合了 Python 的语法以及 C 语言的可移植性和性能,目标是使其成为 AI 研究和生产的理想选择。
Mojo 结合了 Python 的易用性和 C 语言的性能,解锁了 AI 硬件无与伦比的可编程性和 AI 模型的可扩展性。 另外,它比 Python 快 35000 倍。
Mojo 的开发商表示:
当我们创办 Modular AI 时,我们没有打算建立一种新的编程语言。但是,当我们在建立我们的平台,打算统一 ML/AI 基础设施时,我们意识到整个栈的编程太复杂了。
根据开发人员的说法,构建新编程语言背后的主要动机之一是大多数现代编程系统依赖于加速器(如GPU)进行操作,并且只有在支持数据加载、前后处理以及与其他语言编写的外部系统集成等操作时才会 “回退” 到 CPU,Modular AI 希望将所有这些功能都整合到一个语言中。
我们认为没有理由不能只用一种语言来完成。因此,Mojo 诞生了。
因此他们想要的是一个创新的、可扩展的编程模型,并且可以支持加速器和其他机器学习中普遍存在的异构系统。这意味着 Modular AI 打算建立一个具有强大的编译时元编程的编程语言,整合自适应编译技术,在整个编译流程中进行缓存,以及其他现有语言不支持的东西。这就是 Mojo 的发展方向。
Mojo 能够利用 MLIR,使 Mojo 开发者能够利用向量、线程和 AI 硬件单元。根据测试,Mojo 比 Python 快 35000 倍。
Python 之所以热门,成为 AI 最主要的编程语言的重要原因是其拥有大量的库和丰富的生态。为了利用这些 Python 库,并与 Python 生态完全兼容,根据 Mojo 的文档,虽然 Mojo 拥有全新的代码库,但在概念上并没有真正从头开始。拥抱 Python 可以极大地简化了 Mojo 设计工作,大部分的语法也都与 Python 类似。
对于 Python 开发者来说,Modular AI 这样的做法也可以让开发者迅速熟悉 Mojo,目前 Mojo 已经支持 Python 的许多核心特性,包括 async/await、错误处理、Variadic 等,但是 Mojo 仍然处于非常早期的开发阶段,Mojo 目前甚至还不支持类。
Modular AI 未来还将提供一个迁移工具,为想把 Python 代码转移到 Mojo 的开发者提供非常好的兼容性。
开发者现在可以率先在 Modular AI 基于 JupyterHub 的 Playground 中试用。通过教程运行并编写你自己的 Mojo 代码(链接),Mojo 未来也将保持开源。