次世代 Hugo

智能を研ぎ、創造を編む

MLX LM 初體驗

Sam Xiao's Avatar 2026-07-06

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 安裝成功

mlx01

Transformers

(mlx)$ pip install "transformers<5.13" --force-reinstall
  • 將低 Transformers 版本

因為 MLX LM 尚未支援 Transformers 最新版本

(mlx)$ pip show transformers
  • Transformers 降版成功

mlx02

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 是否成功執行

mlx03

Conclusion

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