用 Mac 跑本地 LLM:統一記憶體怎麼算、要買多少 RAM、MLX 還是 llama.cpp
更新日期: · Markdown
只要是 Apple Silicon 的 Mac 都能跑本地 LLM,而你買多大的記憶體,就決定能放多大的模型。 Mac 沒有獨立的顯示記憶體,CPU 和 GPU 共用同一塊「統一記憶體」,所以一台 64 GB 的 Mac,能給 GPU 的記憶體比任何一張消費級顯示卡都多。不過有兩個限制:第一,macOS 預設只讓 GPU 使用其中一部分;第二,生成速度跟著晶片的記憶體頻寬走,從基本款 M5 的 153 GB/s 到 M5 Ultra 的 1,200 GB/s,差距很大。簡單記法:16 GB 跑 7B 到 12B,32 GB 能用 4 位元量化跑現在熱門的 27B 到 35B,64 GB 摸得到 70B,128 GB 以上則是大型 MoE 模型的領域。軟體方面,最容易上手的是 Ollama 或 LM Studio,兩者底層都能使用 Apple 的 MLX 框架或 llama.cpp。下面的數字都來自本站硬體資料與模型資料,任何配置都可以到「跑得動嗎?」試算查。
統一記憶體怎麼運作,GPU 又能用多少
在 PC 上,模型必須放進顯示卡的 VRAM,通常是 8 到 32 GB。Apple Silicon 的 Mac 則是 CPU 和 GPU 讀同一塊記憶體。Apple 的 MLX 官方文件是這樣說明的:兩種處理器都能直接存取同一個記憶體池,資料不需要在兩者之間來回複製。換成本地 AI 的語言就是:你買 Mac 時選的記憶體容量,大部分都能拿來放模型。
說「大部分」,是因為 macOS 會限制 GPU 能鎖定的記憶體上限。Metal 用 recommendedMaxWorkingSetSize 回報這個上限,但 Apple 的文件只說它是「GPU 在不影響效能下可配置記憶體」的近似值,沒有公布比例。llama.cpp 維護者公開的實測可以當參考:
- 32 GB 的 M1 Pro 回報的上限是 21,845 MB,約為記憶體的三分之二(PR #1826)。
- 他寫的 gpt-oss 執行指南中,192 GB 的 Mac 預設上限是 154 GB,約 80%(討論 #15396)。
本站估算假設 GPU 能使用 Mac 記憶體的 75%,大約落在這個範圍的中間;記憶體較小的 Mac 實際可能略少一些。
調高上限
如果模型放得進 Mac 的總記憶體、卻超過預設上限,可以在「終端機」調高。數值單位是 MB,下面的例子是在 64 GB 的 Mac 上允許 GPU 使用 56 GB(56 × 1024 = 57344):
sudo sysctl iogpu.wired_limit_mb=57344
這個設定重開機就會失效。mlx-lm 文件建議數值要大於模型、但小於整台機器的記憶體;實務上請替 macOS 和其他 App 留幾 GB,不然系統會開始大量使用置換空間(swap)。模型執行時可以打開「活動監視器」的「記憶體」分頁看「記憶體壓力」圖表:它綜合了可用記憶體、置換速率、鎖定記憶體與檔案快取,圖表一路往上升,就代表你調得太過頭了。
記憶體該買多大
以下表格列出各種配置在 8K 上下文下放得下的最高品質量化(上限 Q8_0),以及估算的生成速度。這些是估算值、不是實測,並以上面說的預設 GPU 記憶體上限計算。
16 GB:M5
| 模型 | 參數量 | 放得下的最佳量化 | 所需記憶體 | tok/s(估) |
|---|---|---|---|---|
| Llama 3.2 3B Instruct | 3.21B | Q8_0 | 4.7 GiB | 29 |
| Gemma 4 E4B IT | 8B | Q8_0 | 9.1 GiB | 12 |
| Qwen3-8B | 8.2B | Q8_0 | 10.1 GiB | 11 |
| Llama 3.1 8B Instruct | 8B | Q8_0 | 9.8 GiB | 12 |
| Gemma 3 12B IT | 12B | Q6_K | 11.0 GiB | 10 |
| Phi-4 (14B) | 14B | Q5_K_M | 11.8 GiB | 10.0 |
| gpt-oss-20b | 21B (3.6B 啟用) | 放不下 | 13.1 GiB | – |
| Mistral Small 3.2 24B Instruct (2506) | 24B | 放不下 | 16.0 GiB | – |
以上為依本站估算方法算出的估計值,資料日期 2026-10-14。實際速度會因執行環境、驅動程式與提示詞長度而不同。
16 GB 的 Mac 跑 7B 到 12B 的模型綽綽有餘,但到了 20B 這一級就不夠了:即使是很省資源的 MoE 模型 gpt-oss-20b,依估算也要約 13.1 GiB,超過 16 GB 機器預設能給 GPU 的份量。
32 GB:M5
| 模型 | 參數量 | 放得下的最佳量化 | 所需記憶體 | tok/s(估) |
|---|---|---|---|---|
| Qwen3-8B | 8.2B | Q8_0 | 10.1 GiB | 11 |
| Gemma 3 12B IT | 12B | Q8_0 | 13.8 GiB | 7.8 |
| gpt-oss-20b | 21B (3.6B 啟用) | Q8_0 | 22.5 GiB | 26 |
| Mistral Small 3.2 24B Instruct (2506) | 24B | Q6_K | 21.1 GiB | 5.0 |
| Qwen3.6-27B | 27B | Q6_K | 22.7 GiB | 4.5 |
| Qwen3-32B | 32.8B | Q4_K_M | 21.9 GiB | 5.0 |
| Qwen3.6-35B-A3B | 35B (3B 啟用) | Q4_K_M | 21.4 GiB | 55 |
| Gemma 4 31B IT | 30.7B | Q5_K_M | 22.9 GiB | 4.6 |
以上為依本站估算方法算出的估計值,資料日期 2026-10-14。實際速度會因執行環境、驅動程式與提示詞長度而不同。
32 GB 是最值得加購的一級。它打開了 24B 到 35B 的模型,這也是本地模型在寫作和寫程式上開始接近雲端助理的等級。請注意速度欄:在基本款 M5 上,32B 的密集模型很慢,MoE 模型則快上好幾倍。
64 GB:M5 Pro
| 模型 | 參數量 | 放得下的最佳量化 | 所需記憶體 | tok/s(估) |
|---|---|---|---|---|
| Qwen3.6-27B | 27B | Q8_0 | 29.1 GiB | 7.0 |
| Qwen3-32B | 32.8B | Q8_0 | 36.6 GiB | 5.7 |
| Qwen3.6-35B-A3B | 35B (3B 啟用) | Q8_0 | 37.0 GiB | 63 |
| Gemma 4 31B IT | 30.7B | Q8_0 | 33.5 GiB | 6.1 |
| Llama 3.3 70B Instruct | 70B | Q4_K_M | 44.5 GiB | 4.7 |
| Qwen3-Coder-Next (80B-A3B) | 80B (3B 啟用) | 放不下 | 48.1 GiB | – |
| gpt-oss-120b | 117B (5.1B 啟用) | 放不下 | 70.1 GiB | – |
| GLM-4.5-Air | 106B (12B 啟用) | 放不下 | 64.8 GiB | – |
以上為依本站估算方法算出的估計值,資料日期 2026-10-14。實際速度會因執行環境、驅動程式與提示詞長度而不同。
64 GB 讓 70B 密集模型能以 4 位元量化放進來(在 Pro 晶片上跑得不快),27B 到 35B 的模型則可以用接近原始品質的 Q8_0。gpt-oss-120b 這類大型 MoE 模型還是放不下。
128 GB:M5 Max (18-core CPU / 40-core GPU)
| 模型 | 參數量 | 放得下的最佳量化 | 所需記憶體 | tok/s(估) |
|---|---|---|---|---|
| Llama 3.3 70B Instruct | 70B | Q8_0 | 75.7 GiB | 5.4 |
| Llama 4 Scout 17B-16E Instruct | 109B (17B 啟用) | Q6_K | 89.8 GiB | 28 |
| gpt-oss-120b | 117B (5.1B 啟用) | Q6_K | 95.0 GiB | 95 |
| GLM-4.5-Air | 106B (12B 啟用) | Q6_K | 87.3 GiB | 40 |
| Mistral Small 4 119B (2603) | 119B (6.5B 啟用) | Q5_K_M | 83.4 GiB | 86 |
| Qwen3.5-122B-A10B | 122B (10B 啟用) | Q5_K_M | 85.5 GiB | 56 |
| Qwen3-Coder-Next (80B-A3B) | 80B (3B 啟用) | Q8_0 | 83.8 GiB | 125 |
| Qwen3.8-Flash-Next | 180B (6B 啟用) | 放不下 | 107.4 GiB | – |
以上為依本站估算方法算出的估計值,資料日期 2026-10-14。實際速度會因執行環境、驅動程式與提示詞長度而不同。
到了 128 GB,Mac 能做到單張消費級顯示卡做不到的事:用堪用的速度跑 gpt-oss-120b、GLM-4.5-Air、Qwen3.5-122B-A10B 這些 100B 到 120B 的 MoE 模型,因為每個 token 只會動用其中幾十億個參數。
256 GB 與 512 GB:M5 Ultra
Ultra 晶片能更進一步:M3 Ultra 和 M5 Ultra 最高都有 512 GB。即便如此,最大的開源模型還是很吃緊。依本站估算,DeepSeek-R1-0528 (671B) 用 Q4_K_M 約需 398.8 GiB,超過 512 GB 機器預設給 GPU 的份量;必須調高上限、只留很少記憶體給 macOS 才放得進去。
為什麼頻寬決定速度
模型生成文字時,每產生一個 token 都要把所有啟用中的權重從記憶體讀一次,所以生成速度的上限取決於記憶體頻寬。各款 Apple Silicon 的頻寬差異很大:
| 硬體 | 記憶體 | 頻寬 | 首發建議售價 | 每 GB 美元 |
|---|---|---|---|---|
| M5 | 16–32 GB | 153 GB/s | US$1,599 | – |
| M6 (16GB configuration, 153 GB/s) | 16 GB | 153 GB/s | US$899 | US$56 |
| M6 (24GB/32GB configurations, 170 GB/s) | 24–32 GB | 170 GB/s | – | – |
| M5 Pro | 24–64 GB | 307 GB/s | US$2,199 | – |
| M5 Max (18-core CPU / 32-core GPU) | 36 GB | 460 GB/s | US$3,599 | US$100 |
| M5 Max (18-core CPU / 40-core GPU) | 48–128 GB | 614 GB/s | US$4,099 | – |
| M5 Ultra | 96–512 GB | 1,200 GB/s | US$5,499 | – |
| M4 Pro | 24–64 GB | 273 GB/s | US$1,399 | – |
| M4 Max (16-core CPU / 40-core GPU) | 48–128 GB | 546 GB/s | US$3,699 | – |
| M3 Ultra | 96–512 GB | 819 GB/s | US$3,999 | – |
下表是同一個密集模型 Qwen3-32B(Q4_K_M)在各款放得下它的 Mac 上的表現,並附上兩張 PC 顯示卡作為對照:
| 硬體 | 頻寬 | 放得下? (21.9 GiB) | tok/s(估) |
|---|---|---|---|
| M5 (32 GB) | 153 GB/s | 可以 | 5.0 |
| M6 (24GB/32GB configurations, 170 GB/s) (32 GB) | 170 GB/s | 可以 | 5.6 |
| M4 Pro (48 GB) | 273 GB/s | 可以 | 8.9 |
| M5 Pro (48 GB) | 307 GB/s | 可以 | 10 |
| M5 Max (18-core CPU / 32-core GPU) (36 GB) | 460 GB/s | 可以 | 15 |
| M5 Max (18-core CPU / 40-core GPU) (64 GB) | 614 GB/s | 可以 | 20 |
| M3 Ultra (96 GB) | 819 GB/s | 可以 | 27 |
| M5 Ultra (96 GB) | 1,200 GB/s | 可以 | 39 |
| GeForce RTX 4090 | 1,008 GB/s | 可以 | 35 |
| GeForce RTX 5090 | 1,792 GB/s | 可以 | 63 |
以上為依本站估算方法算出的估計值,資料日期 2026-10-14。實際速度會因執行環境、驅動程式與提示詞長度而不同。
晶片等級比世代更重要:M5 Max 的頻寬大約是基本款 M5 的四倍,M5 Ultra 又大約是 M5 Max 的兩倍。跑密集模型時,Max 或 Ultra 晶片就是「好用的助理」和「慢吞吞的助理」之間的差別。
MoE 模型則不一樣,因為每個 token 只需要讀取啟用中的參數。下表是 gpt-oss-120b(117B (5.1B 啟用))在幾台大記憶體機器上的估算,包含兩款統一記憶體電腦和一張工作站顯示卡:
| 硬體 | 頻寬 | 放得下? (70.1 GiB) | tok/s(估) |
|---|---|---|---|
| M4 Max (16-core CPU / 40-core GPU) (128 GB) | 546 GB/s | 可以 | 115 |
| M5 Max (18-core CPU / 40-core GPU) (128 GB) | 614 GB/s | 可以 | 129 |
| M3 Ultra (256 GB) | 819 GB/s | 可以 | 172 |
| M5 Ultra (256 GB) | 1,200 GB/s | 可以 | 252 |
| DGX Spark (128 GB) | 273 GB/s | 可以 | 53 |
| Ryzen AI Max+ 395 (Strix Halo) systems (128 GB) | 256 GB/s | 可以 | 50 |
| RTX PRO 6000 Blackwell Workstation Edition | 1,792 GB/s | 可以 | 406 |
以上為依本站估算方法算出的估計值,資料日期 2026-10-14。實際速度會因執行環境、驅動程式與提示詞長度而不同。
MoE 的估算請當成上限看:專家之間的路由會增加額外工作,頻寬公式並沒有算進去。
提示詞處理與 M5 的神經加速器
生成只是一半。在回答的第一個字出現之前,模型要先處理你的整段提示詞,這一步吃的是算力而不是頻寬。當你貼上長文件,或使用會送出大量上下文的程式開發工具時,這一步就很關鍵。Apple 從 M5 世代開始在每個 GPU 核心加入神經加速器。Apple 自己在 M5 MacBook Pro 上用 MLX 測試,產生第一個 token 的時間最多比 M4 快約 4 倍,生成速度則快 19% 到 27%,與 M5 較高的記憶體頻寬相符。MLX 要在 macOS 26.2 以後才會使用這些加速器。本站的估算只涵蓋生成速度。
MLX 還是 llama.cpp?
兩者都在 Mac 的 GPU 上執行模型,差別在於模型格式、量化選項,以及哪些 App 採用它們。
| MLX(mlx-lm) | llama.cpp | |
|---|---|---|
| 開發者 | Apple 機器學習研究團隊 | 開源的 ggml 專案 |
| 模型格式 | MLX 權重,Hugging Face 上的 mlx-community 組織已發布數千個 | GGUF,本地模型最普及的格式 |
| 量化 | 預設 4 位元、群組大小 64;也支援其他位元數與 mxfp4、nvfp4、mxfp8 格式 | Q4_K_M 等 K-quant、使用重要性矩陣的 IQ 量化、Q8_0 等 |
| 執行平台 | Apple Silicon(也有其他平台的版本) | macOS、Windows、Linux,支援多種 GPU 後端;macOS 版預設啟用 Metal |
| 安裝 | pip install mlx-lm | brew install llama.cpp |
| 內建於 | Ollama(0.40.0 起,Apple Silicon 上支援的模型架構預設使用)、LM Studio(0.3.4 起內建 MLX 引擎) | Ollama(其餘模型)、LM Studio 及許多 App |
| 授權 | MIT | MIT |
實際使用上:
- 用你順手的 App,讓它自己決定。 從 Ollama 0.40.0(2026 年 9 月)開始,Apple Silicon 上凡是 MLX 支援的模型架構都預設用 MLX 執行,其他則用 llama.cpp。LM Studio 兩種引擎都有,下載時可以選 MLX 或 GGUF 版本。
- MLX 的強項在提示詞處理,在 M5 世代晶片上尤其明顯。Ollama 發表 MLX 引擎時,公布了在 Qwen3.5-35B-A3B 上預填與生成速度都大幅提升的數據,但那次測試比較的是不同的量化格式(MLX 用 NVFP4、先前版本用 Q4_K_M),也沒有寫明晶片型號,請當成參考而不是嚴謹的評測。
- 要選擇多就用 llama.cpp。 新模型通常最先以 GGUF 格式出現,而且 GGUF 的量化等級選擇最多,想把模型硬塞進有限記憶體時特別有用。
開始動手
最簡單:Ollama 或 LM Studio
安裝 Ollama,然後執行一個記憶體放得下的模型,例如:
ollama run qwen3.6:35b
Ollama 需要 macOS 14 Sonoma 以上,而且只有 Apple Silicon 才會用到 GPU。LM Studio 同樣需要 macOS 14 以上與 Apple Silicon,並建議 16 GB 以上記憶體;它和其他工具的比較,請看我們的執行環境比較。
直接用 MLX:mlx-lm
MLX 需要 Apple Silicon、macOS 14 以上,以及原生 arm64 的 Python(MLX 需 3.10 以上;目前的 mlx-lm 版本需要 3.11 以上)。先確認你的 Python 是原生版本,下面這行應該要印出 arm:
python -c "import platform; print(platform.processor())"
接著安裝並執行。不指定 --model 時,mlx-lm 會使用預設模型 mlx-community/Llama-3.2-3B-Instruct-4bit:
pip install mlx-lm
mlx_lm.generate --prompt "How tall is Mt Everest?"
mlx_lm.chat
想用 OpenAI 風格的 API 讓其他 App 連線(localhost:8080):
mlx_lm.server --model mlx-community/Mistral-7B-Instruct-v0.3-4bit
專案文件自己也提醒,這個伺服器只做了基本的安全檢查,不建議用在正式環境;要給多人共用,請改用 Ollama 或 LM Studio 這類完整的伺服器。
直接用 llama.cpp
brew install llama.cpp
llama cli -hf ggml-org/Qwen3.5-0.8B-GGUF
-hf 會從 Hugging Face 下載 GGUF 模型,把儲存庫名稱換成你想用的模型即可。llama serve -hf ggml-org/Qwen3.5-0.8B-GGUF 則會啟動相容 OpenAI 的伺服器,並附有網頁聊天介面。請看啟動時印出的連接埠:v0.6.0 版(目前 Homebrew 安裝的版本)用 8080,2026 年 10 月 9 日之後的版本預設改成 9931;也可以用 --port 自己指定。
讓 Mac 跑得更順的幾個技巧
- 載入大模型前,先關掉吃記憶體的 App。 開了一堆分頁的瀏覽器,可能就佔掉好幾 GB。
- 注意上下文長度。 KV 快取會隨上下文的每個 token 增加。以 Qwen3-32B 為例,本站估算從 8K 的 21.9 GiB 增加到 32K 的 27.9 GiB。Qwen3.6-27B 這類混合注意力模型增加得慢很多。
- 需要長上下文時,把 KV 快取量化。 Ollama 可以設定
OLLAMA_KV_CACHE_TYPE=q8_0,記憶體用量約為預設 f16 的一半;mlx-lm 的伺服器則有--kv-bits選項。 - 頻寬較低的晶片優先選 MoE 模型。 在基本款或 Pro 晶片上,30B 到 35B 的 MoE 模型用起來比 32B 密集模型順暢得多。
買 Mac 還是組 PC?
Mac 每塊錢、每瓦電能換到的模型記憶體比較多;PC 顯示卡則是每 GB 的頻寬比較高。如果你想跑的模型放得進 24 到 32 GB,顯示卡通常回答得比較快。如果你想在一台安靜的機器上跑 70B 密集模型或 100B 以上的 MoE 模型,64 到 128 GB 甚至更大的 Mac 是比較單純的選擇。PC 這一邊的考量,請看本地跑 LLM 要買什麼顯示卡。
常見問題
用 Mac 跑本地 LLM,記憶體要買多大?
16 GB 跑 7B 到 12B 的模型沒問題。想跑熱門的 27B 到 35B 模型(4 位元量化),32 GB 是實際的起點:依本站估算,Qwen3-32B 用 Q4_K_M、8K 上下文約需 21.9 GiB。64 GB 能用 4 位元跑 70B 模型;128 GB 以上則是給 gpt-oss-120b 這類 100B 以上的 MoE 模型。
Mac 的記憶體可以全部拿來放模型嗎?
預設不行。macOS 會限制 GPU 能鎖定(wire)的統一記憶體上限,Apple 沒有公布比例;llama.cpp 維護者公開的實測,從 32 GB 機器約三分之二,到 192 GB 機器約 80% 都有。可以用 sudo sysctl iogpu.wired_limit_mb 調高,但重開機就會恢復,而且 macOS 本身也需要記憶體。
在 Mac 上,MLX 比 llama.cpp 快嗎?
常常是,尤其是在 M5 世代晶片上處理長提示詞時,因為 MLX 在 macOS 26.2 以後能使用 GPU 的神經加速器。至於生成速度,兩者主要都受記憶體頻寬限制。實際表現依模型和量化方式而異,最實在的做法是兩種都試:LM Studio 和 Ollama 都能切換這兩種引擎。
跑本地 AI,Mac Studio 和裝 RTX 5090 的電腦哪個好?
看模型大小。RTX 5090 頻寬較高(1,792 GB/s),但記憶體只有 32 GB,放得下的模型在它上面跑得比較快。搭載 M5 Ultra 的 Mac Studio 頻寬 1,200 GB/s、記憶體最高 512 GB,能載入任何單張消費級顯示卡都放不下的模型,只是跑密集模型會比較慢。
Intel 晶片的 Mac 能跑本地 LLM 嗎?
只能慢慢跑。Ollama 可以裝在 Intel Mac 上,但只用 CPU 執行;MLX 和 LM Studio 則需要 Apple Silicon。想玩本地 AI,Apple Silicon 的 Mac 才是實際的起點。
M5 的神經加速器能讓回答生成得更快嗎?
主要是加快讀取提示詞的速度。Apple 在 M5 MacBook Pro 上用 MLX 測試,產生第一個 token 的時間最多比 M4 快約 4 倍,而生成速度則快 19% 到 27%,和 M5 較高的記憶體頻寬相符。
資料來源
- https://github.com/ml-explore/mlx
- https://ml-explore.github.io/mlx/build/html/install.html
- https://ml-explore.github.io/mlx/build/html/usage/unified_memory.html
- https://github.com/ml-explore/mlx-lm
- https://github.com/ml-explore/mlx-lm/blob/main/mlx_lm/SERVER.md
- https://huggingface.co/mlx-community
- https://developer.apple.com/documentation/metal/mtldevice/recommendedmaxworkingsetsize
- https://github.com/ggml-org/llama.cpp/pull/1826#issuecomment-1595028325
- https://github.com/ggml-org/llama.cpp/discussions/15396
- https://github.com/ggml-org/llama.cpp/discussions/2182
- https://github.com/ggml-org/llama.cpp/blob/master/docs/build.md
- https://github.com/ggml-org/llama.cpp/blob/master/docs/install.md
- https://github.com/ggml-org/llama.cpp/blob/master/tools/server/README.md
- https://github.com/ollama/ollama/releases/tag/v0.40.0
- https://ollama.com/blog/mlx
- https://docs.ollama.com/macos
- https://lmstudio.ai/blog/lmstudio-v0.3.4
- https://lmstudio.ai/docs/app/system-requirements
- https://machinelearning.apple.com/research/exploring-llms-mlx-m5
- https://support.apple.com/zh-tw/guide/activity-monitor/view-memory-usage-actmntr1004/mac