Ce qui se passe
Le dépôt smolmaxxing cherche le plus gros modèle de langage qu'un petit appareil fait réellement tourner, puis le pousse plus loin. Deux appareils sont documentés, et chaque chiffre a été mesuré sur l'appareil lui-même.
| Box TV Xiaomi S (3e gén.) | iPad Air (2013) | |
|---|---|---|
| Puce | Amlogic S7D, 4× Cortex-A55 | Apple A7, 2 cœurs |
| Mémoire | 1,9 Go (≈ 1 Go utile) | 1 Go (≈ 700 Mo utiles) |
| Système | Android 14, sans root | iOS 12.5.7, jailbreaké |
| Modèle courant | Qwen3.5-2B, 7,7 tok/s | Bonsai-1.7B (1 bit), 24-26 tok/s |
| Plus gros modèle | Ling-mini-2.0 16B, 5,1 tok/s | Ling-mini-2.0 16B, 2,6-4,5 tok/s |
Comment un 16B tient en 1 Go
Tout est un patch de llama.cpp, autour de quatre idées :
- Experts paginés. Un mélange d'experts n'utilise que quelques experts par token. Les plus demandés restent en RAM, les autres sont lus dans la flash à la demande, et ceux de la couche suivante sont préchargés. C'est ce qui fait tourner des MoE de 8 et 16 milliards de paramètres sur environ 1 Go.
- Lecture en flux des modèles denses plus gros que la RAM, à la vitesse maximale de la flash.
- Noyaux taillés pour la puce : un noyau 1 bit à table de correspondance, des formats 2 bits et ternaires réorganisés pour le Cortex-A55, et leurs variantes pour l'A7, qui n'a pas d'instructions de produit scalaire.
- Moins de mémoire par modèle : l'essentiel du vocabulaire d'un petit modèle sert rarement, alors les lignes de sortie correspondantes sont retirées. Sur la box, un mode « headless » coupe aussi le lanceur et les services Google pendant l'exécution.
Le noyau 1 bit ne demande que NEON de base, et la pagination marche sur tout appareil Linux ou Android qui a plus
de modèle que de RAM. Le gain mesuré de chaque technique est dans docs/how-it-works.md ; EXPERIMENT.md relate
160 expériences, échecs compris, et docs/lessons.md ce qui n'a pas marché.
Pour essayer
Des fichiers de modèle prêts à l'emploi sont publiés sur Hugging Face, mais llama.cpp standard ne sait pas les
charger : il faut appliquer les patchs du dossier patches/. Guides : docs/tv-box-setup.md pour une box ou un
autre appareil Android ARMv8.2, ipad-air/README.md pour l'iPad, docs/models.md pour les téléchargements, la
reconstruction des modèles et les sommes de contrôle. Les benchmarks bruts sont dans bench/.
Ce que ça change
Pour qui sert un MoE sur une machine trop juste en mémoire, la pagination des experts depuis le disque est l'idée à
transposer : la mémoire utile suit les experts réellement sollicités, pas la taille totale du modèle. La qualité des
réponses, modèle par modèle, est notée dans docs/tv-box.md ; d'autres appareils (téléphones, cartes, routeurs)
sont annoncés.
Source : dépôt hyperionaidev/smolmaxxing, en anglais, repéré sur Hacker News.