本文給一張可勾選的對照表,銜接《M4 本機推理:llama.cpp 與 Ollama》、《多模型路由成本矩陣》、《OpenTelemetry GenAI 可觀測性》與《本機 RAG 分塊與向量配額》,方便你把試跑指標對齊到準生產節點。
選型場景
以工作負載形狀先分隊:互動聊天重尾延遲與首字時間;批次評測與資料標註重吞吐;研究微調重 HF 生態與自訂損失。下表為決策矩陣(請以你的模型與量化實測校準)。
| 場景 | MLX-LM(MLX) | Transformers(MPS) |
|---|---|---|
| Apple Silicon 優先的推理交付 | 預設路徑;易與 mlx 工具鏈對齊,批次/量化路徑相對直白 | 可行;需留意 MPS 上 batch、同步與 dtype 的組合開銷 |
| HF Hub/Trainer/PEFT 一條龍 | 推理與輕量轉換友善;訓練主線仍以需求評估 | 生態最完整;適合微調、評測管線與自訂 callback |
| 長上下文+多並發會話 | 以統一記憶體預算壓測 KV;善用快取重用策略 | 同樣受 KV 與峰值制約;建議分進程隔離互動與離線 |
| 與 Ollama/llama.cpp 並存 | 可作「原生 MLX 模型」支線;參數語意請勿混用 | 可作 Python 評測支線;路由面見多模型文 |
批次大小與記憶體對照表
KV cache 隨序列長度與層數累積;批次同時放大權重常駐與啟用中的啟用值。下表為驗收用起點(非保證值),請以 Activity Monitor 的記憶體壓力與交換為準星逐步上調。
| 工作負載 | 建議批次/上下文起點 | 統一記憶體觀察點 |
|---|---|---|
| 互動聊天(低尾延遲) | batch 1;上下文先壓在「可接受品質」下限 |
峰值與交換;是否觸發記憶體壓力黃/紅區 |
| 離線評測/匯出 | 逐步提高 batch 與 max_tokens,記錄吞吐拐點 |
長序列 KV+大批次疊加;建議分時段跑 |
| RAG 合成答案 | 控制 prompt 長度;embedding 與 LLM 分開佔預算 | 索引與推理峰值分開量測(見 RAG 文) |
# MLX-LM:推理占位(依模型與環境替換角括號)
python -m mlx_lm.generate --model <MODEL_ID_OR_PATH> \
--prompt <PROMPT_FILE> --max-tokens <MAX_TOKENS> \
--temp <TEMP>
# Python API:常見生成參數映射(概念占位)
# max_tokens → 控制 decode 長度;context 長度由提示與模型上限共同約束# Transformers + MPS:推理占位
export PYTORCH_ENABLE_MPS_FALLBACK=1
python -c "
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
m = AutoModelForCausalLM.from_pretrained(
'<MODEL_ID>', torch_dtype=torch.float16, device_map='mps'
)
tok = AutoTokenizer.from_pretrained('<MODEL_ID>')
# 批次 >1 時請同步調整 attention 與 pad 策略並實測記憶體峰值
"驗收步驟與監控指標
步驟:(一)固定模型版本與量化位元,記錄 tokenizer 與權重校驗和。(二)互動與離線分腳本,分別量測 p50/p95 延遲與 tokens/s。(三)記錄每請求 prefill/decode tokens、批次、是否重用 KV。(四)觀察統一記憶體峰值、交換與熱節流(如有)。(五)對照可觀測性矩陣寫入租戶/模型維度。(六)在遠端專用節點重跑 2~4 小時,確認無睡眠與背景同步干擾。
指標建議:time_to_first_token、tokens_per_sec_decode、kv_cache_bytes_est(或層級近似)、mem_pressure_peak、oom_or_fallback_count。閾值用「相對於基線的退化比例」好過單一絕對值。
FAQ
同一台 M4 能同時跑 MLX 與 Transformers 嗎?可以,但建議分開行程與佇列,並為每條管線設記憶體上限,避免統一記憶體頻寬被隱形搶占。
為何「表上批次」與實際吞吐不一致?常見於 prefill 與 decode 階段比例不同、或 KV 重用率差異;請分階段計時。
驗收通過後如何上線?將腳本與監控欄位固化到常駐主機,與路由/成本矩陣對齊;需要穩定試跑與長時程磁碟時,可改用雲端 Mac 節點。
若你已準備把試跑搬到專用 Apple Silicon 遠端環境,可先免登入瀏覽定價與購買頁選型;細節見說明中心與首頁。
小結:場景決定框架主線;批次與 KV 決定統一記憶體是否可維運;最後用可重現腳本與監控欄位驗收到節點級。