嗨玩手游网

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

机器之心报道

编辑:梓文

你听说过 Mojo 的「传奇色彩」吗?

如果说 Python 是最流行的语言,C 语言是最经典的语言,那么 Mojo 也有它的之最 —— 最年轻。Mojo 能够与 Python 无缝衔接,它的出世被称作为「几十年来最大的编程进步」。

图源:https://www.modular/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/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/Modular_AI/status/1701342288012820800

https://twitter/tairov/status/1701194900228764023

https://github/tairov/llama2.mojo

皇室战争:卡顿?闪断?不存在的!快捷指令优化小技巧!

打开皇室战争,进度卡在50%、60%、70%、99%。

你郁闷吗?

扔个飞桶,挖个矿工,瞬间来一条通知提醒,手残点击到通知跳出皇室战争。

你崩溃吗?

眼看到了斩杀阶段,拼手速的时候,一个来电把你拉出游戏。

你绝望吗?

激战正酣,断网法术不期而至。

你是否感到了来自生活满满的恶意?

工欲善其事,必先利其器。

玩游戏也一样,这些客观的情况,其实很影响战局的走向,尤其是对皇室战争这样一款对即时性要求很高、分秒必争的游戏,更是如此。

下面来说说怎么避免这些情况。

开机卡加载?

这个情况,游戏客户端首先要背锅。随着客户端的不断更新,大家也发现了,这种情况出现的愈加频繁,客户端还是需要做跟多的优化。

实测发现,当你的手机存储空间过小,譬如就剩1、2g或者几百兆的时候,卡加载进度的情况非常严重。猜测启动的时候会用到一部分缓存空间。所以,适当清理一下手机存储空间,会有帮助。

另外,如果能看懂,建议把客户端语言设置改到英文。解包客户端时也发现了,字体是单独的文件。使用非默认字体(非英语)的时候,势必需要提前加载字体文件,会占到一部分系统开销。

最后,皇室战争有时候会有一些客户端的非必要更新释放出来(不安装也能进游戏对战的那种),一般是修复一些小bug、优化一些性能,建议更新。

游戏中通知、来电、卡顿?

这些可以买更好的手机、选择更靠谱的运营商、游戏前进行一些设置。

对于懒人,我推荐《快捷指令》。

《快捷指令》原名是《Workflow》,它可以自定义多个动作来完成某项任务或功能,提高效率,被苹果收购后更名为《快捷指令》免费上架。

下面我就来详细说说快捷指令在玩皇室战争的时候能做什么(其实不仅对皇室战争,对其他游戏也可以以此类推)。耐心差的直接拉到文末看视频,不过建议看完图文,讲的更细一些。

很多pc优化工具,都有着“一键优化”或者“游戏模式”等功能,开启“游戏模式”的时候,你打开某些指定游戏(或者全部游戏)的时候,系统会根据游戏的特点,自动释放内存、释放CPU、调节亮度和其他的一些设置,来达到优化游戏的目的。

其实利用快捷指令的"自动化“功能,在手机上我们也可以做到。

来,一起看一下(本文主要针对iOs用户,android系统下也有一些优化工具)。

首先打开《快捷指令》点击下方「自动化」选择「创建个人自动化」,接着拉到最下方,选择「打开App」,在App中选取皇室战争(可以重复添加多个app):

点击“下一步”,选择“添加操作”,选择“脚本”,在脚本中我们可以分别添加“设定勿扰模式”、“设定低电量模式”、“设定亮度”、“设定音量”、“设定无线局域网”等:

逐项解释一下:

设定勿扰模式打开,可以在游戏进行过程中自动屏蔽顶部通知,避免来电弹出。注意,确保手机中勿扰模式的设置如下(只有在静音始终的情况下,才能在非锁频状态下打不进来电话、弹不出通知。允许哪些来电和重复来电的开关,视你的具体情况而定):

关闭无线局域网,只使用4G或者5G进行网络连接,这个大家可以根据具体情况而定。wifi链接虽然百兆、千兆网速会比4G快,但是在wifi信号满天飞、互相干扰的情况下,WIFI的网络抖动有时候会比较厉害,丢包、断流情况时有发生,4G和5G反而会好的多(根据实际情况选择打开/关闭wifi)。

低电量模式,iphone会自动降频、调低亮度。关闭低电量模式,会避免手机进行这样自动的调整。当然,你需要自己关注电量,避免突然关机(插个充电器!)。

设定亮度、设定音量,可以根据你自己的喜好和实际情况设定。这样游戏一启动就会自动设置成你的预置亮度和音量(设想一下在学校上课,偷偷打开皇室战争,结果忘记静音了得是多么麻烦。启动即自动设置会避免此场景)。

此时点击下一步,该自动化设置就完成了。

运行前询问,会在你打开皇室战争的时候弹出询问,是否使用该自动化设置,确定即可生效。也可关闭,这样每次打开自动生效。

任君选择。

测试一下,是不是很完美?

重点,如果之前选择了“运行前询问”,那这个界面一定要点击上面的询问窗口!否则不会生效。

不,还没有结束,在创建完这个自动化任务以后,你会发现一个问题:打开皇室战争自动应用上了我的设置,我不玩了,点击Home键切换回桌面,这些设置依然还在生效啊。能自动恢复到打开皇室战争之前的正常设置吗?

IOS没有应用退出的说法,当你切换回桌面,应用只是在后台挂起了。至于什么时候应用被系统杀死、被系统回收,无法监控。所以,就没法进行这样的自动化设置:当“xxxxx应用”退出时,执行“xxxxx操作”。

难道就没有办法了吗?

这时就要用上“快捷指令”的另一个功能----“创建快捷指令”。

打开”快捷指令“,在首屏点击”创建快捷指令“,点击”添加操作“,选择“脚本”,熟悉的界面,在脚本中我们分别添加刚才选择的“设定勿扰模式”、“设定低电量模式”、“设定亮度”、“设定音量”、“设定无线局域网”等,并将这些设置恢复到正常模式:

点击下一步,给这个快捷指令起一个名字,返回列表后,点击该指令右上角三个点,在详情页面点击底部“分享”图标,选择“添加到主屏幕”。

这时,你的“正常模式“快捷指令就添加到主屏幕了。你可以在home键以后,点击“正常模式”,即可恢复到预设的正常模式配置。

完整视频如下,供参考:

视频加载中...

其实,快捷指令还有其他很多强大的功能,内置的快捷指令中心也有很多现有的指令供你选择。

各位挑战者,你,学会了吗?

欢迎留言讨论,分享更多心得!

更多攻略
游戏推荐
更多+