執行 LLM 需要多少記憶體?

語言模型需要多少記憶體,取決於三個數字:它有多少參數、每個參數用幾個位元儲存,以及你給它多長的上下文。以下是計算方式,並針對常見的模型大小和每一款 Mac 算好,讓你能自己算出任何模型的答案。

更新於

重點整理

  • 權重:參數量 × 每個權重的位元數 ÷ 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(原始)162.0
8-bit8.5約 1.06
6-bit6.5約 0.81
4-bit4.5約 0.56
3-bit3.5約 0.44
2-bit2.5約 0.31
MLX 仿射量化,使用預設的 64 分組大小。同樣精度的 GGUF 檔案大小也差不多。

低於 4 位元時,品質下降得更快。一個好的預設做法是:選擇能裝得下且還有餘裕的最高精度。

2常見模型大小所需的記憶體

模型大小16-bit8-bit4-bit3-bit
1B2 GB1.1 GB0.6 GB0.4 GB
3B6 GB3.2 GB1.7 GB1.3 GB
8B16 GB8.5 GB4.5 GB3.5 GB
14B28 GB14.9 GB7.9 GB6.1 GB
32B64 GB34 GB18 GB14 GB
70B140 GB74.4 GB39.4 GB30.6 GB
120B240 GB127.5 GB67.5 GB52.5 GB
235B470 GB249.7 GB132.2 GB102.8 GB
405B810 GB430.3 GB227.8 GB177.2 GB
671B1,342 GB712.9 GB377.4 GB293.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
它的 4-bit 權重約 4.6 GB(82 億個參數),所以長上下文需要的記憶體可能比模型本身還多。

像這款採用分組查詢注意力(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 GB6 GB約 10B約 5B
16 GB12 GB約 21B約 11B
24 GB18 GB約 32B約 16B
32 GB24 GB約 42B約 22B
36 GB27 GB約 48B約 25B
48 GB36 GB約 64B約 33B
64 GB48 GB約 85B約 45B
96 GB72 GB約 128B約 67B
128 GB96 GB約 170B約 90B
256 GB192 GB約 341B約 180B
512 GB384 GB約 682B約 361B
僅計權重:請從中留幾 GB 給上下文。每個容量都連到在該容量下執行順暢的模型。

記憶體決定裝得下什麼;記憶體頻寬決定產生得多快。本機跑 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 叢集。

資料來源

  1. MLXml-explore.github.io
  2. OpenAIhuggingface.co
  3. confighuggingface.co
  4. mlx-lmgithub.com
  5. mlx-lmgithub.com
  6. NVIDIAnvidia.com
  7. OpenAIhuggingface.co

延伸閱讀