顯示記憶體裝不下的大型模型,一旦溢出到主記憶體,速度就會掉到難以使用的程度。FreeToken 正是鎖定這道牆,把重點放在 MoE 架構上。專案以 Apache 2.0 授權公開,同時提供 Windows 與 Linux 的桌面應用程式。

從 MoE「用不到的權重」下手的推論引擎

FreeToken 是專門用來執行 MoE(Mixture-of-Experts,混合專家)模型的推論引擎,由 FlashML 開發,原始碼以 Apache License 2.0 放在 GitHub 上。專案將自己定位為面向邊緣端的服務引擎,把 GPU、CPU、主機記憶體以及彼此之間的連接通道,視為一個統一而有彈性的推論平台。

MoE 模型的架構讓每次推論只啟用一部分專家。總參數量可以達到數百億甚至數千億,但單次推論真正動到的權重要小得多。FreeToken 以此為前提,只把當下需要的專家權重搬進顯示記憶體,並透過全域 LRU(Least Recently Used,最近最少使用)快取把一段時間沒用到的權重換出去。

過去的本地推論通常在載入模型時,以層為單位把權重靜態分配給 GPU 與 CPU。溢出的部分會在之後每一次推論中持續拖慢速度。FreeToken 則在每次推論時重新調整配置,目標是在相同的顯示記憶體容量下拉高實際速度。

依頻寬決定分工的想法

技術核心是依頻寬調整的 CPU 與 GPU 協同執行,論文中稱之為 q* 策略。在讀入輸入的預填充階段,整層權重以雙緩衝方式串流載入,讓權重搬運與運算重疊,藉此把等待時間藏起來。權重本身則採用名為 FTW 的專用高速格式。

記憶體配置同樣不是固定的。專家快取與 KV 快取之間的比重可以在執行中調整,不需要重啟引擎或重新載入權重。上下文變長的情境與頻繁切換專家的情境,最佳比重並不相同,因此這種可變性相當實用。

為代理程式情境設計的快取

另一根支柱是具語意感知的快取。FreeToken 設置了稱為語意錨點的檢查點,用來保存遞迴狀態與 KV 快取。如此一來,工具呼叫、思考區塊插入等代理程式特有的上下文改動發生時,就不必重新計算整段上下文。

經常操作程式開發代理的人對這種情況並不陌生:對話中間每插入一段內容,就得再等一輪重新計算。FreeToken 要削掉的正是這部分成本,方向與常見的跑分最佳化並不一樣。

在消費級 RTX 上實測的數字

論文第一作者、加州大學柏克萊分校的 Shuo Yang 公布的實測數字顯示,在 GeForce RTX 4060 Laptop(8GB)上 Qwen3.6-35B-A3B 達到每秒 39 個 token,在 GeForce RTX 5090(32GB)上 DeepSeek-V4-Flash 284B 為每秒 22 至 25 個 token,在 RTX PRO 6000 Workstation 上 GLM-5.2 753B 為每秒 15 個 token。其中最好懂的成果,是 350 億參數等級的模型能在 8GB 的筆電顯示卡上以可對話的速度運作。

他也提出與 Ollama 的比較:解碼快 3 至 4 倍,預填充快 6 至 30 倍。預填充這一側的提升較大,正是前述搬運與運算重疊機制帶來的效果。論文已於 arXiv 公開,題為 FreeToken: Efficient Edge-Native MoE Serving with Bandwidth-Adaptive Execution,共同作者包括 Kurt Keutzer、Song Han、Matei Zaharia、Ion Stoica 等人。

兩種安裝方式,API 相容既有代理程式

安裝途徑有 2 種。一是從官方網站下載的桌面應用程式,支援 Windows 與 Linux,會代為完成引擎設定,並透過圖形介面提供模型執行、聊天與參數調整。二是命令列方式,以 uv 或 pip 安裝 freetoken[accel],也支援從原始碼建置。

uv pip install "freetoken[accel]"

支援的模型包括 DeepSeek-V4-Flash、Qwen3.6-35B-A3B、GLM-5.2 等開放權重 MoE 模型,量化格式涵蓋 MXFP4、NVFP4、FP8 與 BF16。顯示卡方面原生鎖定 NVIDIA 的 RTX 30、RTX 40 與 RTX 50 系列。API 同時相容 Anthropic 與 OpenAI 兩種格式,Codex、Claude Code、OpenCode、OpenClaw、DeepSeek Harness 等程式開發代理可以直接接上。這種相容性的用意,是讓手邊的機器直接成為代理程式的執行環境。

另外,該 GitHub 儲存庫在公開後不久已累積超過 4,300 顆星與 391 次分支。關注度確實很高,但它仍是一個還留有未解決 Issue 的新專案,這點需要留意。

總結

FreeToken 抓住 MoE 模型「每次只用到一小部分權重」的特性,設法讓顯示記憶體有限的機器也能以堪用的速度執行大型模型。它把依頻寬劃分 CPU 與 GPU 分工、以 LRU 換入換出專家、專家快取與 KV 快取的執行期再配置,以及能承受代理程式上下文改動的快取設計結合在一起。350 億參數等級的模型在 8GB 筆電顯示卡上跑出每秒 39 個 token,或許會稍微改變大家對本地大型模型的既有想像。