重點整理
- 開源模型集中在 Hugging Face。在 Mac 上,請找 MLX 版本(常由 mlx-community 發布),或供 llama.cpp、Ollama 和 LM Studio 使用的 GGUF 檔案。
- 記憶體決定裝得下什麼:4-bit 的 MLX 模型每 10 億參數約需 0.56 GB,另外還要替上下文和 macOS 留出空間。
- 受限模型需要一個免費的 Hugging Face 帳戶、接受授權,以及一個存取權杖。
- 可以用 MLX Harness、mlx-lm、LM Studio 或 Ollama 執行。
1去哪裡找模型
大多數開放權重模型都託管在 Hugging Face。同一個模型通常有好幾個版本,格式決定了哪個 App 能執行它:
| 格式 | 外觀 | 可在這些工具中執行 |
|---|---|---|
| MLX | 一個包含 safetensors 檔案和 config.json 的資料夾,名稱類似 Model-4bit | mlx-lm、LM Studio、MLX Harness |
| GGUF | 一個或幾個 .gguf 檔案,名稱類似 Q4_K_M | llama.cpp、Ollama、LM Studio |
| 原始權重 | 模型開發者提供的全精度 safetensors | 先轉換為 MLX,或挑選現成的版本 |
不確定要用哪個執行環境?MLX、Ollama 與 llama.cpp 比較有詳細比較。完全是新手?先從在 Mac 上執行 LLM 開始。
2挑一個記憶體裝得下的大小
模型權重必須放進記憶體,並保留餘裕。MLX 儲存量化權重時,除了每個權重本身的位元數,每 64 個權重還共用一個縮放值和一個偏差值,相當於每個權重多出約半個位元(MLX)。因此 4-bit 每 10 億參數約需 0.56 GB,8-bit 約需 1.06 GB。
| 參數量 | 4-bit(MLX) | 8-bit(MLX) | 16-bit |
|---|---|---|---|
| 30 億 | 約 1.7 GB | 約 3.2 GB | 6 GB |
| 80 億 | 約 4.5 GB | 約 8.5 GB | 16 GB |
| 140 億 | 約 7.9 GB | 約 14.9 GB | 28 GB |
| 320 億 | 約 18 GB | 約 34 GB | 64 GB |
| 700 億 | 約 39 GB | 約 74 GB | 140 GB |
macOS 預設只允許 GPU 使用部分統一記憶體;Compare 以約四分之三計算,mlx-lm 的 README 說明了如何在 macOS 15 或以上版本用 sudo sysctl iogpu.wired_limit_mb=N 提高這個上限(mlx-lm)。對於混合專家模型,總參數量決定記憶體,作用中參數量決定速度。Compare 會為每個熱門模型和每款 Apple 晶片完成這些計算,本機 LLM 最佳 Mac 則解釋了為什麼頻寬決定速度。
3量化:4-bit、8-bit 及其他
量化以較少的位元儲存每個權重,讓模型占用較少記憶體、執行更快,代價是一些品質損失。在 Mac 上,4-bit 是常見的起點。8-bit 更接近原始模型,大小是 4-bit 的兩倍。低於 4 bit 時,檔案會變小,但回答品質下降得更快,所以只在更大的模型否則裝不下時才嘗試。
- MLX 版本 會在名稱中寫明:-4bit、-8bit,有時還有混合精度版本,對敏感的層保留更多位元。
- GGUF 檔案 使用 llama.cpp 的命名:Q4_K_M、Q5_K_M、Q8_0 等。在 Ollama 中執行 Hugging Face 上的 GGUF 儲存庫而不指定版本時,只要有 Q4_K_M,它就會選用 Q4_K_M(Hugging Face)。
- 自己製作 MLX 版本:從原始權重開始,
mlx_lm.convert --model mistralai/Mistral-7B-Instruct-v0.3 -q會寫出一份 4-bit 副本(mlx-lm)。
4磁碟空間與模型存放位置
下載大小和上表中的權重大小相當,所以 4-bit 的 8B 模型只有幾 GB,70B 模型則要幾十 GB。同一個模型多試幾種大小或版本,占用的空間很快就會累積起來。
mlx-lm 和其他 Hugging Face 工具把下載內容存放在 ~/.cache/huggingface/hub;設定 HF_HOME 或 HF_HUB_CACHE 可以更改位置。hf cache ls 顯示其中有什麼,hf cache rm 刪除模型(Hugging Face)。Ollama 和 LM Studio 把模型放在各自的資料夾中,並自行管理。
5受限模型與 Hugging Face 存取權杖
有些模型是受限的,Llama 就是其中之一:下載前你必須接受開發者的條款(Hugging Face)。
- 登入一個免費的 Hugging Face 帳戶,打開模型頁面。
- 用頁面上的按鈕接受條款(預設是 Agree and send request to access repo)。有些開發者會人工審核請求,需要比較久。
- 在 Hugging Face 設定中建立存取權杖。
- 把權杖交給你的工具:在終端機執行
hf auth login,供 mlx-lm 和其他 Hugging Face 工具使用(Hugging Face),或把它貼到 App 的 Hugging Face 權杖欄位。
6執行模型:四種方式
mlx-lm:在終端機中使用 Apple 的 MLX
用 pip 安裝,然後指定 Hugging Face 上任何一個 MLX 模型;第一次執行時會自動下載(mlx-lm)。
pip install mlx-lm
mlx_lm.generate --model mlx-community/Llama-3.2-3B-Instruct-4bit --prompt "How tall is Mt Everest?"
mlx_lm.chat --model mlx-community/Llama-3.2-3B-Instruct-4bitmlx_lm.server 在 localhost:8080 上以 OpenAI 風格的 API 提供模型,供其他 App 使用(mlx-lm):
mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit
curl localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"messages": [{"role": "user", "content": "Say this is a test!"}]}'LM Studio:內建模型瀏覽器的 App
LM Studio 在 App 內搜尋並下載 Hugging Face 上的模型,在 Apple 晶片上既能執行 MLX 模型,也能透過 llama.cpp 執行 GGUF。它需要 Apple 晶片和 macOS 14 或以上版本,建議 16 GB 或以上記憶體(LM Studio)。
Ollama:一行指令
Ollama 執行自家模型庫中的模型,也能直接執行 Hugging Face 上任何 GGUF 儲存庫,還可以加上量化標籤(Hugging Face):
ollama run hf.co/bartowski/Llama-3.2-3B-Instruct-GGUF:IQ3_MMLX Harness:我們的免費 App
MLX Harness 是我們以 vMLX 為基礎打造的免費 Mac App:它在 Hugging Face 上搜尋 MLX 模型,可以聊天、執行工具和影像模型,並透過本機 API 提供所有服務。它的閘道也使用 8080 連接埠,所以不要和 mlx_lm.server 在同一個連接埠上同時執行。不用 Mac 的時候,MLX Node 可以把它借給 MLX Network。
7常見問題
- 在哪裡下載 Mac 用的 LLM?
- 在 Hugging Face。請找 MLX 版本(很多由 mlx-community 發布)或 GGUF 檔案。LM Studio 和 Ollama 也能替你搜尋和下載。
- 該下載多大的模型?
- 選權重能寬鬆放進你 Mac 記憶體的:4-bit 下每 10 億參數約 0.56 GB,所以 8B 模型約 4.5 GB,70B 約 39 GB,另外還要替上下文留空間。mlx.app 上的 Compare 會針對你的 Mac 幫你檢查。
- Mac 上該用 MLX 還是 GGUF?
- 兩者在 Apple 晶片上都執行得很好。MLX 版本專為 Apple 的 MLX 製作,可在 mlx-lm、LM Studio 和 MLX Harness 中執行;GGUF 檔案可在 llama.cpp、Ollama 和 LM Studio 中執行。
- 需要 Hugging Face 帳戶嗎?
- 公開模型不需要。受限模型需要一個免費帳戶、接受授權,以及一個存取權杖。
- 下載的模型能離線執行嗎?
- 可以。檔案一旦在你的 Mac 上,模型不需連網就能執行,你的提示詞也會留在 Mac 上。
資料來源
- Hugging Facehuggingface.co
- mlx-communityhuggingface.co
- mlx-lmgithub.com
- MLXml-explore.github.io
- Hugging Facehuggingface.co
- Hugging Facehuggingface.co
- Hugging Facehuggingface.co
- Hugging Facehuggingface.co
- mlx-lmgithub.com
- LM Studiolmstudio.ai
- LM Studiolmstudio.ai
- Ollamaollama.com