125B 模型,12GB 顯卡,94 tok/s

Strata 讓 125B 的 Qwen3.8-Flash-Next 跑在 12GB 顯卡的遊戲機上,解碼 94 tok/s。拆解它靠什麼做到、代價在哪裡,以及中小企業該不該自架。

7 分鐘
local-llmqweninference
125B 模型跑在 12GB 顯卡上的示意圖

這篇沒有我們的實測。數據來自 Qwen 官方發布、Strata 開源專案 的說明,以及一位對岸開發者的公開實測影片。文中會標明哪個數字是誰給的。

三個數字

125B 的模型。12GB 的顯示卡。94 tok/s。

半年前,這三個數字放在一起是笑話。當時想在家用電腦跑 27B 的模型,量化後 20GB,加上 KV cache,你得有 24GB 的卡才勉強開到 128K 上下文。

現在 125B 跑在 12GB 上,而且不是「能跑」,是「比你讀字還快」。

真正變的不是模型變聰明,是模型有多大,和硬體要多好,已經開始脫鉤。

先講清楚前提:94 tok/s 是 RTX 5070(12GB)搭配 64GB 系統記憶體的成績。只有 32GB 記憶體的話,只能跑砍半的 Coder 版本。這不是「插一張卡就好」的故事。

兩個限制,被分別繞過

大模型跑不動,卡在兩件事:

  1. 裝不下:權重是硬的。這顆模型加上 51B 的 n-gram 查表,量化後檔案還是 70–80GB。
  2. 算不動:每個 token 都要讓所有參數參與計算。

Qwen3.8-Flash-Next 處理了第二個,Strata 處理了第一個。

第一個限制:不是每個專家都要上班

Flash-Next 是 MoE(混合專家)架構。官方數字是 125B 總參數、6B 激活:每個 token 的計算量,大約等於一個 6B 模型。

打個比方:傳統稠密模型是「公司裡每個部門都得參與每一個案子」,MoE 是「只叫相關的幾個部門進來開會」。

所以「算不動」這件事,先解決了一半。

第二個限制:把整台電腦當成一台機器

但 6B 的計算量,不代表 6B 的記憶體——125B 的權重還是得存在某個地方。

Strata 的做法是不要全部塞進顯存,按「多常用」分三層放(見圖 1):

層放什麼佔用
顯存 VRAM最常命中的專家12–24 GB
系統記憶體全部專家(開機時載入)約 47 GB
SSD其餘權重與 n-gram 查表檔案總量 70–80 GB

(47GB 是那位開發者在 IQ3_S 量化下的實測;官方建議 64GB 記憶體就是為了裝下這一層。)

跑起來的時候,GPU 算它手上的專家;沒命中的,要嘛走 PCIe 搬進顯存,要嘛直接讓 CPU 用記憶體裡的權重算。

這就是為什麼 12GB 的卡能跑——顯存不再是「裝不裝得下」的容器,而是「快取多大」的問題。

還有一個加速器:猜,然後驗證

除了省記憶體,Strata 還用了投機解碼:小模型先猜接下來幾個 token,大模型一次驗證。

猜對就省下好幾步,官方數字大約快 1.6–1.8 倍。

實際多快

官方在 RTX 5070(12GB 顯存、64GB RAM)上測到的:

量化寫答案讀 prompt(32K)
Q2_094 tok/s2,650 tok/s
IQ2_XS79 tok/s2,090 tok/s
IQ3_XXS62 tok/s1,750 tok/s
IQ3_S53 tok/s1,620 tok/s

24GB 的卡更快。那位開發者在他的 4090 + 64GB RAM 上實測:解碼約 140 tok/s、prefill 約 4,400 tok/s,256K 上下文開滿也還跑得動。

他第一次測到 203 tok/s,後來發現是 benchmark 沒把 reasoning 時間與快取命中算進去。修正後才是 140。這種「先懷疑自己的量測」比數字本身更有價值。

要注意上面那張表的「讀 prompt 2,650 tok/s」是快取熱起來之後的數字。冷啟動第一次讀長文會慢很多——官方文件寫的是每 30,000 tokens 約一分鐘,大約 500 tok/s。

代價

一、量化到 2-bit。 94 tok/s 是 Q2_0 的數字,那是很兇的壓縮。要品質就得犧牲速度——IQ3_S 剩 53 tok/s。這是取捨,不是免費的。

二、記憶體與啟動。 開機要把 35–55GB 載進記憶體,電腦會卡 1–3 分鐘;整個程序佔用超過 50GB。32GB 的機器只能跑 Coder 變體(砍掉一半專家),官方也提醒它在中文本表現較弱。

三、一次一個請求。 預設不支援併發,第二個請求要排隊。開併發得調參數,12GB 的卡上會讓每個回答變慢。

調參的迷思

Strata 有不少參數可調:PCIE_FRAC(GPU 與 CPU 怎麼分攤計算)、CPU Workers、MTP 深度、KVGROW。

那位開發者花了大量時間做矩陣測試,他的結論是:官方自動校準就夠了。

他自己測出的「快 5%、快 9%」,多跑幾輪就消失,有時候還反過來。原因是速度受當下生成的內容、專家路由狀態、MTP 命中率、GPU 快取影響——這些變異比參數本身還大。這是在他那台機器上的結論,換硬體要重新驗證。

有一個參數值得單獨提:KVGROW。預設開 256K 上下文時,引擎會先把整段 KV cache 的顯存預留起來,結果短對話也沒位置放熱專家,速度掉到最慢檔。KVGROW 讓 cache 跟著實際用量長大:短對話快,長對話才讓位。

所以,該不該自架?

先把興奮放一邊,算一算。匯率抓 1 美元 ≈ NT$31.5。

Qwen3.8-Flash 的 API 價格是 $0.16 / 百萬 input token、$0.47 / 百萬 output——output 是 input 的三倍,這段先只算 input,方便比較。

一台跑得舒服的機器(4090 或同級 + 64GB RAM)大約台幣 8–10 萬。

每月 input 用量API 成本自架電費
1,000 萬 token約 NT$50NT$250–370
1 億 token約 NT$500NT$250–370
10 億 token約 NT$5,000NT$250–370

電費怎麼算的:推論時約 350W,每天用兩小時、其餘時間閒置 80W,一個月約 74 度;台電累進電價抓每度 NT$3–5,就是每個月 250–370 元。24 小時滿載的話是 250 度左右,大約 NT$750–1,250。

看表就知道結論:每月十億 token 以下,API 連電費都比較便宜,還沒算機器折舊。

粗算回本點:10 萬 ÷ (5,000 − 370) ≈ 22 個月——那是每月十億 token 的量才成立。對絕大多數中小企業,這個量級不會出現。

那自架還有什麼意義?三個:

  • 隱私:資料不出門。這是最難用錢換的
  • 離線:工廠、船上、沒有網路的現場
  • 不受限:不用擔心費率調整、政策變更、API 下架

如果你不屬於這三種,用 API 就好,而且會用得比自架開心。

真正的重點

這篇想說的不是「125B 好強」。

是模型大小已經不能拿來判斷硬體需求了。同樣 125B,你可以用 360GB 的伺服器跑,也可以用 12GB 的遊戲卡跑——差別只在於有沒有人幫你把記憶體階層調度好。

這也是我們做地端部署時真正在處理的問題:不是「這顆模型跑不跑得動」,而是「你的瓶頸在哪一層」。我們在資源受限裝置上累積的經驗,換到 LLM 上其實是同一件事。

如果你正在評估要不要自架,先問三個問題:

  1. 每月 token 量有沒有到億級? 沒有,API 幾乎一定更划算。
  2. 資料能不能出門? 不能,才輪到自架。
  3. 有沒有 64GB 記憶體與一張 12GB 以上的卡? 沒有,連門檻都不到。

三題有兩題是「否」,答案就是 API。