内存墙是计算机体系结构中的一个经典瓶颈,简单来说,就是处理器的运算速度飞快,但内存的容量和传输速度却远远跟不上需求。
尤其是像 Qwen3.5-397B 这样拥有 3,970 亿参数的巨型模型,即使经过 4 比特压缩,其体积也高达 209 GB,是顶级消费级笔记本内存容量的 4 倍以上。在传统的推理模式下,这意味着你必须拥有数张价值不菲的专业显卡集群才能勉强运行。
近日,来自美国最大的医疗保健和药房连锁公司之一 CVS Health 的人工智能平台副总裁丹·伍兹(Dan Woods)完成了一项看似不可能的挑战:他运行了一个名为 Flash-MoE的项目,成功在一台仅有 48GB 内存的 MacBook Pro 上离线运行了拥有 3,970 亿参数的 Qwen3.5-397B,运行速度达到约 5.7 tokens/秒,峰值可到 7.07 tokens/秒。
![]()
图 | 伍兹(来源:社交媒体 X)
对伍兹而言,在本地设备上运行顶级规模的大模型,是他多年来的愿望。早在三年前,苹果就发布过一篇名为“LLM in a flash: Efficient Large Language Model Inference with Limited Memory”的论文,明确指出通过从闪存流式传输权重,运行超出内存容量的大模型完全可行。他一直期待这一天的到来,但即便苹果的硬件架构似乎为这一技术量身定制,官方却始终没有推出对应的落地方案。
伍兹深知,编写底层 Metal 着色器、Objective-C 推理引擎以及复杂的 I/O 优化并不在自己的专业领域内。但随着 Claude Opus 4.6 的进化和 Claude Code 智能体化工程的成熟,时机终于来了。
他将研究思路和论文交给 Claude Code,并采用安德烈·卡帕西(Andrej Karpathy)“自动研究”模式的变体,让 Claude 在 24 小时内运行了 90 个实验,以确定最佳推理策略、量化方法和架构选择。从 5,000 行的 Objective-C 推理引擎到 1,100 行的 Metal 着色器,再到 2 比特重分配量化管线及全部测试代码,没有一行是由他亲手编写的,全部出自 Claude 之手。
在相关论文中,伍兹还将 Claude Opus 4.6 列为第一作者。
![]()
(来源:GitHub)
在传统的稠密模型中,每生成一个字,模型中的每一个参数都必须参与计算。Qwen3.5-397B 是一款极具代表性的超大规模混合专家模型(MoE)。这类模型并非所有参数同时工作,而是被拆分成为数百个“专家”模块,每个 Token 只激活少数专家,其余模块均处于闲置,天生具备极高的权重稀疏性。Qwen3.5-397B,总参数量为 3,970 亿,但每个 token 仅激活 17B 参数。
Qwen3.5-397B 拥有 512 个专家,但在处理每个 Token 时,默认只会激活 10 个专家。伍兹进一步发现,即使只激活 4 个专家,模型的逻辑推理、数学和编程能力依然保持卓越,而一旦激活数量少于 3 个,模型输出会直接崩溃。这意味着在任何一个计算瞬间,只有不到 2% 的专家权重是真正需要的。
因此,伍兹的想法是:如果能把这部分需要的权重从高速 NVMe 固态硬盘(SSD)快速传输到内存/显卡,就不用把整个模型塞进内存,相当于让固态硬盘成为模型的“外部内存”,流式给模型供能。
苹果 M3 Max 的统一内存架构(CPU、GPU、SSD 共享一个地址空间,内存带宽达 400GB/s)和 3 倍于前代的 NVMe 速度,刚好提供了硬件基础,能在模型计算的时间内,把需要的专家权重传过来。
![]()
(来源:GitHub)
为了实现这一想法,伍兹做了一些创新改进。
首先是给模型权重“瘦身”,在原有 4 比特量化的基础上,对专家权重做 2 比特二次量化,单个专家大小从 7.08MB 降至 3.93MB,总存储需求从 209GB 降到 120GB,数据传输量直接减少 44%,且每层量化误差仅 0.001-0.003,模型输出质量几乎没有损失。
其次,在 MacBook Pro M3 Max 上,NVMe SSD 的顺序读取速度高达 17.5 GB/s。伍兹利用这一特性,开发了一套基于 C 语言和 Metal 指令集的管线,核心路径上完全没有 Python,也没有使用任何现成的 ML 框架,把计算分成三个命令缓冲区,让 CPU 准备下一层的同时,GPU 在算当前层,实现重叠执行,减少等待。
最令人意外的是缓存策略的反常识优化。研究人员最初为提升速度搭建了 9.8GB 的应用层缓存,结果却发现速度不升反降。深入研究后发现,苹果硅芯片的硬件内存压缩器会因这类 GPU 可见缓存疯狂工作,每秒数万次的解压缩消耗了大量 CPU 资源和内存带宽,反而挤占了数据传输和计算的资源。最终研究人员果断删掉所有应用层缓存,让 macOS 系统的页缓存完全接管,这一调整直接让模型运行速度提升 38%,解压缩操作几乎降至零。
一系列优化下来,这款 3,970 亿参数的大模型在 48GB 内存的笔记本上,仅占用 6.5GB 内存就能稳定运行,每层计算耗时仅 2.9 毫秒,其中固态硬盘的数据传输是最大瓶颈,占比近 50%。经测试,模型在 2 比特量化下的输出质量与 4 比特几乎无差别,能正确完成数字因式分解、编写规范 Python 代码、用通俗类比解释科学概念等任务,完全达到实用标准。
伍兹指出,当前系统仅受限于 SSD 带宽,理论吞吐量底线可达 18.6 tokens/秒,而目前的 5.74 tokens/秒仅利用了硬件的部分潜能,仍有巨大提升空间。随着苹果 SSD 带宽每代约 20% 的稳步增长,预计在未来 2 到 3 代硬件更迭内,在个人笔记本上以 10 tokens/秒以上速度运行 4,000 亿参数模型将成为常态。
他还表示,这种方法同样适用于 DeepSeek-V3 等其他以专家权重为主导的 MoE 模型。
1https://github.com/danveloper/flash-moe/blob/main/paper/flash_moe.pdf
运营/排版:何晨龙
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.