Python革命者Mojo来临,速度提升35000倍

爱的威利斯 2024-05-25 16:04:37

在人工智能(AI)领域,Python以其易用性广受欢迎。然而,Python的性能问题一直是开发者们的痛点。为了解决这一问题,Mojo应运而生。这是一种结合了Python的易用性和C语言性能的新编程语言,专为AI开发者设计。据称,Mojo能将Python代码的运行速度提高35000倍。

Python革命者Mojo来临,速度提升3500倍

Python的性能挑战

当前的常见做法是尽可能多地使用Python编写代码,而对于需要高性能的部分(例如内循环),则依赖C、Rust或其他高性能语言的封装库。即便是像Numpy或PyTorch这样的库,也并非完全依赖Python,而是提供了“Pythonic”接口,连接到高度优化的数值库。然而,这种需要两种语言的混合库增加了调试的复杂性,也使得使用大型框架更加困难。

AI领域进一步增加了这种复杂性。现有的编程系统在面对AI世界的创新时显得力不从心。例如,CUDA是一种仅兼容一种硬件制造商的编程语言。多个新硬件系统正在开发中,但没有统一的语言可以适用于所有系统,这使得AI社区内的编程系统更加碎片化。

Mojo的引入

Mojo的开发团队不想再增加或创造另一个碎片化的生态系统,他们的目标是创建一个严格的Python超集,完全兼容Python生态系统。Mojo不仅是一个超集,还是一个正在开发中的一流编程语言,旨在提供可预测的低级性能和控制能力。Mojo开发者借鉴了CPython的实现,以支持长尾生态系统,同时也引入了新工具,帮助开发本来需要使用C、C++的安全且高性能的系统级代码。

Mojo的技术背景

Chris Lattner是Mojo背后的主要开发者,他通过LLVM Linux虚拟机开发了一种“中间表示”(IR),这是一种专为机器阅读和写作而设计的特殊语言。随后,他在谷歌开发了多级中间表示(MLIR),以取代LLVM的IR,用于多核计算和AI工作负载。Mojo正是基于MLIR的“语法糖”发展而来。

3500倍性能提升的真相

关于Mojo能将Python代码速度提高3500倍的说法,需要仔细阅读细则。性能提升取决于硬件。在发布会中展示的Mandelbrot基准测试是在AWS r7iz.metal-16xl机器上运行的,即便如此,Mojo的系统级优化和灵活性确实能够解锁任何设备的功能,这是Python无法做到的。

Mojo playground是用户可以试验Mojo代码的地方,但它并不运行在AWS r7iz.metal-16xl机器上,而是在AWS EC2 C6i实例上分配给所有活跃用户,每个用户保证有一个vCPU核心。

展望

虽然Mojo尚未正式发布,开发团队计划开源这门语言。Python可能会继续作为大数据、机器学习和AI的主要编程语言,但它需要像Mojo这样的中介解决方案来提升性能。Mojo的文档详细介绍了其功能,是了解这门语言的最佳资源。

总的来说,Mojo的出现有望解决Python在AI领域的性能瓶颈,成为AI开发者的强力工具。随着开源计划的推进,我们将拭目以待Mojo带来的变革。

4 阅读:1196
评论列表
  • 2024-06-07 09:13

    说python比c慢100倍已经够极端了,提高3500倍?35000倍?突破物理极限??

爱的威利斯

简介:感谢大家的关注