美国初创企业Modular在5月2日宣布,在其正在开发的下一代AI软件开发平台中取得了两项新的技术突破,集成推理引擎“Modular Inference Engine”,以及结合了Python的易用性和C语言性能的新编程语言"Mojo"。Modular希望通过这个开发平台,从根本上改变AI的可编程性、可用性、可扩展性以及计算方式。
Python以其在AI和机器学习领域的应用而闻名,但其速度问题一直受到批评。虽然有用C语言编写的作为Python包装器的库,但这些库在提高性能的同时,会降低代码的可读性等问题。因此,专门为AI和机器学习开发的新语言Mojo引起了人们的关注。
对于那些困扰于Python速度问题的AI和机器学习工程师来说,Mojo可能是个好消息。Mojo以Python为基础,并具有Python的兼容性,声称其速度是Python的35000倍。Mojo结合了Python的易用性和C语言的性能,同时具备AI硬件的可编程性和AI模型的可扩展性。
那么Mojo大概有哪些特点呢。
1
描述所有内容的一种语言
Mojo结合了研究人员所喜欢的Python的优点和C、C++、CUDA等语言提供的系统编程功能。Mojo建立在下一代编译器技术之上,开发者可以向程序添加类型以显著提高性能,定义零成本抽象,享受像Rust这样的内存安全性优势,利用自定义的自动调优功能和编译时元编程功能。
2
挖掘Python的性能
Mojo建立在Modular的高性能异构运行时之上,使用MLIR(多级中间表示)。MLIR可以访问所有AI硬件。因此,Mojo可以进行线程操作,访问低级硬件功能(如TensorCores和AMX扩展)和加速器。实际上,Mojo在执行像Mandelbrot这样的数值算法时,可以获得Python的35000倍速度,因为它可以充分利用硬件。
3
访问整个Python生态系统
为了获取这种强大的性能,无需牺牲你已知和喜欢的东西。Mojo不仅提供了类似Python的外观和感觉,而且开发者可以访问整个Python生态系统。这包括像Numpy、Pandas、Matplotlib这样的受欢迎的库,以及现有的自定义Python代码等。
4
升级模型和Modular堆栈
Mojo不是一个副项目,所有由Modular自家开发的内核都是用Mojo编写的,这也是Modular推理引擎能够发挥出卓越性能和可移植性的原因。在这个引擎中,可以使用Mojo的前处理和后处理操作来扩展模型,或将现有的操作替换为自定义操作。使用Mojo,可以通过内核融合、图形重写、形状函数等来定制Modular堆栈,无需重新编译框架或编写C++或CUDA代码。
那么怎么使用Mojo呢,最近非常流行Waiting List,Mojo也不例外,访问下面的网址,填写个人信息,然后等待就可以了。
https://www.modular.com/get-started
(请复制后在浏览器里打开)
获取使用权限后,会收到联系邮件,点击链接进入后,Mojo的背景看起来与Jupyter笔记本非常相似。
虽然Mojo还在开发中,如果Mojo能够实现其承诺,它可能成为AI和机器学习的下一个重大事件。您可以申请早期访问并参与Mojo的开发。如果您对Mojo感兴趣,请访问官方网站查看更多详细信息。希望Mojo能够帮助您的AI和机器学习项目。