3 min de lecture

LLM sur ESP32-S3 à 8 $ : l'astuce mémoire

edge-aiesp32llm

Le projet slvDev/esp32-ai montre qu'un LLM de 28,9M paramètres peut fonctionner localement sur un ESP32-S3 pour environ 8 $. L'astuce clé : environ 25M paramètres résident en mémoire flash, tandis qu'un petit cœur de calcul reste en mémoire rapide. La vitesse annoncée est d'environ 9,5 tokens par seconde. C'est important pour l'IA embarquée sans cloud.

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.

Nous avons précédemment analysé comment les démonstrations d'IA sur Raspberry Pi restent souvent des mythes par manque d'architecture bien pensée. Ce cas avec un microcontrôleur à environ 8 $ montre qu'avec la bonne approche, même avec un matériel minimal, on peut obtenir des résultats réels.