內存墻是計算機體系結構中的一個經典瓶頸,簡單來說,就是處理器的運算速度飛快,但內存的容量和傳輸速度卻遠遠跟不上需求。
尤其是像 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.