在 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 應用程式中,無需網路延遲或資料隱私疑慮。
如何自行嘗試
- 先決條件: macOS 27.0(或更新版本)搭配 Apple Silicon(M1/M2/M3/M4)。安裝
uv套件管理員(pip install uv)。 - 克隆倉儲:
git clone https://github.com/mizorewww/laya-coreml.git。 - 遵循指令碼: 執行上方「快速啟動指令碼」部分的命令。
- 實驗: 將貪吃蛇示範替換為您自己的 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