開源專題 · 在自己的機器上跑起來

你的電腦能跑多大的模型

前面講的都是概念,這一節動手。選一下你的顯示卡或者 Mac 型號,直接看結論。看完你會發現,本地跑模型的門檻比大多數人想的低。

先算一次
平臺
型號
精度
候選模型均為實際可下載的 Apache 2.0 權重。換算為估算值,用途是幫你判斷可行性,不能替代實測。

最後一行的 Qwen3.8-Max 無論你怎麼選都是紅的,這不是列表出錯。它就是本章第三節提到的那個宣佈要開權重、但還沒放出來的模型,2.4 兆參數按上面的公式算下來要 1560 GB,把裝置換成列表裡最貴的那臺也不夠。把它留在列表裡,是因為「權重開放」和「你跑得動」是兩件事,看到這個數字比讀一句「模型很大」有用。

公式是怎麼來的

上面的結論不是查表查出來的,就一個乘法:

需要的顯存(GB)≈ 參數量(B)× 精度係數
舉例:8B 模型跑 INT4,8 × 0.65 ≈ 5.2 GB

需要解釋的是這個係數。單純裝載權重的話,INT4 每個參數佔 0.5 位元組,8B 模型只要 4 GB。但模型跑起來還要額外一塊地方,用來存放對話過程中積累的中間狀態,也就是Harness 核心篇講過的 KV Cache。係數裡已經含了這部分開銷,所以不要在外面再乘一次餘量,否則會算出沒有機器跑得動的結論。

四個精度檔位

量化就是用更少的位數去存每個參數。位數越少體積越小,代價是精度損失。

FP32
× 4.0
全精度。基本只在訓練時用,本地推理沒人這麼跑。
FP16
× 2.6
半精度。模型發布時的原始格式,品質的基準線。
INT8
× 1.3
體積減半,品質損失通常察覺不到。顯存夠的話是個穩妥選擇。
INT4
× 0.65
體積只有原來的四分之一。多數日常任務上感受得到但可接受。
本地跑最常用

你可以在上面的計算器裡把精度從 FP16 切到 INT4,看能跑的型號變化。量化是把本地部署門檻拉低最有效的一招,一張 8 GB 的顯示卡跑不動 FP16 的 8B 模型,換成 INT4 就輕鬆了。

精度掉了,到底掉在哪

「位數少了會有損失」這句話誰都會說,但損失究竟發生在哪一步?量化做的事情其實只有一件:把原本連續的權重,四捨五入到有限個檔位上。位數決定了有多少個檔位可用——4 位就是 16 檔,8 位是 256 檔。檔位越少,每個權重被挪動的距離越遠。

換一檔精度,看同一批權重被挪到什麼地方。
精度

INT4 那一檔有兩處值得停一下。一是絕對值最小的幾個權重被四捨五入之後正好落在 0 上,這些參數在量化後的檔案裡不再起任何作用;模型裡這樣的小權重數量龐大,單個都不重要,合起來卻承擔著不少細節。二是刻度尺上的點變少了——那不是點丟了,是幾個原本不同的權重被擠到了同一個檔位上。16 個檔位裝不下那麼多種取值,只能讓它們共用一個數,原來的區別就沒有了。

一個 6.7% 的誤差,怎麼變成看得見的掉分

權重挪一點點,為什麼會影響回答品質?因為模型每寫一個詞,都是在一堆候選裡挑分數最高的那個。大多數時候第一名遙遙領先,挪一點無所謂;但總有些時候前兩名咬得很緊,這時一點點擾動就足以讓它們換位。

精度
推理步數
上面兩個實驗,一半是精確計算,一半是示意,這裡說清楚哪是哪。檔位數、步長、舍入誤差、以及每個權重被挪到哪個值,都是由量化的定義直接算出來的,你可以自己驗算。而候選機率、擾動幅度、以及最後那條推理鏈,是為了說明機制而構造的示意,不是任何模型的實測掉分。真實的誤差如何從權重傳到輸出,取決於模型結構和具體的量化實現(分組大小、是否保留敏感層的高精度等),沒有一個通用公式。鏈條機率還假設了各步獨立,而真實推理前後相關,所以這個數只能用來理解「為什麼步數越多越危險」,不能拿去當預期準確率。
這就是為什麼量化的損失不是均勻分佈的。日常問答、總結、改寫這類任務上 INT4 基本夠用——它們大多一兩步就出結果,就算某個詞換了個近義詞也不影響你讀懂。但需要長鏈條推理、精確計算的任務不一樣,前面錯一步,後面全跟著錯。要求高的場景,寧可選小一號的模型跑 INT8,也別選大一號的跑 INT4。
兩種硬體,兩套邏輯

NVIDIA 顯示卡

  • 顯存獨佔,標稱多少基本就能用多少
  • 頻寬高,生成速度快,同尺寸模型體感明顯更流暢
  • 容量是硬上限,消費級卡目前頂到 32 GB 左右
  • 軟體生態最成熟,遇到問題基本都能搜到解法

Apple Silicon

  • CPU 與 GPU 共享統一記憶體,系統不允許全部劃給 GPU
  • 計算器裡按可分配的約 75% 折算,這是保守估計
  • 容量優勢大,高配機型能裝下消費級顯示卡碰不到的尺寸
  • 頻寬通常不及同價位獨顯,大模型上生成速度會慢一些

簡單說:NVIDIA 拼速度,Apple 拼容量。如果你想跑 30B 以上的模型,一臺大記憶體的 Mac 往往比消費級顯示卡更現實;如果追求響應速度,獨顯更合適。

統一記憶體的 GPU 可用比例在 macOS 上可透過 iogpu.wired_limit_max 調整,75% 是預設情況下的保守估計,不是硬上限。
MoE 模型的特殊之處

結果列表裡帶 A 字樣的是 MoE 模型,比如 Qwen3-30B-A3B,意思是總參數 30B、每次實際啟用 3B。這類模型有個容易踩的坑:

顯存按總參數算,速度按啟用參數算。30B 的 MoE 模型你得準備裝下 30B 的顯存,但它跑起來的速度接近 3B。佔地方大,跑得快。

這意味著 MoE 特別適合顯存充裕但希望響應快的場景,比如大記憶體的 Mac。反過來,如果顯存緊張,同樣佔用下選一個稠密的小模型更划算。

幾條免責說明

上面所有數字都是估算,實際佔用還會受這幾個因素影響:

所以計算器給的是可行性判斷,不是精確預算。結論是「勉強」的時候,就當作跑不動來準備。

下一步

知道能跑什麼之後,下一節把它真正裝起來。兩個工具,命令列的 Ollama 和圖形介面的 LM Studio,十分鐘能跑通。