重點整理
- 權重:參數量 × 每個權重的位元數 ÷ 8。以 MLX 的 4-bit 格式計算,大約是每十億參數 0.56 GB;8-bit 約 1.06 GB,16-bit 為 2 GB。
- 所以在 4-bit 下,8B 模型約需 4.5 GB,32B 模型約 18 GB,70B 模型約 39 GB,這還不含上下文。
- 上下文(KV cache)另外計算,而且每多一個 token 就增加一些:以 Qwen3 8B 為例,32,000 個 token 的上下文約佔 4.8 GB,比它的 4-bit 權重還大。
- 在 Mac 上,GPU 預設約可使用 75% 的統一記憶體,所以 16 GB 的 Mac 大約有 12 GB 可給模型。在 PC 上,模型必須裝進顯示卡本身的 VRAM,才能全速執行。
1規則:參數量 × 位元數
模型的主體是它的權重:每個參數一個數字。以 16 位元儲存時,每個佔 2 個位元組,所以每十億參數需要 2 GB。量化是用更少的位元儲存每個權重,模型幾乎會按比例縮小;在 4 位元下,大多數模型仍接近原本的品質。
量化格式還會多存一點資料,用來還原權重。Apple 的 MLX 預設為每 64 個權重一組,各存一個縮放值和一個偏移值,使用模型本身的 16 位元型別(MLX),等於每個權重多出半個位元。因此大小如下:
| 精度 | 每個權重的位元數 | 每十億參數的 GB 數 |
|---|---|---|
| 16-bit(原始) | 16 | 2.0 |
| 8-bit | 8.5 | 約 1.06 |
| 6-bit | 6.5 | 約 0.81 |
| 4-bit | 4.5 | 約 0.56 |
| 3-bit | 3.5 | 約 0.44 |
| 2-bit | 2.5 | 約 0.31 |
低於 4 位元時,品質下降得更快。一個好的預設做法是:選擇能裝得下且還有餘裕的最高精度。
2常見模型大小所需的記憶體
| 模型大小 | 16-bit | 8-bit | 4-bit | 3-bit |
|---|---|---|---|---|
| 1B | 2 GB | 1.1 GB | 0.6 GB | 0.4 GB |
| 3B | 6 GB | 3.2 GB | 1.7 GB | 1.3 GB |
| 8B | 16 GB | 8.5 GB | 4.5 GB | 3.5 GB |
| 14B | 28 GB | 14.9 GB | 7.9 GB | 6.1 GB |
| 32B | 64 GB | 34 GB | 18 GB | 14 GB |
| 70B | 140 GB | 74.4 GB | 39.4 GB | 30.6 GB |
| 120B | 240 GB | 127.5 GB | 67.5 GB | 52.5 GB |
| 235B | 470 GB | 249.7 GB | 132.2 GB | 102.8 GB |
| 405B | 810 GB | 430.3 GB | 227.8 GB | 177.2 GB |
| 671B | 1,342 GB | 712.9 GB | 377.4 GB | 293.6 GB |
有些模型本身就以低精度發布。OpenAI 的 gpt-oss-120b 有 1,170 億個參數,混合專家權重以 4 位元格式 MXFP4 儲存,所以單張 80 GB GPU 就裝得下(OpenAI)。想查特定模型,請開啟它的頁面:每個開放模型與它需要的 Mac,例如 gpt-oss-120b 或 Llama 3.3 70B。
3上下文也佔記憶體
模型在讀寫時,會在每一層為對話中的每個 token 保留一個 key 和一個 value:這就是 KV cache。它的大小是 2 × 層數 × KV head 數 × head 大小 × 每個值的位元組數 × token 數。
以 Qwen3 8B 為例,它有 36 層、8 個 KV head,head 大小為 128,以 16 位元儲存(config)。也就是每個 token 147,456 個位元組:
| 上下文 | Qwen3 8B 的 KV cache(16-bit) |
|---|---|
| 8,192 個 token | 約 1.2 GB |
| 32,768 個 token | 約 4.8 GB |
| 40,960 個 token(完整上下文) | 約 6.0 GB |
像這款採用分組查詢注意力(grouped-query attention)的模型,KV head 比注意力 head 少(8 個對 32 個),快取已經縮小為四分之一。把快取量化還能省更多:mlx-lm 的伺服器支援 --kv-bits 4(mlx-lm)。一般聊天幾千個 token 的上下文就很夠用;如果是代理、長文件或程式碼,請預留好幾 GB。
4Mac 能裝下多大的模型
Mac 的記憶體由 CPU 和 GPU 共用,而 macOS 預設只讓 GPU 使用其中一部分。我們的比較頁面以約 75% 計算;mlx-lm 的 README 說明了如何在 macOS 15 或更新版本用 sudo sysctl iogpu.wired_limit_mb=N 提高上限(mlx-lm),但 macOS 和你的其他 App 仍需要空間。
| Mac 記憶體 | GPU 可用(約 75%) | 4-bit 最大模型 | 8-bit 最大模型 |
|---|---|---|---|
| 8 GB | 6 GB | 約 10B | 約 5B |
| 16 GB | 12 GB | 約 21B | 約 11B |
| 24 GB | 18 GB | 約 32B | 約 16B |
| 32 GB | 24 GB | 約 42B | 約 22B |
| 36 GB | 27 GB | 約 48B | 約 25B |
| 48 GB | 36 GB | 約 64B | 約 33B |
| 64 GB | 48 GB | 約 85B | 約 45B |
| 96 GB | 72 GB | 約 128B | 約 67B |
| 128 GB | 96 GB | 約 170B | 約 90B |
| 256 GB | 192 GB | 約 341B | 約 180B |
| 512 GB | 384 GB | 約 682B | 約 361B |
記憶體決定裝得下什麼;記憶體頻寬決定產生得多快。本機跑 LLM 的最佳 Mac 說明了後半部分,所有 Mac 排名則把兩者放在一起比較。
5RAM、VRAM 與統一記憶體
在裝有顯示卡的 PC 上,模型必須裝進顯示卡本身的記憶體,也就是 VRAM,才能全速執行:RTX 5090 有 32 GB(NVIDIA)。裝不下的層可以改由 PC 的系統 RAM 執行,但那些記憶體讀取慢得多,模型會大幅變慢。
Mac 沒有獨立的 VRAM:GPU 和 CPU 讀取同一塊統一記憶體,這就是為什麼 64 GB 或 128 GB 的 Mac 能放下任何單張消費級顯示卡都裝不下的模型。現在也有少數 PC 採用同樣的設計,例如 NVIDIA 的 DGX Spark,以及 CPU 與 GPU 共用 128 GB 的 AMD Ryzen AI Max 電腦:請見 M5 Max vs DGX Spark 和 M5 Max vs RTX 5090。
6混合專家(MoE)模型
混合專家模型會把所有參數都放在記憶體裡,但每個 token 只用到其中一小部分。記憶體看總參數量;速度看作用中的部分。gpt-oss-20b 有 210 億個參數,其中 36 億個作用中(OpenAI):它需要的記憶體和 21B 模型一樣,產生速度卻和 4B 模型差不多。
因此混合專家模型很適合 Mac,因為和顯示卡相比,Mac 的記憶體比頻寬更充裕。比較頁面列出了每個熱門模型的這兩個數字。
7常見問題
- 執行 70B 模型需要多少記憶體?
- 4-bit 下權重約 39 GB,再加上上下文:實際上需要 64 GB 或以上的 Mac,或多張顯示卡。8-bit 下約需 74 GB,也就是要 128 GB。
- 16 GB 記憶體夠跑 LLM 嗎?
- 夠,適合約 14B 參數以內的 4-bit 模型:16 GB 的 Mac 預設給 GPU 約 12 GB。8B 模型能順暢執行,還有空間留給上下文。請見16 GB Mac 最適合的 LLM。
- 8B 模型需要多少 VRAM?
- 4-bit 約 4.5 GB,8-bit 約 8.5 GB,16-bit 為 16 GB;以 Qwen3 8B 為例,8,000 個 token 的上下文另需約 1.2 GB。
- 上下文長度會佔用記憶體嗎?
- 會。KV cache 會隨對話中的每個 token 增加。以 Qwen3 8B 為例,16-bit 下每個 token 約 147 KB:32,000 個 token 約 4.8 GB。
- 可以執行比記憶體還大的模型嗎?
- 實際上不行。權重裝不下時,系統會使用置換空間或從較慢的記憶體讀取,產生速度會慢到幾乎停擺。請改用較低精度、較小的模型或混合專家模型,或分散到多台電腦上:請見 Mac AI 叢集。