可分享的 Snake 演示

README 以一個 15 秒的 GIF 開場,內容是一次真實的 Core ML 終端執行。與之配套的 20 秒、1920×1080 的 MP4 適合用作社交平臺帖子。兩者都以 1× 牆鐘速度回放原始錄製。
錄製了什麼
安裝好的 laya-coreml wheel 在 M3 Max 上一個真實的 112 列 × 38 行偽終端裡執行。模型在遊戲開始前從公開、固定的 ANE FP16 Hub 快照下載。遊戲過程用 Core ML 執行時離線進行,該環境裡沒有安裝 Torch、Transformers 或 MLX。
| 設定或結果 | 值 |
|---|---|
| 棋盤 / 種子 | 24×16 / 7 |
| 初始蛇長 | 6 |
| 請求的呈現速率 | 12 次決策/秒 |
| 實際執行時長 | 75.034 s |
| 新鮮決策呼叫 / 執行的步數 | 855 / 855 |
| 觀察到的決策速率 | 11.395/秒 |
| 最終分數 / 長度 | 26 / 32 |
| 死亡 / 安全乾預 | 0 / 0 |
三問題 predict 的 P50 / P95 |
26.63 / 28.09 ms |
| 模型輸出 token | 0 |
| MP4 片段 | 第 45–65 秒,30 影片幀/秒 |
| GIF 片段 | 第 45–60 秒,10 影片幀/秒 |
| 靜幀預覽 | 第 55 秒 |
影片幀對原始決策進行取樣。它們不會觸發額外的預測,也不會讓蛇加速。渲染器使用與即時 UI 相同的終端單元格合成,並把匯出標記為 RECORDED RUN · 1×。GIF 約 1.6 MB;MP4 約 0.7 MB。
模型收到確切的規劃器特徵。啟用了迴圈安全層,其干預計數器始終可見,儘管這次執行無需任何覆蓋。這裡的零死亡是一個有邊界的觀察,不能證明可以無限期地無人輔助遊玩。顯示的風險和食物可達性是模型估計值。
UI 的推理計時包含 三個順序的型別化問題。單獨的 4.98 ms 基準在持續負載下測量 一個簡短問題。這些工作負載、節奏和計時邊界各不相同。完整的遊戲迴圈速率測試見 SNAKE_BENCHMARKS.md。
復現這段錄製
安裝 laya-coreml[demo]==0.1.0,從 RELEASE.md 下載固定的模型,然後執行:
laya-coreml-snake --model ./models/ane --seed 7 --fps 12 \
--duration 75 --record snake.jsonl
laya-coreml-snake export snake.jsonl --start 45 --seconds 20 \
--output snake-demo.mp4 --gif snake-demo.gif --gif-seconds 15
laya-coreml-snake export snake.jsonl --start 55 --output snake-preview.png
要做指令碼化的真實終端捕獲,原始碼 checkout 裡包含 scripts/record_terminal.py:
python scripts/record_terminal.py --log artifacts/session.ansi -- \
laya-coreml-snake --model ./models/ane --seed 7 --fps 12 \
--duration 75 --record snake.jsonl
建議的帖子文案
英語:
A 322M decision model playing Snake on my Mac’s Neural Engine. Zero generated tokens. Offline inference, live probabilities, and a visible safety layer. Core ML runtime, open weights, reproducible benchmarks: https://github.com/mizorewww/laya-coreml
中文:
把一個 3.22 億參數的決策模型搬到了 Mac 的 Neural Engine 上,用它即時玩貪吃蛇。 機率即時變化,0 個生成 token,下載模型後完全離線。影片是原速實錄,安全層和干預 次數直接顯示在介面上。程式碼、權重、PyPI 包和完整 benchmark 都已開放: https://github.com/mizorewww/laya-coreml
對於以效能為重點的後續帖子,請使用這個確切說法:一次簡短的多語言決策 P50 為 4.98 ms,在配對的 M3 Max 實驗中每個決策的估計系統能耗比編譯後的 MLX FP16 低 2.78×。連結 測量方法,保留其工作負載限定條件,不要把它標成 Snake 幀時間或 10× 結果。