👁 225 次阅读
一、Swiftlet 是什么?
8月4日,一个名为 Swiftlet 的开源项目在 HackerNews 上引发热议(1029分,当日最高)。Swiftlet 是一个基于 Swift + Metal 的 AI 推理框架,由开发者 Leonickson 发布,能够在普通苹果设备上运行 35B 甚至 80B 参数的 Qwen 大模型——包括 iPhone。
这是目前已知在消费级设备上运行的最大规模模型之一。80B 参数的 Qwen3-Next 模型,在 M5 Mac 上仅需 4.3GB 峰值内存,就能达到 4.5-5 tok/s 的生成速度;35B 的 Qwen3.6 模型更是只需 2.6GB 内存,速度可达 7-11 tok/s,甚至能在 iPhone 17 上以约 1 tok/s 的速度运行。
二、技术原理:MoE 流式推理
Swiftlet 的核心创新在于其流式专家混合(MoE)推理架构。Qwen3-Next 和 Qwen3.6 系列模型采用 MoE 架构,每层只激活约 3B 参数(80B 模型每层从 512 个专家中路由到 10 个)。Swiftlet 巧妙地利用了这一点:
- 将密集权重(注意力层、路由器、共享专家等)常驻内存,仅占 1.3-2.5GB(4-bit 量化)
- 将数万个路由专家重新打包为固定步长的 .qpack 容器,每次推理只需一次
pread从 SSD 读取 - 使用 LFU + 最近淘汰策略缓存热门专家,Apple SSD 的高速读取能力让缓存命中率几乎不影响速度
- 通过 Metal 运行时编译的着色器执行整个前向传播,无需 Metal 工具链即可在 iOS 上运行
值得一提的是,75% 的层采用了 Gated DeltaNet 线性注意力机制,具有固定大小的循环状态,因此在任何上下文长度下都不会有增长的 KV 缓存——这意味着无限上下文窗口成为可能。
三、实际体验:四种使用方式
Swiftlet 提供了四种使用方式,覆盖从开发者到普通用户的全部场景:
- Swift 包集成:开发者可将 SwiftletCore 添加到自己的 macOS/iOS 应用中,使用 SwiftletSession 实现流式对话、采样控制和内存压力管理
- 命令行工具:
swiftlet chat和swiftlet generate支持本地对话和基准测试,swiftlet-repack可从 MLX 检查点构建容器 - API 服务器:
swiftlet-server提供 OpenAI 兼容接口,任何支持 OpenAI API 的聊天 UI 都可直接连接 - iOS 应用:Priv AI(App Store 免费)已集成 SwiftletCore,用户只需在设置中下载模型即可使用
安装过程极为简单——一行命令克隆仓库,swift build -c release 编译,然后从 Hugging Face 下载模型容器即可开始对话。模型容器支持断点续传,35B 模型占用 18GB 磁盘,80B 模型占用 42GB。
四、意义与影响
Swiftlet 的出现标志着本地 AI 推理进入了一个新阶段。此前,在消费级设备上运行大模型往往局限于 7B-13B 的小模型。Swiftlet 证明,80B 级别的模型完全可以在手机和笔记本上本地运行,且无需量化或权重卸载。
这至少有三层意义:
- 隐私保护:数据完全本地处理,无需上传云端,适合医疗、金融、个人助理等隐私敏感场景
- 离线可用:无需网络连接,在飞机、偏远地区等场景下也能使用顶级 AI 能力
- 成本革命:无需租用昂贵的 GPU 云服务,一台 iPhone 或 MacBook 就能运行 80B 模型
当然,Swiftlet 目前仍处于早期阶段。开发者坦诚地指出,虽然模型聊天和写作像大模型,但事实记忆能力受限于仅 3B 活跃参数。不过,随着 Apple Silicon 性能的提升和 Metal 内核的持续优化,这一差距正在迅速缩小。
五、总结与展望
Swiftlet 的开源发布(Apache 2.0 协议)为消费级 AI 推理开辟了新方向。在 ANEMLL 证明 397B 模型可在 iPhone 17 Pro 上运行的先例之后,Swiftlet 将这一能力带到了普通 iPhone 上,并且提供了完整的开源实现和开发者工具链。
如果你有一台 Apple Silicon Mac 或 iPhone,不妨试试 Swiftlet,体验一下 80B 大模型在本地运行的感觉。项目地址:github.com/leonickson1/Swiftlet