Démo Snake partageable

Le README s’ouvre sur un GIF de 15 secondes d’une vraie exécution Core ML dans un terminal. Le MP4 correspondant de 20 secondes en 1920×1080 convient à une publication sur les réseaux sociaux. Les deux rejouent l’enregistrement d’origine à vitesse d’horloge murale d’origine (1×).
- Télécharger le MP4
- Télécharger le GIF
- Aperçu PNG
- Provenance des médias et hashs du moteur de rendu
- Enregistrement d’origine des décisions de 75 secondes
Ce qui a été enregistré
La wheel laya-coreml installée a tourné dans un vrai pseudo-terminal de 112 colonnes × 38
lignes sur un M3 Max. Le modèle a été téléchargé depuis l’instantané Hub public et épinglé
ANE FP16 avant le début de la partie. Le jeu a tourné hors ligne avec le runtime Core ML,
sans Torch, Transformers ni MLX installés dans cet environnement.
| Réglage ou résultat | Valeur |
|---|---|
| Plateau / graine | 24×16 / 7 |
| Longueur initiale du serpent | 6 |
| Débit de présentation demandé | 12 décisions/s |
| Durée réelle de l’exécution | 75.034 s |
| Appels de décision fraîche / coups exécutés | 855 / 855 |
| Débit de décision observé | 11.395/s |
| Score / longueur finaux | 26 / 32 |
| Morts / interventions de sécurité | 0 / 0 |
predict à trois questions P50 / P95 |
26.63 / 28.09 ms |
| Tokens de sortie du modèle | 0 |
| Extrait MP4 | Secondes 45–65, 30 images vidéo/s |
| Extrait GIF | Secondes 45–60, 10 images vidéo/s |
| Aperçu fixe | Seconde 55 |
Les images vidéo échantillonnent les décisions d’origine. Elles ne déclenchent pas de
prédictions supplémentaires et n’accélèrent pas le serpent. Le moteur de rendu utilise la
même composition de cellules de terminal que l’interface en direct et étiquette les exports
RECORDED RUN · 1×. Le GIF fait environ 1.6 MB ; le MP4 environ 0.7 MB.
Le modèle reçoit des caractéristiques exactes de planificateur. Une couche de sécurité de cycle est activée et son compteur d’interventions reste visible, même si cette exécution n’a eu besoin d’aucune correction. Les zéros morts ici sont une observation bornée, pas une preuve d’un jeu illimité sans assistance. Le risque affiché et l’accessibilité de la nourriture sont des estimations du modèle.
Le chronomètre d’inférence de l’interface inclut trois questions typées séquentielles. Le benchmark séparé de 4.98 ms mesure une question courte sous charge soutenue. Ces charges de travail, cadences et frontières de mesure diffèrent. Les tests de débit complets de la boucle de jeu sont dans SNAKE_BENCHMARKS.md.
Reproduire l’enregistrement
Installe laya-coreml[demo]==0.1.0, télécharge le modèle épinglé depuis
RELEASE.md, et lance :
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
Pour une capture scriptée d’un vrai terminal, le checkout source inclut
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
Texte de publication suggéré
Anglais :
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
Pour un suivi centré sur la performance, utilise l’affirmation exacte : 4.98 ms P50 pour une courte décision multilingue, avec une énergie système estimée par décision 2.78× plus faible que MLX FP16 compilé dans l’expérience appariée sur M3 Max. Lie la méthode de mesure, conserve sa qualification de charge de travail, et ne l’étiquette pas comme un temps par image Snake ni comme un résultat de 10×.