新创公司Modular AI发布新程式语言Mojo,官方提到,该语言同时拥有Python的可用性,以及C语言的效能。由於Mojo能够直接存取人工智慧运算硬体,因此运算效能大幅超越Python,在执行特定的演算法,Mojo甚至能够比Python快35,000倍。
人工智慧非营利研究组织Fast.ai创办人,同时也是Modular AI顾问的Jeremy Howard解释,当Mojo最终完成时,将相当於Python的严格超集,他认为,Mojo可能是近十年最大的程式语言进步。
Swift语言创始人Chris Lattner自曝因为工作环境有毒的原因,在2021年离开Swift核心团队。他在2022年1月时与Tim Davis共同创立Modular AI,目标是开发人工智慧系统开发平台,希望能从根本改进人工智慧的程式开发性、可用性、可扩展性以及运算方式。
针对这项目标,现在Modular AI针对人工智慧应用,开发了程式语言Mojo。官方提到,Python虽然是一个强大的语言,也支援各种人工智慧研究,但可扩展性是Python最终无法在生产中使用的主要问题,Python难以被用在大型工作负载,也无法在边缘装置中顺畅执行,生产环境的人工智慧终究还是需要使用C++以及CUDA等其他语言。
这样的状况导致人工智慧软体环境碎片化,降低人工智慧应用从研究阶段,进入生产阶段的速度,进而减少了人工智慧开发人员的生产力。
Mojo建立在现代编译技术之上,其具有类型设计,大幅增加程式的执行速度,也让开发者能够定义零成本抽象,并且拥有类似Rust语言的记忆体安全性。特别的是,Mojo还拥有自动调校(Autotuning)和编译时後设程式开发(Compile-Time Metaprogramming)功能。自动调校会在程式编译过程,自动最佳化程式效能,而编译时後设程式开发则允许程式在编译阶段时,对其自身结构和行爲进行调整,生成更高效的程式码。
受益於Modular的高效能Runtime,且充分应用MLIR(Multi-Level Intermediate Representation)技术,Mojo能够直接操作各种人工智慧硬体,像是存取执行绪、TensorCores和AMX扩充等低阶硬体功能,官方提到,在执行像是Mandelbrot这类演算法,Mojo比Python快35,000倍。
即便Mojo与Python有不少区别,但是官方称使用Mojo就像是Python一样。开发者可以在Mojo上使用Python的函式库,包括Numpy、Pandas、Matplotlib,甚至是现有的其他Python程式码。Mojo非常灵活,开发者不需要重新编译框架或是编写任何C++或CUDA程式码,就拥有执行核心融合(Kernel Fusion)、图重写(Graph Rewrites)以及形状函式(Shape Functions)等能力。
Mojo是Modular AI的一个正式的专案,所有Modular核心也都以Mojo编写,官方表示,这也是Modular模组化推理引擎高效能和高可移植性的原因。