Luce Spark: a 35B MoE on a 16 GB GPU, without the offload tax
Luce Spark claims 33-35B MoE models can fit under 16GB VRAM with faster expert offload.
Luce Spark is an open-source MoE offload system for running 33B-35B A3B models on 16GB-class GPUs. It keeps frequently routed experts on GPU, stores the long tail in system RAM, and swaps cold experts through a bounded async cache. The author reports 13.3 GiB for Qwen3.6 35B-A3B and about 100 tok/s with Spark optimizations, but notes real 16GB GPU testing is still missing.
這篇 r/LocalLLaMA 貼文介紹 Luce-Org 的開源專案 Luce Spark,目標是在不承受傳統 MoE offload 大幅降速的情況下,讓 33B-35B A3B 類型的 MoE 模型能以低於 16GB 的峰值 VRAM 執行。作者提供的數據是在 RTX 3090、ctx 4096 上量測:Laguna XS.2 33B-A3B 從全 GPU 的 18.8 GiB 降到 Spark 的 14.6 GiB;Qwen3.6 35B-A3B 從約 20.5 GiB 降到 13.3 GiB。做法不是重新發明 MoE offload,而是結合三個工程優化:第一,Spark 從實際請求中累積每層每個 expert 的 routing 頻率,把熱點 experts 固定在 GPU,作者稱在 held-out traffic 上可把冷命中率從 uniform split 的 36% 降到約 7%。第二,使用固定大小的非同步 GPU 快取環;當請求打到冷門 expert,權重會從 pinned host memory 非同步拷貝到備用 GPU slot,並淘汰 LRU entry,主要代價是吞吐下降,而不是完全停住。第三,過去 offloaded path 每 token 建 40 個 per-layer graphs,Spark 把 routed FFN 折進 attention graph,讓整個 token 以單一 fused graph 執行,減少提交 overhead。效能方面,作者列出 naive offload 約 66 tok/s,Spark 加 calibrated placement 為 81 tok/s,再加 cache 與 fused graph 約 100 tok/s,對比需要 24GB 的 all-GPU 約 119 tok/s。使用上,laguna 與 qwen35moe 都可用 `dflash_server <model.gguf> --spark`,profile 會隨實際流量自我調整並寫在模型旁。限制也很明確:目前只在 24GB 3090 上確認峰值低於 16 GiB,尚未在 4060 Ti 16GB 或 5060 Ti 16GB 等真 16GB 卡實測;也尚未與 llama.cpp `--n-cpu-moe` 在相同設定下正面比較。
Free shows the 3-line summary; Pro unlocks the full deep summary (~300 words) so you never have to click through.
See Pro plans →Want the original English / full article?
Read on r/LocalLLaMA top day →Related
Summaries are AI-generated; the original article is authoritative.