Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

llama2.mojo比llama2.c快20%,最年轻的语言Mojo惊艳开发者社区

如果说 Python 是最流行的语言,C 语言是最经典的语言,那么 Mojo 也有它的之最 —— 最年轻。Mojo 能够与 Python 无缝衔接,它的出世被称作为「几十年来最大的编程进步」。                   图源:https://www.modular.com/blog/mojo-its-finally-here 

自 5 月 Mojo 推出以来,已经有超过 12 万的开发者注册使用 Mojo Playground,并有超过 1.9 万的开发者在 Discord 和 GitHub 上积极讨论 Mojo。9 月 7 日,Modular 公司宣布 Mojo 可以在本地下载。Mojo 最初的目标是比 Python 快 35000 倍,近日该团队表示,Mojo 将动态与静态语言的优点结合起来,一举将性能提升达 Python 的 68000 倍。 

                                                                         Mojo 

Mojo 是一种面向 AI 开发人员的新编程语言,它已经支持与任意 Python 代码无缝集成,并将成长为 Python 的超集。让我们回顾一下 Mojo 的「魅力」。

  • 用一种语言编写所有内容:Mojo 可满足 AI 开发人员的需求,将 Python 的易用性与系统编程功能相结合。这使研究和部署团队可以在一个共同的代码库中工作,从而简化工作流程。
  • 释放 Python 性能:Python 无处不在,但对于需要高性能或特殊硬件的任务来说,Python 并非最适合的工具。Mojo 可在 CPU 上实现高性能,并支持 GPU 和 ASIC 等特殊加速器,提供与 C++ 和 CUDA 不相上下的性能。
  • 访问整个 Python 生态系统:Mojo 提供了与 Python 生态系统的完全互操作性,可以无缝使用 Python 库,同时利用 Mojo 的功能和性能优势。

Mojo 本地下载所提供的工具箱也可以让开发者更轻松地上手。首次发布的 Mojo SDK 包含了以下工具:

  • Mojo 驱动程序:提供 shell(用于读取 - 评估 - 打印 - 循环或 REPL),允许构建和运行 Mojo 程序、打包 Mojo 模块、生成文档和格式化代码‍。
  • Visual Studio Code (VS Code) 的扩展:支持语法高亮、代码自动补全等多种功能‍
  • Jupyter 内核:支持构建和运行 Mojo 笔记本,包括 Python 代码 ‍
  • 调试支持(即将推出):进入并检查运行中的 Mojo 程序,甚至可以混合使用 C++ 和 Mojo 堆栈帧

就在近日,一位 Mojo 社区成员将 Python 程序移植到 Mojo,效果如何?

                                                               llama.mojo 
项目地址:https://github.com/tairov/llama2.mojo

随着 Mojo 的发布,这位 Mojo 社区成员受到启发,将在 Python 上移植的 llama2.py 移植到了 Mojo 上。它已经比 Karpathy 的 llama.c 快了 20%。而这并不是速度的终点,未来可能会更快。                   llama2.py、llama2.c、llama2.mojo 的直观对比 

这个版本利用了 Mojo 的 SIMD 和矢量化原语,将 Python 的性能提高了近 250 倍。即使在快速运行模式下,Mojo 版本的性能也比原来的 llama2.c 高出 15-20%。这展示了通过 Mojo 高级功能进行硬件级优化的潜力。这有助于大家了解在原有 llama2.c 硬件优化的基础上还能走多远。                    性能数据对比 

当然,这位成员也公布了操作系统与硬件细节。看到这样的性能比较,网友们纷纷感慨,Mojo 的确展现了自己的「实力」。 
但是也有网友提出了不一样的看法,或是另一个探索方向。                            Llama.c 不是为了快速运行而调优的,而是为了理解一个文件中的代码。它 llama.cpp 比起来会是怎样? 

                                                        Mojo 与他的背后「大佬」 

Modular AI 于 2022 年创立,旨在重建全球 ML 基础设施,它由 LLVM 和 Swift 编程语言的联合创始人 Chris Lattner 创办,并在此前刚获得 1 亿美元融资。Chris Lattner 表示,融资将用于产品扩展、硬件支持和推动自研 AI 编程语言 Mojo 的进一步发展。                       Chris Lattner 

Chris Lattner 毕业于波特兰大学的计算机科学系,具有创建和领导多个知名大型项目的经验,其中包括 LLVM、Clang、MLIR 和 CIRCT 等编译器基础设施项目,他还带头创建了 Swift 编程语言。他曾在苹果的开发者工具部门任职,还担任过特斯拉副总裁。2017 年 8 月,他 任 Google Brain 团队领导了 TensorFlow 基础设施工作,包括一系列硬件支持(CPU、GPU、TPU),底层运行时和编程语言工作。

在 llama.mojo 的性能对比发布后,Chris Lattner 在推特上感慨到,这离 Mojo 可本地下载只隔了三天。 
参考链接:

https://twitter.com/Modular_AI/status/1701342288012820800
https://twitter.com/tairov/status/1701194900228764023
https://github.com/tairov/llama2.mojo


工程Modular AIllama.mojoMojo
相关数据
TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

操作系统技术

操作系统(英语:operating system,缩写作 OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

推荐文章
暂无评论
暂无评论~