MLX LM 為 Apple 親手打造的 MLX 生態裡專門處理大型語言模型推論的工具,可發揮 Apple Silicon 的威力。
Version
Python 3.12
MLX LM 0.31.3
Python 3.12
$ brew install python@3.12
- 使用 Homebrew 安裝 Python 3.12
不能安裝 Python 最新版,MLX-LM 尚未支援
也不能使用 macOS 內建 Python,版本又太舊
jq
$ brew install jq
- jq 是一個命令列 JSON 處理工具,可以把 JSON 當成資料來查詢、篩選、修改、格式化,方便獲得易讀結果
venv
$ rm -rf ~/venvs/mlx
- 刪除之前安裝過的 venvs 環境
$ /opt/homebrew/bin/python3.12 -m venv ~/venvs/mlx
- 使用剛剛用 Homebrew 安裝的 Python 安裝
venv,並建立工作目錄在~/venvs/mlx
$ source ~/venvs/mlx/bin/activate
- 啟動 venv 虛擬環境
(mlx)$ python --version
- 可發現 venv 是跑在 Python 3.12.13,而不是 macOS 內建 Python 3.9.6,如此已達成 MLX LM 要求 Python 3.12 的要求
MLX LM
(mlx)$ pip install -U mlx-lm
- 使用 pip 安裝 MLX LM
(mlx)$ pip show mlx-lm
- MLX LM 安裝成功

Transformers
(mlx)$ pip install "transformers<5.13" --force-reinstall
- 將低 Transformers 版本
因為 MLX LM 尚未支援 Transformers 最新版本
(mlx)$ pip show transformers
- Transformers 降版成功

Load Model
(mlx)$ mlx_lm.server --model mlx-community/Qwen3-8B-4bit
mlx_lm.server: 載入 model--model:指定所使用 model
Test Model
$ curl -s http://127.0.0.1:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model":"mlx-community/Qwen3-8B-4bit",
"messages":[{"role":"user","content":"請翻譯:今日はいい天気です"}]
}' | jq -r '.choices[0].message.content'
- 使用 crul 測試 model 是否成功執行

Conclusion
Qwen3-8B-4bit可在 M2 24GB 正常執行,雖然速度不算快Qwen3-8B-4bit可在 M4 Max 128GB 正常執行,速度快很多