LLM sur ESP32-S3 à 8 $ : l'astuce mémoire
edge-aiesp32llm
Ce qui a vraiment été exécuté sur l'ESP32-S3
Le fait principal ici n'est pas les 8 $ qui font le buzz, mais qu'un modèle de langage de 28,9M paramètres soit décrit comme entièrement local sur l'ESP32-S3. Le dépôt slvDev/esp32-ai sur GitHub revendique environ 9,5 tokens par seconde de bout en bout et 9,7 tokens par seconde pour le calcul pur.
Le matériel n'est pas abstrait non plus : un ESP32-S3 N16R8 est spécifié avec 16 Mo de flash, 8 Mo de PSRAM et 512 Ko de SRAM. Pour un microcontrôleur, cela reste une boîte très exiguë, de sorte que l'approche habituelle consistant à charger l'intégralité du modèle en mémoire rapide n'aurait pas fonctionné ici.
L'astuce s'appelle Per-Layer Embeddings, PLE. En substance, environ 25 millions des 28,9M paramètres résident en flash sous forme de grande table de correspondance, tandis que le cœur de calcul, les activations et les structures temporaires restent en SRAM et PSRAM. Ce n'est pas de la magie, mais un compromis soigné : plus d'accès à la mémoire lente, mais le modèle tient entièrement.
Ce qui me plaît dans cette histoire, c'est précisément la rusticité ingénierique de la solution. On n'a pas essayé de faire comme si l'ESP32 était soudain devenu un petit serveur. Au lieu de cela, l'architecture a été adaptée à la hiérarchie réelle de la mémoire du microcontrôleur : flash pour la masse des paramètres, PSRAM pour les tampons, SRAM pour le chemin le plus chaud.
Il y a une réserve importante : le modèle est entraîné sur TinyStories. C'est-à-dire qu'il génère de courtes histoires simples, pas des réponses factuelles, ni du suivi d'instructions, ni un assistant conversationnel universel.
Pourquoi cela change l'IA embarquée, mais sans fantasmes
C'est une étape réelle pour l'IA locale dans l'IoT, mais pas un remplacement des grands LLM. Au 30 juillet 2026, je lis ce projet comme une démonstration de mémoire et d'architecture, non comme l'arrivée d'un assistant intelligent dans chaque capteur.
L'avantage pratique est clair : l'appareil peut générer du texte sans le cloud, sans latence réseau et sans envoyer de données à l'extérieur. Pour les petites interfaces narratives, les jouets, les démonstrations hors ligne et les scénarios edge privés, cela suffit déjà si le domaine est étroit.
Où cela commencera à se briser est également immédiatement visible. Les accès flash, le contexte limité, l'entraînement étroit sur TinyStories et la faible capacité générale de suivi d'instructions rencontreront rapidement un plafond. Je regarderais d'abord non pas les tokens par seconde, mais la qualité de la dégradation en dehors du domaine d'entraînement.
Mais le fait même est inconfortable pour l'intuition ancienne : LLM ne signifie plus nécessairement cloud, GPU et carte volumineuse. Parfois, c'est une table de correspondance en flash et un petit cœur qui fait exactement autant d'intelligence que la physique de la mémoire le permet.