岩石、纸张与硅片:我如何在 MacBook 上运行 235B 参数量的 AI 模型
大多数人都说,你无法在消费级硬件上运行前沿 AI 模型。
要运行像 Qwen3-235B 这样的模型,你需要 470 GB 的内存。而一台高端 Mac Studio 仅有 192 GB。业界通常会建议你转而租用云端 GPU。
我是一名 Web 开发人员,而不是系统工程师。我不处理 GPU 内核或底层内存。但我有一个疑问:如果只加载模型中实际被激活的部分会怎样?
在混合专家(Mixture of Experts, MoE)模型中,大部分参数在大部分时间里都是处于静默状态的。我决定构建一个系统,在权重被需要之前才将其加载。
我使用 AI Agent 来协助我编写 C++ 代码。我带来了好奇心,而 Agent 带来了实现的深度。
我的灵感来自 Filippo Biondi 的一篇卫星论文。他利用雷达探测吉萨大金字塔的内部。雷达无法穿透岩石,但它可以测量岩石在受到撞击时产生的振动。他通过测量这些振动来绘制内部结构图。
我将这种逻辑应用到了 AI 内存管理中。
我将其称为 S-MoE (Seismic Mixture of Experts)。它通过三个流进行工作:
• The Scout:模型中运行在 RAM 中的轻量级部分。它负责预测下一个会被激活的专家。 • The Streamer:一个 I/O 线程,负责将特定的专家块从 SSD 加载到内存中。 • The GPU:使用刚刚到达的权重执行数学运算。
该系统使用 Direct I/O 来绕过操作系统缓存。它不使用任何运行时堆分配(heap allocations)。它避开了所有的操作系统互斥锁(mutexes)。
结果如何?一台 16 GB 的 Mac 和一台 512 GB 的 Mac 在运行 235B 模型时,会表现出完全相同的智能水平。唯一的区别只是其中一台速度更快。
AI 领域的“内存墙”其实是一个软件层面的假设,而非自然法则。你完全可以在现有的硬件上运行前沿模型。
S-MoE 是开源的。
可选学习社区:https://t.me/GyaanSetuAi
