限期一週的實驗今天到期。

還記得上週日的 Day 1-2 回報嗎?一張 RTX Pro 6000(96GB VRAM)+ 512G RAM 的借來機器,目標是驗證單機到底跑不跑得動 Tier 1 等級的地端 model。

一週跑完,三個開源旗艦 MoE 全部部署成功,跑完同一套基準,外加把 vLLM 這條路線也走了一遍。先上結算表:

模型 量化 部署方式 Decode 速度 VRAM
GLM 5.2(753B MoE) 2-bit、222GB MoE 專家全放 CPU ~9 tok/s 23.5 GB
DeepSeek V4 Flash(284B MoE) 2-bit、85GB 全塞進 VRAM ~58 tok/s 89.6 GB
Qwen3.5-122B(原生多模態) 4-bit、72GB 全塞進 VRAM ~98 tok/s 77.5 GB

然後是這一週學到的六件事。

一、Memory offload 絕對可行——GLM 5.2 證明了這件事

GLM 5.2 的檔案 222GB,VRAM 只有 96GB,連一半都塞不下。照傳統邏輯這個模型就是「跑不動」,討論結束。

但 MoE offload 讓它跑起來了,而且 VRAM 只佔 23.5GB。753B 參數的模型,在一張卡上推理,131K context。這件事本身就值得記下來:「模型檔案大於 VRAM」不再等於「跑不動」,只等於「要接受速度折扣」。

原理我在 MoE Offload 完全拆解那篇寫過:每個 token 只激活一小撮 expert,閒置的權重可以待在 CPU RAM。這週等於是拿一整週的實測,幫那篇理論文蓋章。

二、但 DeepSeek 才是 offload 的優等生

同樣是「塞不下、部分專家丟 CPU」的 offload 模式,DeepSeek 跑出 25 tok/s,GLM 5.2 調到最好是 10.8 tok/s。體感就是快了一大截。

更有意思的是量化精度的不對等:GLM 那邊已經是砍到見骨的 2-bit(IQ2),DeepSeek 用的卻是近無損的 Q8——背著 8-bit 的權重跑 offload,還是比 2-bit 的 GLM 快了一倍以上。

要說明一下,這不是嚴格的對照組——兩個模型參數量差了 2.7 倍、量化精度也不同。但方向很清楚:DeepSeek 每個 token 只激活約 13B 參數,GLM 要 40B,激活量直接決定每個 token 要從 CPU 搬多少權重。梁文鋒團隊去年就看到 VRAM 牆,架構天生就是為混合推理設計的,這週的數字驗證了這個判斷。

然後 DeepSeek 還有另一條路:IQ2 量化 85GB 整包塞進 VRAM,58 tok/s,五題基準跟 Q8 完全同分。「能整包塞進 VRAM 的小量化」勝過「塞不下的大量化」,這是本週最實用的一條經驗。

三、Qwen VL 122B 的視覺,超乎預期

這是本週最驚豔的部分。

Qwen3.5-122B 是三個模型裡部署最無痛的:4-bit 才 72GB,輕鬆全上 GPU,98 tok/s。文字基準跟 DeepSeek 同分,然後它還多一項武器——原生視覺。

自製的五題視覺基準(圖表讀取、表格計算、OCR、流程圖、物件計數)全對,連 VLM 經典弱項的物件計數和字元級 OCR 都沒失分。所以我拿了一張網路上的工程圖來壓測:機械廠的加工檢驗規範,46 個標註項,人工 6 倍放大逐項核對建真值。

結果分三層:

  • 30B 輕量模型全頁判讀:74%
  • 122B 全頁判讀:85%
  • 122B + 6 倍局部截圖複核流程:96%

中間有個很有意思的發現。換大模型(30B → 122B)修好的全部是「理解力」問題——漏項、圈號歸屬、幾何公差符號,5 處結構性錯誤全數修復。但「視力」問題一處都救不回來:歐式工程圖用逗號當小數點,383,5 意思是 383.5,而在 160 DPI 的全頁圖上那個逗號只有約 2 像素。資訊在進視覺編碼器之前就沒了,模型再大也還原不出來。

真正把正確率推到 96% 的不是換模型,是流程:關鍵尺寸做 6 倍局部截圖、prompt 明講「小數點以逗號表示」。模型容量買得到理解力,買不到視力。

還有一個要警惕的:潦草的手寫註記,30B 和 122B 各自「自信地」編了一套內容,沒有一個版本說「看不清」。手寫字一律人工確認,這條沒得商量。

四、Offload 的下一步在硬體,我動不了

GLM 5.2 我做了兩輪完整的參數 sweep,結論是天花板就在 10 tok/s 附近,怎麼調都過不去。瓶頸不在 GPU,在 CPU 記憶體頻寬——每個 token 都要從 DRAM 把 expert 權重讀出來算。

有個違反直覺的數據:把 VRAM 塞到最滿(94.8GB)反而掉到 3 tok/s,比全放 CPU 還慢。跨裝置的傳輸和排程成本吃掉了一切。

所以 offload 要再往上,答案不在軟體參數,在硬體:更高的記憶體頻寬、更多通道、PCIe 這條搬運通道本身。這台是借來的機器,記憶體配置跟插槽我完全不能動,這條路只能到此為止。單卡 offload 的現實就是:軟體天花板很快就到,剩下的是硬體題。

五、vLLM 路線:投入超大,回報 3.2 tok/s

為了追 DeepSeek 原生 fp4 的品質,我在 WSL2 上搭了整套 vLLM 環境。Blackwell 工作站卡 + WSL2 + pip CUDA 這個組合,坑一路踩:pin memory 環境變數、nvcc 路徑、flashinfer 要手動升級才有 SM120 支援、CUDA symlink 重灌 venv 就消失要重修。

全部搞定之後,DeepSeek 原生 fp4 + CPU offload 實測:3.2 tok/s。

同一張卡、同一個模型,llama.cpp 跑 50 tok/s。慢 16 倍。

這裡先幫 vLLM 講句公道話:它是為多路批次吞吐設計的引擎,單人互動本來就不是它的主場,理論上大量背景 agent 並行時它的 offload 成本可以攤提回來(這條我沒測)。但問題是,單卡 96GB 想走「vLLM + 2-bit 全塞 VRAM」這條路,會發現它在生態上根本不存在:所有 2-bit 量化都是 GGUF 格式,vLLM 讀不了;vLLM 吃得下的量化格式全部超過 96GB。不是調校不出來,是沒有這條路。

小模型的時候 vLLM 一切美好,大模型 + 單卡 + offload 的組合,llama.cpp 反而是把事情做完的那個。

六、AI 頭頭是道,現實問題超多——但這次不是幻覺

整週我都在用 AI 幫忙分析「怎麼讓模型跑起來、怎麼調更快」。分析都頭頭是道:參數怎麼配、哪個量化能塞、MTP 怎麼開。然後實際一跑,問題一個接一個。

Day 1-2 我說過「網路上的調校教學七八成不準」。一週跑完,我要把這條升級:AI 的分析也一樣,而且這不是幻覺問題。

單卡 96GB Blackwell 跑 700B 級 MoE offload,這個場景太新了。這批模型本身就是這幾週的東西、推理引擎對新架構的支援剛落地、量化格式的生態每天在變,網路上的資訊又亂又新,一堆本身就是錯的。AI 再強,它的判斷品質上限就是可參考資料的品質——歷史資料不存在的場景,它只能推理,推理沒有實測校準,就是會錯。

這不是「AI 不可用」,是分工要對:AI 負責生成假設和自動化實驗(這週的 sweep 全是 Claude Code 跑的),「哪個假設是真的」只能靠機器實際跑一次。

雜語

時間真的不夠。原本清單上還有 Kimi K2.7(339GB,光下載就是一場戰役)跟 Minimax,都沒排上。中間因為一天下載超過 300G,直接被中華電信限流,只好放棄 XD。Tier 1 模型隨便一個就是上百 GB,家用網路本身就是地端實驗的隱形瓶頸。

但這一週的體驗真的很棒。很多地端部署的知識點,看文章看十遍,不如機器上跑一遍。

實踐出真知。

坦白說

這篇的數字要打幾個折扣。品質基準只有文字 5 題 + 視覺 5 題,鑑別度夠但樣本小,不能拿去宣稱誰「整體」比誰強。工程圖判讀是單一文件 46 個標註項,報告裡自己也寫明是指標性參考。「DeepSeek offload 比 GLM 快」的對比中,兩個模型參數量差 2.7 倍,不是嚴格對照組。vLLM 的批次並行優勢是它理論上的翻身仗,我沒測到,說不定那才是它的主場。

還有,這台機器的規格(512G RAM、雙 Xeon)不是一般人的桌機,這些結論適用於「單卡工作站」這個級距,不要直接外推到你的 4090。

關鍵洞察

  • 檔案大小超過 VRAM 不等於跑不動。 MoE offload 是真的可行,代價是速度。可以接受 10 tok/s 的批次場景(過夜任務、長文件處理),753B 模型單卡就能跑。
  • 優先找「能整包塞進 VRAM 的激進量化」,而不是塞不下的高精度量化。 DeepSeek Q8 對 IQ2 五題同分、速度 2.3 倍,是本週最划算的一條路。
  • VL 判讀先修流程,再考慮換大模型。 高倍局部截圖 + 明確提示對正確率的貢獻,大於 30B 換 122B。手寫字永遠人工複核。
  • 單卡地端的日常路線是 llama.cpp。 vLLM 留給多卡或多路批次場景,單卡 96GB 上它連可用的量化格式都沒有。
  • 超新場景不要外包判斷給 AI。 沒有歷史資料的領域,AI 的分析是假設清單,不是答案。讓它排實驗,讓機器投票。

大概是這樣子。機器要還了,下次再有硬體可以玩,應該就是補 Kimi 跟並行吞吐那兩個坑了~~~