为什么每个 Mac 用户都需要这款全新的 AI 模型运行器 (oMLX)
BBetter Stack
Computing/SoftwareConsumer ElectronicsInternet Technology
Transcript
00:00:00这是 OMLX。这是一个非常令人兴奋的项目,它本质上是一个专门的推理
00:00:06引擎,旨在压榨出 Apple Silicon 的最后一滴性能。
00:00:11如果你是 Mac 用户,你一定会对此感到非常兴奋。OMLX 本质上是在
00:00:16尝试解决我们在本地硬件上遇到的最大瓶颈,即“内存税”。
00:00:21在这段视频中,我们将了解 OMLX,看看它是如何工作的,并进行一次测试运行,将其
00:00:27与重量级选手 LM Studio 进行对比,看看这款新工具是否真的能成为在 Mac 上
00:00:33运行本地 AI 模型的未来。这将非常有趣,让我们开始吧。
00:00:39那么,OMLX 到底是什么?从核心上讲,它是一个直接构建在 Apple 的
00:00:49MLX 框架之上的运行时,与那些试图支持所有 GPU 的通用工具不同,
00:00:55MLX 是由 Apple Silicon 团队专门构建的,旨在利用驱动 Mac 的
00:01:02统一内存架构。在传统的 PC 中,你的 CPU 和 GPU 拥有独立的内存池,
00:01:09这意味着模型权重之类的数据必须不断地通过 PCI 总线来回拷贝。
00:01:16但 MLX 完全消除了这种拷贝。因为 CPU 和 GPU 共享完全相同的物理
00:01:22内存,MLX 使用了零拷贝数组。当 GPU 完成计算时,CPU 可以立即
00:01:29读取结果,而无需移动任何一个字节。它还使用了延迟计算,这意味着它
00:01:36直到需要输出的最后一秒才会真正执行数学运算,
00:01:41这允许它实时优化整个计算图。但 OMLX 与你标准的
00:01:47LM Studio 设置的不同之处在于它管理 KV 缓存的方式。在典型的 LLM 会话中,你
00:01:54对话历史的每一个字都必须记住在你昂贵的 RAM 中。但 OMLX 引入了一个两层
00:02:01系统。它将即时上下文保存在统一内存中以保证速度,但它会冻结
00:02:07对话中较旧的部分,比如那些庞大的系统提示词和工具定义,并将它们
00:02:12交换到你的 SSD 上。当你将其与 LM Studio 相比时,差异是立竿见影的。是的,
00:02:19它非常稳定且兼容,但问题是它想把整个
00:02:23内存历史记录保持在热状态。OMLX 更像是一个现代操作系统。它足够聪明,知道
00:02:30哪些数据现在需要在大脑中,哪些可以分页到磁盘。所以,让我们启动 OMLX
00:02:36并亲自动手尝试一下。界面非常直观。一开始,我们会看到这个
00:02:41窗口,在这里我们可以指定服务器的目标位置并立即启动它。之后,
00:02:47系统会提示我们提供 API 密钥。让我们输入它。最后,我们进入了这个
00:02:53仪表盘,它是你 OMLX 服务器的主要入口。从这里,我直接
00:03:00下载了 Qwen 2.5 350 亿参数的 4-bit 模型,我们将用它进行测试。
00:03:07我还设置了一个空的仓库,里面有一个 agents.md 文件,我会要求模型
00:03:13创建一个简单的 Web 应用,在这里你可以搜索不同的电影、将它们加入愿望单并使用
00:03:19你的 Movie DB API 密钥进行评分。这次演示没有什么花哨的东西,只是一个简单的编码测试,
00:03:24看看它在处理现实世界编码任务时的潜在表现。在仪表盘页面上,
00:03:31我们可以看到这个部分,它为我们提供了可直接用于不同 AI Agent 框架的
00:03:37代码片段。在这次演示中,我将使用 Codex CLI 来进行这些测试。
00:03:42现在,你可能会纳闷为什么我不直接使用官方的 Claude Code CLI。嗯,
00:03:47现实情况是在 MacBook M2 上,每一个 Token 都至关重要。如果你看看 Claude 的上下文统计,
00:03:54在完全空白的状态下,Claude Code 仅为了自身的系统提示词和工具定义
00:04:02就消耗了大约 16.2K 个 Token。在 32K 的窗口中,这只剩下 16K 个 Token 用于
00:04:09实际项目,当你构建一个全栈应用时,这实在是太小了。但另一方面,
00:04:14我发现 Codex 要精简得多。它不会让对话的基础重量膨胀,
00:04:20这给了我们一个更充裕的跑道来实际编写代码,然后才达到上下文上限。
00:04:26好了,现在我要用这里提供的简单命令启动 Codex。
00:04:31然后我会给它一个简单的启动提示词,解释我们的任务并让它运行。
00:04:36当它在右边运行(烹饪)时,你可以实时看到这个会话的表现,
00:04:42正在生成多少 Token,其中有多少被缓存了,
00:04:46以及整体的缓存效率百分比。能看到平均每秒处理多少
00:04:51Token 也是非常方便的。总的来说,这个运行在我 M2 MacBook Pro 上的
00:04:57350 亿参数 Qwen 2.5 模型花了大约 20 分钟才完成这项任务。这也是
00:05:04预料之中的,因为对这个模型来说这是一项非常繁重的任务。期间有两三次,
00:05:10我遇到了 400 错误,因为提示词超过了我 M2 MacBook 上 30K 的上下文限制。
00:05:17在任何其他工具中,这都会是整个项目的终结者。通常情况下,如果我运行 /clear,
00:05:24它会抹掉 AI 的短期记忆,通常会导致幻觉,因为模型会
00:05:29忘记它刚刚写的代码。但这就是 OMLX 的持久化 SSD 缓存让我折服的地方。
00:05:37尽管我在 Codex 中清除了会话,但我项目的实际计算状态
00:05:42仍然存储在我的 SSD 上。所以当我给 Codex 一个新的提示词让它从中断处继续时,
00:05:48OMLX 识别出了前缀,并立即从磁盘中恢复(水合)了模型的大脑。它没有
00:05:56产生幻觉或从头开始,而是从上次中断的地方直接继续。因此缓存效率
00:06:02在这种情况下真的很有帮助。到任务结束时,我们可以看到在 OMLX 的帮助下,
00:06:08Qwen 2.5 通过产出 178 万个 Token 完成了任务,其中大约 159 万个
00:06:16是被缓存的。所以我们最终获得了 89% 的缓存效率,这非常巨大。至于
00:06:22应用本身,看起来挺不错的。我们可以搜索电影,将它们添加到看单,
00:06:28并进行评分。但是一旦刷新页面,看单就会重置。所以我猜它没有
00:06:33正确实现数据库存储方案,但总体而言仍是一次扎实的努力。现在,这一切
00:06:40看起来令人印象深刻,但我想弄清楚,这种表现与 LM Studio 这样的
00:06:46重量级模型运行器相比如何。所以我决定使用相同的 Qwen 2.5 模型运行相同的任务,
00:06:52使用相同的上下文窗口和约束,看看表现如何。老实说,我
00:06:58没料到会这样,但我实际上在 LM Studio 上得到了更差的表现。任务本身
00:07:04花了大约 35 分钟才完成。这已经比在 MLX 上多了 15 分钟。我还注意到,
00:07:11在运行此任务时,LM Studio 几乎榨干了我的 MacBook。以至于我甚至
00:07:17无法在第二个显示器上观看视频,因为它由于严重的 RAM 短缺而卡顿。
00:07:23而在使用 OMLX 时我没有遇到同样的问题,因为在 OMLX 上运行时,我能够
00:07:30轻松浏览网页、观看视频或做任何其他任务,而 Codex 仍在
00:07:35后台运行。但这在 LM Studio 上几乎是不可能的。看看这些统计数据。让我
00:07:41更震惊的是,LM Studio 的平均每秒 Token 速度是 16 个。而在
00:07:47OMLX 上,速度大约是 47 个。这实际上解释了为什么任务多花了 15 分钟才完成。
00:07:55然而,我必须给予应有的赞赏。LM Studio 没有像 OMLX 那样抛出任何由于
00:08:01上下文限制瓶颈导致的 400 错误。所以 LM Studio 的上下文管理非常稳定且
00:08:08运行完美。如果我们看最终结果,两者非常相似。这次我没有
00:08:13做任何花哨的动画,但老实说,这感觉就像是用不同的
00:08:18种子值对比同一个模型对同一个任务的输出。所以我不会在这里匆忙下结论。
00:08:25这是同一个 Qwen 2.5 模型。你可以亲自评判 Qwen 模型的输出。那么,
00:08:33最终结论是什么?嗯,我必须说 OMLX 的表现让我留下了非常深刻的印象。如果你使用的是
00:08:39内存有限的 MacBook,并且你想在后台运行本地 AI Agent 的同时实际使用你的电脑,
00:08:45那么 OMLX 是一个完美的工具。它通过利用你的高速 SSD,结合那甜美的
00:08:52MLX 框架,让我们在 Apple Silicon 上更流畅地运行模型,实际上为你提供了 RAM 扩展。
00:08:58但是,是的,偶尔的 400 错误意味着你必须更多地进行手动干预,
00:09:05也许偶尔需要执行一下 clear 命令。但这是为了获得快三倍的
00:09:10生成速度而做出的权衡。但我认为在这种情况下是非常值得的。所以,这些
00:09:16像 OMLX 这样的项目证明了我们并不一定需要 128GB 的 RAM 来运行
00:09:23强大的 Agent。我们只需要一种更聪明的方法来管理我们 MacBook 上已有的内存。
00:09:29几个月前我们进行了一项调查,发现我们的大多数观众都是 Mac 用户。
00:09:34所以我很好奇。你是否在自己的机器上尝试过 OMLX?到目前为止,
00:09:40体验如何?请在下方的评论区告诉我们。这就是
00:09:45简而言之的 OMLX。朋友们,如果你喜欢这种类型的技术分解,请通过
00:09:50猛击视频下方的点赞按钮让我知道。也别忘了订阅我们的
00:09:55频道。我是来自 Better Stack 的 Andris,我们下期视频再见。