在 Apple Silicon M4 上的 Laya CoreML 演示 – 透過 CoreML 離線運行貪吃蛇遊戲

Laya CoreML 在 Apple Silicon M4 上離線運行,CPU 負載極低

重點: laya-coreml 套件可在搭載 M4 處理器的 Mac 上本地執行多語系大型語言模型(LLM),利用 CoreML 將推論工作交由神經引擎處理,同時在玩貪吃蛇遊戲示範時將記憶體使用量維持在 800 MiB 以下。


快速啟動指令碼

此 Gist 的作者發布了一個可重現的 Shell 指令碼(laya.sh),用以建立全新的 Python 環境、安裝示範程式、下載預轉換的 CoreML 模型,並啟動貪吃蛇示範:

mkdir test-laya
cd test-laya
uv init                     # 建立隔離的 Python 環境
uv add 'laya-coreml[demo]'   # 安裝套件與示範額外功能
hf download aac6fef/laya-multilingual-coreml-ane --local-dir models/snake
uv run laya-coreml-snake --model models/snake

在 macOS 27.0(Apple Silicon M4)上執行該指令碼後,會開啟一個視窗,其中大型語言模型即時控制貪吃蛇代理。


作者提供的效能指標

作者在示範執行期間擷取了 Python 進程的 sample 快照:

實際佔用記憶體:         560.4 MiB
實際佔用記憶體(峰值):  778.0 MiB

該報告顯示,此進程從未超過 800 MiB 的 RAM 使用量,確認模型能舒適地放入典型 M 系列 Mac 的統一記憶體池中。


CoreML 推論交由神經引擎處理

有位留言者(speedping)觀察到推論幾乎完全在神經引擎上運行,而非 GPU:

"太棒了。我啟動了 pumas(能源監控工具),看起來幾乎完全在神經引擎上運行,而不是 GPU,因此與 CoreML 非常契合。"

這證實了 laya-coreml 充分利用了 Apple 的硬體加速架構,降低 CPU 負載與耗電量。


透過 Cloudflare 的 API 使用範例

另一位社群成員(coezbek)將本地的 Laya 模型包裝成 Cloudflare Workers 端點(typesafe/jev API),並示範了一個簡單的 JSON 請求:

curl https://laya.inference.zaitlabs.com/ai/run \
  -H "Content-Type: application/json" \
  -d '{
    "state": "Help! My payouts have been failing for 3 days.",
    "questions": {
      "is_urgent": {"type": "noul", "instructions": "Does this convey urgency?"}
    }
  }'

回應返回了緊急程度的概率分數(0.7894),顯示該模型可作為低延遲推論服務公開。


社群觀點

  • 確定性任務: imranq 提到,Laya 在具備訓練資料的任務上表現出色,其確定性行為具有價值,但對於純粹新穎的查詢,可能落後於 Jev 之類的零樣本模型。
  • 本地 LLM 未來: PaulRobinson 表達了對控制問題領域中本地 LLM 的熱情,認為如本示範所示的硬體加速推論,可能推動更廣泛的採用。
  • 記憶體好奇: altano 問及在擁有 128 GB 統一記憶體的 M3 Max 上的記憶體消耗情況。作者的樣本數據(峰值約 778 MiB)表明,即使在較低端的 M 系列晶片上,記憶體佔用也相當輕微。
  • 模型範圍: 多位留言者(tentacleuno, frag)詢問貪吃蛇示範是否使用微調過的 Laya 模型。此 Gist 並未說明微調;它使用的是 Hugging Face 上公開的 laya-multilingual-coreml-ane 模型。

Laya‑CoreML 是什麼

laya-coreml 是一個 Python 套件,包裝了一個多語系大型語言模型(約 300 M 參數),並提供 CoreML 轉換流程。倉儲(https://github.com/mizorewww/laya-coreml)包含:

  • Apple CoreML 格式的模型轉換腳本。
  • 一個示範 CLI(laya-coreml-snake),可在強化學習風格的貪吃蛇遊戲中運行模型。
  • 可選額外功能([demo]),安裝示範所需的必要依賴項。

這為何重要

在消費級 Apple Silicon 上完全離線運行語言模型,證明了複雜的人工智慧工作負載不再需要雲端 GPU。其低記憶體佔用與神經引擎加速,使得嵌入式 LLM 驅動的功能(例如意圖分類、緊急程度偵測或遊戲代理)可直接整合至 macOS 應用程式中,無需網路延遲或資料隱私疑慮。


如何自行嘗試

  1. 先決條件: macOS 27.0(或更新版本)搭配 Apple Silicon(M1/M2/M3/M4)。安裝 uv 套件管理員(pip install uv)。
  2. 克隆倉儲: git clone https://github.com/mizorewww/laya-coreml.git。
  3. 遵循指令碼: 執行上方「快速啟動指令碼」部分的命令。
  4. 實驗: 將貪吃蛇示範替換為您自己的 CoreML 相容推論迴圈,或如 Cloudflare 範例所示,透過本地 HTTP 伺服器公開模型。

局限與開放問題

  • 模型大小: 約 300 M 參數的 Laya 远小於當前最尖端的模型(例如 7 B+)。預期語言理解的廣度較有限。
  • 微調: 公開示範不包含針對貪吃蛇環境的微調版本;有興趣提升特定任務性能的使用者,需自行微調基礎模型並重新匯出為 CoreML。
  • 硬體依賴: 性能提升依賴 Apple 的神經引擎;在非 Apple 硬體或缺乏最新神經引擎的舊款 Mac 上,結果可能不同。

總結

laya-coreml 示範證明,一個 300 M 參數的多語系大型語言模型可在 Apple Silicon M4 上離線運行,利用 CoreML 將記憶體維持在 800 MiB 以下,並將運算交由神經引擎處理,從而實現低延遲、保有隱私的桌面人工智慧應用。

Sources

相關

  • 專案
  • 專案
  • Dispatch
  • Dispatch
  • Dispatch