写点什么

Mojo——会燃的 AI 编程语言

作者:CODING DevOps
  • 2023-10-20
    广东
  • 本文字数:1561 字

    阅读完需:约 5 分钟

Mojo——会燃的 AI 编程语言

点击链接了解详情





导语:本文简介 Mojo 的背景与特点,并分享如何通过腾讯云 Cloudstudio 的 WebIDE 和分享社区快速学习和上手 Mojo。


🔥🔥🔥 腾讯云 Cloud Studio 已开放 Mojo 应用模版。

什么是 Mojo

Mojo 是基于 Python 而生的编程语言,它结合了 Python 的简易性和 C 语言的强大性能,能够实现硬件的丰富功能,如多核、向量单元和加速器单元。Mojo 能对大量低级 AI 硬件进行编程,并且轻松扩展模型,为开发者提供卓越的性能体验。

Mojo 出现的背景

当下,AI 模型的开发基本都是使用 Python 完成。但 Python 性能相对较慢,对于大规模的计算密集型任务,并不是最佳选择。在使用多线程时,Python 解释器中的全局解释器锁不能充分发挥多核处理器的优势,一定程度增加了 AI 模型开发的复杂性。且 Python 的内存占用通常较高,在规模的数据集和复杂的模型中,会因频繁的内存交换而变得效率低下,尤其会限制可处理的数据规模。这无疑是减缓 AI 模型创新发展的步伐。伴随着机器学习需求与日俱增,Mojo 应运而生。

Mojo 的优点

  • 可用性和可编程性


开发者使用 Mojo 进行编程,无需再单独掌握 C++ 或 CUDA 等其他语言,通过 Mojo 一种语言即可完成 AI 模型所有内容的编写。Mojo 的高级语法完全基于 Python,其使用起来像 Python 一样简单,但具有 C++ 和 Rust 的性能。并且 Mojo 能够实现自动并行化,很大程度降低了开发者的使用门槛。


  • 性能强大


Mojo 的性能号称比 Python 快 68000 倍。因为 Mojo 是静态编译的,静态编译语言的代码在执行之前经过编译器编译过程,将代码直接编译成机器码。在运行时不需要进行解释或动态编译,从而在计算密集型任务上具有明显的性能优势。此外,Mojo 利用 MLIR,使开发人员可以轻松利用向量、线程和 AI 硬件单元。


  • 互操作性和可扩展性


Mojo 支持访问完整的 Python 科学计算库,如 Numpy、SciPy、Pandas、Matplotlib 以及用户自定义代码,提供了丰富的机器学习算法、工具以及深度学习框架等,随着时间的推移将发展成 Python 的超集,使得在 Mojo 上开发和训练复杂的机器学习模型更加容易和高效。


总之,Mojo 是面向 AI 的编程语言,是一种创新且可扩展的编程模型,用于解决开发者在构建机器学习基础设施时,面临的整个堆栈编程过于复杂的问题。Mojo 又被称为 Python 的超集,它比 Python 更适用于系统编程,同时,Mojo 支持任何 Python 模块导入 Mojo 程序中,让开发者可以充分使用高性能代码,不会增加开发门槛。另外,在 AI 模型开发过程中,Mojo 可以通过“fn”创建函数,以构建更复杂的函数管道或函数链,从而实现更高级的功能,为 AI 模型创新提供更稳定、快速、高质量的开发环境。

腾讯云 Cloud Studio 相关服务

  1. 腾讯云 Cloud Studio 是腾讯云的面向云端开发的 IDE 产品。内置了 Mojo 镜像和官方全部 Mojo 示例:Cloud Studio


登陆后选择 Mojo 镜像,点击和直接可以编辑、运行,也可以按需提高运行的资源配置,使用示例如下所示:



  • 代码运行


运行 Mojo 代码文件。打开 mojo 模版中的 hello.🔥 文件。



写入以下代码保存:


rint("Hello cloudstudio Mojo 🔥!")    for x in range(9, 0, -3):        print(x)
复制代码


运行得到:



  1. 腾讯云 CloudStudio 也具备开发爱好者交流学习分享的应用社区:club.cloudstudio.net


社区中已提供 Mojo 相关学习资料,文中对 Mojo 基础语法、Python 集成进行了科普,点击**【快速体验】**即可通过应用查看。



点击【复刻】可进入 IDE Mojo 模版进行编码体验。



大模型加速效果测评

根据该 benchmark 测试结果(GitHub - tairov/llama2.mojo: Inference Llama 2 in one file of pure 🔥), 看起来官方宣称的超 Python 68000 倍的最大加速效果也许有些夸大,但 llama2 15M 模型下 Mojo 相比于 Python 来说确实加速了不少(我们自己测试速度倍差比该结果稍大)。而且 Mojo 还在起步阶段,如果它真能达到所畅想的目标,还是很有前景的。




用户头像

CODING DevOps

关注

让开发更简单! 2018-04-23 加入

CODING 是腾讯云旗下一站式 DevOps 研发管理平台,向广大开发者及企业研发团队提供代码托管、项目协同、测试管理、持续集成、制品库、持续部署、云原生应用管理 Orbit、团队知识库等系列工具产品。

评论

发布
暂无评论
Mojo——会燃的 AI 编程语言_CODING DevOps_InfoQ写作社区