你的電腦能跑多大的模型
前面講的都是概念,這一節動手。選一下你的顯示卡或者 Mac 型號,直接看結論。看完你會發現,本地跑模型的門檻比大多數人想的低。
最後一行的 Qwen3.8-Max 無論你怎麼選都是紅的,這不是列表出錯。它就是本章第三節提到的那個宣佈要開權重、但還沒放出來的模型,2.4 兆參數按上面的公式算下來要 1560 GB,把裝置換成列表裡最貴的那臺也不夠。把它留在列表裡,是因為「權重開放」和「你跑得動」是兩件事,看到這個數字比讀一句「模型很大」有用。
上面的結論不是查表查出來的,就一個乘法:
舉例:8B 模型跑 INT4,8 × 0.65 ≈ 5.2 GB
需要解釋的是這個係數。單純裝載權重的話,INT4 每個參數佔 0.5 位元組,8B 模型只要 4 GB。但模型跑起來還要額外一塊地方,用來存放對話過程中積累的中間狀態,也就是Harness 核心篇講過的 KV Cache。係數裡已經含了這部分開銷,所以不要在外面再乘一次餘量,否則會算出沒有機器跑得動的結論。
量化就是用更少的位數去存每個參數。位數越少體積越小,代價是精度損失。
你可以在上面的計算器裡把精度從 FP16 切到 INT4,看能跑的型號變化。量化是把本地部署門檻拉低最有效的一招,一張 8 GB 的顯示卡跑不動 FP16 的 8B 模型,換成 INT4 就輕鬆了。
「位數少了會有損失」這句話誰都會說,但損失究竟發生在哪一步?量化做的事情其實只有一件:把原本連續的權重,四捨五入到有限個檔位上。位數決定了有多少個檔位可用——4 位就是 16 檔,8 位是 256 檔。檔位越少,每個權重被挪動的距離越遠。
INT4 那一檔有兩處值得停一下。一是絕對值最小的幾個權重被四捨五入之後正好落在 0 上,這些參數在量化後的檔案裡不再起任何作用;模型裡這樣的小權重數量龐大,單個都不重要,合起來卻承擔著不少細節。二是刻度尺上的點變少了——那不是點丟了,是幾個原本不同的權重被擠到了同一個檔位上。16 個檔位裝不下那麼多種取值,只能讓它們共用一個數,原來的區別就沒有了。
權重挪一點點,為什麼會影響回答品質?因為模型每寫一個詞,都是在一堆候選裡挑分數最高的那個。大多數時候第一名遙遙領先,挪一點無所謂;但總有些時候前兩名咬得很緊,這時一點點擾動就足以讓它們換位。
NVIDIA 顯示卡
- 顯存獨佔,標稱多少基本就能用多少
- 頻寬高,生成速度快,同尺寸模型體感明顯更流暢
- 容量是硬上限,消費級卡目前頂到 32 GB 左右
- 軟體生態最成熟,遇到問題基本都能搜到解法
Apple Silicon
- CPU 與 GPU 共享統一記憶體,系統不允許全部劃給 GPU
- 計算器裡按可分配的約 75% 折算,這是保守估計
- 容量優勢大,高配機型能裝下消費級顯示卡碰不到的尺寸
- 頻寬通常不及同價位獨顯,大模型上生成速度會慢一些
簡單說:NVIDIA 拼速度,Apple 拼容量。如果你想跑 30B 以上的模型,一臺大記憶體的 Mac 往往比消費級顯示卡更現實;如果追求響應速度,獨顯更合適。
iogpu.wired_limit_max 調整,75% 是預設情況下的保守估計,不是硬上限。
結果列表裡帶 A 字樣的是 MoE 模型,比如 Qwen3-30B-A3B,意思是總參數 30B、每次實際啟用 3B。這類模型有個容易踩的坑:
這意味著 MoE 特別適合顯存充裕但希望響應快的場景,比如大記憶體的 Mac。反過來,如果顯存緊張,同樣佔用下選一個稠密的小模型更划算。
上面所有數字都是估算,實際佔用還會受這幾個因素影響:
- 上下文長度。這是最大的變數。你把上下文從 4K 開到 128K,KV Cache 的佔用會漲好幾倍,原本跑得動的模型可能就崩了。
- 併發數量。同時處理多個請求,每個都要自己的一份中間狀態。個人用一般不涉及,做服務就要重新算。
- 量化的具體實現。同樣叫 INT4,不同工具的實現細節不同,體積會有出入。
- 系統佔用。顯示卡還要給桌面和其他程式留一點,別按滿打滿算規劃。
所以計算器給的是可行性判斷,不是精確預算。結論是「勉強」的時候,就當作跑不動來準備。
知道能跑什麼之後,下一節把它真正裝起來。兩個工具,命令列的 Ollama 和圖形介面的 LM Studio,十分鐘能跑通。