地端世界ONPREM WORLD

用 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 Instruct3.21BQ8_04.7 GiB29
Gemma 4 E4B IT8BQ8_09.1 GiB12
Qwen3-8B8.2BQ8_010.1 GiB11
Llama 3.1 8B Instruct8BQ8_09.8 GiB12
Gemma 3 12B IT12BQ6_K11.0 GiB10
Phi-4 (14B)14BQ5_K_M11.8 GiB10.0
gpt-oss-20b21B (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-8B8.2BQ8_010.1 GiB11
Gemma 3 12B IT12BQ8_013.8 GiB7.8
gpt-oss-20b21B (3.6B 啟用)Q8_022.5 GiB26
Mistral Small 3.2 24B Instruct (2506)24BQ6_K21.1 GiB5.0
Qwen3.6-27B27BQ6_K22.7 GiB4.5
Qwen3-32B32.8BQ4_K_M21.9 GiB5.0
Qwen3.6-35B-A3B35B (3B 啟用)Q4_K_M21.4 GiB55
Gemma 4 31B IT30.7BQ5_K_M22.9 GiB4.6

以上為依本站估算方法算出的估計值,資料日期 2026-10-14。實際速度會因執行環境、驅動程式與提示詞長度而不同。

32 GB 是最值得加購的一級。它打開了 24B 到 35B 的模型,這也是本地模型在寫作和寫程式上開始接近雲端助理的等級。請注意速度欄:在基本款 M5 上,32B 的密集模型很慢,MoE 模型則快上好幾倍。

64 GB:M5 Pro

模型參數量放得下的最佳量化所需記憶體tok/s(估)
Qwen3.6-27B27BQ8_029.1 GiB7.0
Qwen3-32B32.8BQ8_036.6 GiB5.7
Qwen3.6-35B-A3B35B (3B 啟用)Q8_037.0 GiB63
Gemma 4 31B IT30.7BQ8_033.5 GiB6.1
Llama 3.3 70B Instruct70BQ4_K_M44.5 GiB4.7
Qwen3-Coder-Next (80B-A3B)80B (3B 啟用)放不下48.1 GiB–
gpt-oss-120b117B (5.1B 啟用)放不下70.1 GiB–
GLM-4.5-Air106B (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 Instruct70BQ8_075.7 GiB5.4
Llama 4 Scout 17B-16E Instruct109B (17B 啟用)Q6_K89.8 GiB28
gpt-oss-120b117B (5.1B 啟用)Q6_K95.0 GiB95
GLM-4.5-Air106B (12B 啟用)Q6_K87.3 GiB40
Mistral Small 4 119B (2603)119B (6.5B 啟用)Q5_K_M83.4 GiB86
Qwen3.5-122B-A10B122B (10B 啟用)Q5_K_M85.5 GiB56
Qwen3-Coder-Next (80B-A3B)80B (3B 啟用)Q8_083.8 GiB125
Qwen3.8-Flash-Next180B (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 美元
M516–32 GB153 GB/sUS$1,599–
M6 (16GB configuration, 153 GB/s)16 GB153 GB/sUS$899US$56
M6 (24GB/32GB configurations, 170 GB/s)24–32 GB170 GB/s––
M5 Pro24–64 GB307 GB/sUS$2,199–
M5 Max (18-core CPU / 32-core GPU)36 GB460 GB/sUS$3,599US$100
M5 Max (18-core CPU / 40-core GPU)48–128 GB614 GB/sUS$4,099–
M5 Ultra96–512 GB1,200 GB/sUS$5,499–
M4 Pro24–64 GB273 GB/sUS$1,399–
M4 Max (16-core CPU / 40-core GPU)48–128 GB546 GB/sUS$3,699–
M3 Ultra96–512 GB819 GB/sUS$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 40901,008 GB/s可以35
GeForce RTX 50901,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 Edition1,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-lmbrew install llama.cpp
內建於Ollama(0.40.0 起,Apple Silicon 上支援的模型架構預設使用)、LM Studio(0.3.4 起內建 MLX 引擎)Ollama(其餘模型)、LM Studio 及許多 App
授權MITMIT

實際使用上:

  • 用你順手的 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 較高的記憶體頻寬相符。

資料來源