基本介绍
Mojo一个给AI开发者提供的编程语言。 今日LLVM 和 Swift 编程语言的联合创始人 Chris Lattner发布了一种名为 Mojo 的新编程语言。它结合了 Python 的可用性和 C 的性能,释放了 AI 硬件的可编程性和 AI 模型的可扩展性。
Mojo 将Python 特性,与C、C++ 和 CUDA 的系统编程功能结合了起来,并通过设计的加速机制,凭借着硬件加速,它在运行 Mandelbrot 等数字算法时比原始 Python 快上 3.5 万倍。
诞生
Chris Lattner 曾先后效力于苹果、谷歌和特斯拉等公司,参与创建了许多急剧影响力的项目,包括 LLVM 编译器基础结构项目、Clang C 和 C++ 编译器、MLIR 机器学习基础结构等编译器技术,以及为苹果生态系统提供支持的程序设计语言 Swift。
Chris Lattner独立创业后,希望构建自己的平台以此统一世界上的 ML/AI 基础设施,但是发现硬件的多样化,定制化,规范不统一,整个堆栈中编程十分复杂,这些系统严重碎片化,硬件种类繁多,每个都有定制的工具。虽然人工智能由数据、算法(“模型”)和计算的良性循环提供支持,并且我们拥有比以往更多的数据和更多的 AI 模型研究,但是物理原因,计算并没有以相同的速度扩展。
由于传统 CPU 无法扩展以满足更多计算的需求,唯一的前进方向是创建并行和特定领域的硬件,这种硬件不太通用,但确实可以很好地处理一些与 AI 相关的事情——比如图形处理单元(GPU) )、张量处理单元 (TPU) 和其他专用集成电路 (ASIC)。 尽管这些创新帮助推动了行业向前发展,在边缘设备中实现了更大规模和更节能的处理器,但硬件多样性的增加使行业变得支离破碎,并让 AI 开发人员遇到了一下困难:
- 难以开发充分利用硬件能力并与他人组合的软件。
- 难以在任何一台设备上表达并行软件算法。
- 难以将该软件扩展到包含许多设备的生态系统,甚至扩展到异构系统。
由此,Mojo诞生,一种建立在 Python 基础上的编程语言,号称拥有与 C 比肩的速度优势;还有可移植、高性能 Modular 推荐引擎,能够在生产中以更低成本运行 AI 模型。
性能+便捷
Mojo 结合了 Python 的可用性与 C 的性能,释放了 AI 硬件无与伦比的可编程性和 AI 模型的可扩展性—— 它与 Python 一样易于使用,但具有 C++ 和 Rust 的性能。此外,Mojo 提供了利用整个 Python 库生态系统的能力,可以访问整个 Python 生态系统,如可以访问 Numpy、Matplotlib 以及用户自定义代码。Mojo 与 Python 无缝互操作
用 Mojo 一种语言就能编写所有东西。例如可以编写 Python、大量低级 AI 硬件程序,而不需要 C++ 或 CUDA
Mojo 解锁了 Python 性能。利用最先进的编译器和异构运行时,Mojo 能够充分利用硬件的全部功能,包括多核、向量单元和加速器单元。在任务不复杂的情况下实现与 C++ 和 CUDA 相当的性能
并行化:Mojo 利用 MLIR,使 Mojo 开发人员能够利用向量、线程和 AI 硬件单元
Mojo 的出世,在 AI 领域迅速引起了热议。Jeremy Howard(人工智能和大数据领域的从业者们可谓无人不知无人不晓,他是Enlitic、FastMail、Optimal Decisions Group三家科技公司的创始人兼CEO,是大数据竞赛平台Kaggle的前主席和首席科学家) 试用后在twitter发文大加赞赏mojo
喜欢尝鲜的AI小伙伴赶快尝试吧 Mojo