Apple Silicon 微調:在 M 系列 Mac 上運行自訂模型
在 Apple Silicon Mac 上部署微調 AI 模型的實用指南。涵蓋 M4 硬體能力、統一記憶體優勢、Ollama 和 MLX 設置、量化選擇,以及 Core ML LoRA 適配器支援。
Apple Silicon 對於本地 AI 推理有一個大多數人低估的靜默優勢:統一記憶體。CPU、GPU 和神經引擎都共享同一個記憶體池——沒有在獨立的 VRAM 和系統 RAM 之間複製資料。對於大型語言模型推理(其中記憶體頻寬是主要瓶頸),這種架構是真正的競爭優勢。
如果你擁有 M 系列 Mac,你已經擁有了有能力的 AI 推理硬體。本指南介紹如何從 Ertas 獲取微調模型,並在你的 Mac 上本地部署——無雲 API、無 GPU 租賃、無按 token 計費。
你的 Mac 可以運行什麼
本地 LLM 推理的限制因素是記憶體。以下是每個 M 系列層級支援的內容:
| Mac | 統一記憶體 | 推薦模型 | 預期速度 |
|---|---|---|---|
| M1/M2/M3/M4(基礎版) | 8-16 GB | 1-3B 量化,7B 在 Q4(緊張) | 約 15-25 tok/s |
| M1/M2/M3/M4 Pro | 18-24 GB | 7-8B 在 Q5/Q8,13B 在 Q4 | 約 25-35 tok/s |
| M1/M2/M3/M4 Max | 32-128 GB | 13B 在 Q8,70B 在 Q4 | 約 15-30 tok/s |
| M2/M4 Ultra | 64-192 GB | 70B 在 Q8,同時多個模型 | 約 20-35 tok/s |
大多數開發者的甜蜜點: 運行 Q5_K_M 或 Q8_0 的微調 8B 模型的 M4 Pro(24 GB)。這提供了超過 30 個 token/秒——足夠快用於互動式使用——並且有充足的上下文視窗空間。
有關選擇量化等級的指導,請參閱我們的量化指南。
為何統一記憶體很重要
在傳統帶獨立 GPU 的 PC 上 ,LLM 推理工作如下:
- 模型權重存在 GPU VRAM(消費者卡上限制在 8-24 GB)
- 如果模型不適合 VRAM,部分溢出到系統 RAM
- 從 GPU 訪問系統 RAM 比 VRAM 慢 10-20 倍
- 這種「卸載」會殺死性能
在 Apple Silicon 上:
- 一切——CPU、GPU、神經引擎——訪問同一個記憶體池
- 沒有 VRAM/RAM 區別
- 帶 64 GB 統一記憶體的 Mac 以全速給 GPU 訪問所有 64 GB
- 沒有卸載懲罰
這意味著帶有 192 GB 統一記憶體的 Mac Studio M4 Ultra 可以運行傳統設置上需要多個企業 GPU 的模型。對於推理(而非訓練),Apple Silicon 令人驚訝地具有競爭力。
部署堆疊
選項 1:Ollama(最簡單)
Ollama 是從微調模型到在 Mac 上運行推理的最簡單路徑。
設置:
- 安裝 Ollama:
brew install ollama - 在 Ertas 上微調你的模型並匯出為 GGUF
- 創建指向你的 GGUF 的 Modelfile:
FROM ./your-fine-tuned-model.Q5_K_M.gguf - 導入:
ollama create my-model -f Modelfile - 運行:
ollama run my-model
Ollama 自動處理所有 Apple Silicon 優化——它在 M 系列晶片上使用 Metal 進行 GPU 加速。不需要配置。
何時使用 Ollama: 當你想要最快的路徑在本地運行微調模型時。非常適合開發、測試和 API 端點後面的生產推理。
選項 2:MLX(Apple 原生性能)
MLX 是 Apple 自己的機器學習框架,專為 Apple Silicon 設計。它提供了更低層次的控制,通常在 M 系列硬體上比 Ollama 有更好的性能。
相比 Ollama 的優勢:
- 由 Apple 構建,針對 M 系列晶片的特定記憶體層次結構優化
- 本地支援 LoRA 適配器加載(在不重新加載基礎模型的情況下切換適配器)
- 可以直接在 Mac 上對小型模型進行微調(雖然 Ertas 雲 GPU 更快)
何時使用 MLX: 當你需要 Apple Silicon 上的最大性能、當你想要熱切換 LoRA 適配器,或者當你正在構建帶有 AI 功能的原生 macOS 應用程式時。
選項 3:llama.cpp(最大控制)
支撐 Ollama 的底層引擎。當你需要自訂批次大小、特定線程配置,或者通過 C/C++ API 與自訂應用程式整合時,直接使用它。
llama.cpp 開箱即用地包含對 Apple Silicon GPU 加速的 Metal 支援。
何時使用 llama.cpp: 當你需要對推理參數進行精細控制,或者將推理嵌入到已編譯的應用程式中時。
Core ML 和 LoRA 適配器
Apple 的 Core ML 框架現在支援在神經引擎上的 LoRA 適配器推理——每個 M 系列晶片中內置的專用 AI 加速器。
這對兩個原因很重要:
-
適配器切換速度快。 加載一次基礎模型,為不同任務切換 LoRA 適配器,無需重新加載完整模型。這是硬體供應商正在構建到他們的晶片中的相同模式。
-
神經引擎效率。 ANE(Apple Neural Engine)針對特定量化等級和模型架構進行了優化。在 ANE 上運行推理比 GPU 推理更節省電力,延長 MacBook 的電池壽命。
Apple 發表了一篇研究論文,展示 Llama 3.1 8B 通過 Core ML 在本地運行,在 M1 Max 上每秒約 33 個 token。M4 系列晶片更快。
端到端工作流程
以 下是從領域資料到在 Mac 上運行推理的完整工作流程:
1. 在雲 GPU 上微調(通過 Ertas)
微調需要在消費者硬體上不切實際的 GPU 計算——即使是強大的 Mac 也是如此。M4 Max 可以通過 MLX 微調 7B 模型,但速度慢(幾小時 vs 雲 GPU 上的幾分鐘)並且佔用你的機器。
使用 Ertas 在雲 GPU 上微調:上傳你的資料集,視覺化配置訓練,監控結果。訓練在幾分鐘內完成,而不是幾小時。
2. 匯出為 GGUF
從 Ertas 以你的目標量化等級匯出你的微調模型:
- Q4_K_M 用於記憶體受限的 Mac(8-16 GB)
- Q5_K_M 用於 24 GB 以上 Mac 的生產品質
- Q8_0 用於 32 GB 以上 Mac 的最高品質
你也可以匯出為獨立的 LoRA 適配器,如果你想通過 MLX 或 Core ML 使用適配器切換。
3. 加載到 Ollama
將你的 GGUF 導入 Ollama 並開始提供推理服務。Ollama 默認暴露 OpenAI 相容的 API,因此任何與 OpenAI API 通訊的應用程式都可以通過一行配置更改指向你的本地模型。
4. 與你的堆疊整合
在 Ollama 上運行在你的 Mac 上的微調模型可以服務:
- n8n 工作流程通過 Ollama 節點(替換 OpenAI API 呼叫)
- 網路應用程式通過 REST API(localhost:11434)
- CLI 工具通過 Ollama 的命令行界面
- 自訂應用程式通過 Python 或 JavaScript 客戶端庫