出品 | OSC开源社区(ID:oschina2013)众所周知,Python 是 AI 和 ML 领域最受欢迎的语言,如果翻看过去数月,甚至是数年的 TIOBE 榜单,Python 也一直占据着榜单前两名的位置。随着近段时间的 AI 的火热,以及 AI 在各个行业的应用,Python 受欢迎的程度有望进一步提升。除了 Python,Julia 也是不少开发者选择的编程语言,「Julia 是否会取代 Python」也是常常会被大家谈论的问题。AI 基础设施公司 Modular AI 最近公布了一种新的编程语言 Mojo,Mojo 结合了 Python 的语法以及 C 语言的可移植性和性能,目标是使其成为 AI 研究和生产的理想选择。Modular AI 是 Chris Lattner 和 Tim Davis 于 2022 年创立的公司,目标是自下而上重建全球 ML 基础设施。在这家新生的创业公司中,Chris Lattner 以 CEO 身份领导团队。
Chris Lattner 毕业于波特兰大学的计算机科学系,具有创建和领导多个知名大型项目的经验,其中包括 LLVM、Clang、MLIR 和 CIRCT 等编译器基础设施项目,他还带头创建了 Swift 编程语言。从 2005 年 7 月到 2017 年 1 月间,他曾领导苹果的开发者工具部门,随后,曾短暂领导过特斯拉的自动驾驶团队。2017 年 8 月,Chris Lattner 在 Google Brain 团队领导了 TensorFlow 基础设施工作,包括一系列硬件支持(CPU、GPU、TPU),底层运行时和编程语言工作。Mojo 结合了 Python 的易用性和 C 语言的性能,解锁了 AI 硬件无与伦比的可编程性和 AI 模型的可扩展性。另外,它比 Python 快 35000 倍。
当我们创办 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 代码
(https://www.modular.com/mojo),Mojo 未来也将保持开源。相关链接:https://www.modular.com/mojo
🌟 活动推荐
2023 年 5 月 27-28 日,GOTC 2023 全球开源技术峰会将在上海张江科学会堂隆重举行。
为期 2 天的开源行业盛会,将以行业展览、主题发言、特别论坛、分论坛、快闪演讲的形式来诠释此次大会主题 ——“Open Source, Into the Future”。与会者将一起探讨元宇宙、3D 与游戏、eBPF、Web3.0、区块链等热门技术主题,以及 OSPO、汽车软件、AIGC、开源教育培训、云原生、信创等热门话题,探讨开源未来,助力开源发展。
长按识别下方二维码立即查看 GOTC 2023 详情/报名。