8GB 内存的 MacBook Air,跑 26B 参数的大模型,每秒还能吐出 5 到 6 个 token。这件事听起来像把一头大象塞进电话亭,但 TurboFieldfare 给出的答案是:不硬塞,只留一部分,剩下的每次现取。

这套方案跑的是 Gemma 4 26B-A4B。它没有走 MLX,也没有用 llama.cpp,而是为这个模型专门写了 Swift 和 Metal 代码。内存里只保留 1.35GB 的共享部分和缓存,整体内存占用控制在约 2GB,其余数据在生成每个词时从 SSD 临时读取。

作者的原话是,每生成一个词,再从 SSD 临时读出用得上的那几个专家。换句话说,模型的大头躺在硬盘上,内存只负责当前这一步真正要用的部分。

实测数据来自两类机器:

  • M2 MacBook Air:每秒 5.1 到 6.3 个 token
  • 24GB 内存的 M5 Pro:每秒 31 到 35 个 token

同一套代码,换到内存更宽裕的机器上,速度直接拉开数倍。这也说明瓶颈不在模型本身,而在内存与 SSD 之间的搬运节奏。

项目不只给了一个跑分脚本。它提供原生 Mac 聊天应用,支持本地对话记录,带图像扩展包可以查看图片,还兼容 OpenAI 接口,能作为本地服务被其他工具调用。首次使用需要下载约 15GB 的模型文件。

作者整理了 103 组实验记录,用来证明 8GB Mac 跑 26B 模型这件事不是偶然撞上的个例。对一台被普遍认为只能应付轻量任务的机器来说,这个数字比任何参数表都更有说服力。

至于那句“8GB 的 Mac 能跑 26B,我是没想到”,大概也是不少人看到这组数字时的第一反应。