• 4 min de lectura
Un ESP32 de $10 puede ejecutar un modelo de lenguaje diminuto
Un desarrollador ejecutó el modelo TinyStories de Microsoft, de 28.9 millones de parámetros, en un ESP32-S3 de $10 a 9.88 tokens por segundo, utilizando cuantización y descarga a flash.

Imagen: The Register
Un desarrollador ha ejecutado un modelo de lenguaje de 28.9 millones de parámetros en un microcontrolador ESP32-S3 que cuesta alrededor de $10, logrando 9.88 tokens por segundo de forma local. El proyecto muestra hasta qué punto técnicas de compresión de modelos y gestión de memoria pueden estirar hardware pensado para sensores y dispositivos embebidos —no para IA conversacional.
SlvDev documentó el trabajo en GitHub, y el proyecto se demostró recientemente en el canal de YouTube Better Stack. El objetivo fue TinyStories, un modelo pequeño desarrollado por Microsoft Research. Es casi 10.000 veces más pequeño que el tipo de modelo de vanguardia que suele asociarse con la IA generativa, pero aun así inicialmente sobrepasó la memoria disponible del ESP32-S3.
Cómo TinyStories cabe en un ESP32-S3
El ESP32-S3 tiene 520 KB de SRAM y 8 MB de PSRAM, según The Register. También puede comprarse con hasta 16 MB de almacenamiento flash. Eso está muy lejos de ser suficiente para alojar TinyStories en su precisión original: con pesos de 16 bits, el modelo requiere unos 60 MB de memoria.
SlvDev usó primero la cuantización, reduciendo la precisión numérica de los pesos del modelo de 16 bits a ocho o cuatro bits. La contrapartida es cierta pérdida de exactitud, pero la técnica redujo la huella de los pesos en un 75%: pasó de aproximadamente 60 MB a 14.9 MB.

Recomendado
GLM-5.2 se acerca a la frontera, pero la seguridad se queda rezagada
Eso aún no cabía en la memoria de trabajo del microcontrolador. El desarrollador entonces empleó incrustación por capa (PLE), una técnica tomada de la familia de modelos Gemma de Google, para mover la mayor parte de los pesos a la flash. Unos 25 millones de parámetros, o aproximadamente 12 MB, se descargaron de esta manera.
La PLE evita la peor penalización de rendimiento asociada a leer los pesos del modelo desde un almacenamiento más lento. Los pesos descargados se acceden con relativa poca frecuencia, mientras que el cabezal de salida del modelo, las incrustaciones y la caché KV permanecen en PSRAM. Las activaciones se manejan en los 520 KB de SRAM del ESP32-S3. El resultado es un modelo que necesita unos 2 MB en memoria activa en lugar de 14.9 MB.
Casi 10 tokens por segundo, con limitaciones importantes
La velocidad resultante es llamativa para hardware de esta clase: SlvDev informó 9.88 tokens por segundo, que, según The Register, es más rápido de lo que una persona media puede leer. Pero las capacidades del modelo están fuertemente limitadas por su tamaño y entrenamiento.
TinyStories puede generar historias cortas y razonablemente coherentes bajo demanda. No puede servir como un chatbot general, generar código ni alimentar a un agente. Otro modelo pequeño, Barista, puede responder preguntas a aproximadamente el doble de rendimiento, pero solo sobre espresso.
Eso convierte el proyecto del ESP32 en una prueba de concepto más que en un reemplazo práctico de la inferencia en la nube. El logro no es que un microcontrolador de $10 pueda de repente ejecutar un asistente de uso general útil; es que la colocación cuidadosa de la memoria hace posible, en primer lugar, la generación local.
Las mismas técnicas escalan a modelos locales más grandes
La parte más trascendente de la demostración es el método. La cuantización reduce el tamaño de cada peso, mientras que la PLE mantiene los pesos de acceso poco frecuente en la flash y reserva SRAM y PSRAM más rápidas para los datos que el modelo necesita con más frecuencia. Eso es muy diferente a simplemente cargar un modelo en memoria y evita la fuerte ralentización que puede producirse cuando la inferencia lee continuamente pesos desde el almacenamiento.
El mismo enfoque general puede soportar modelos mucho más grandes en dispositivos con más memoria. Gemma 4-E2B-it de Google, lanzada en abril, utiliza cuantización y descarga PLE para ajustar un modelo visión-lenguaje de 5.1 mil millones de parámetros en algo más de 1 GB con pesos de cuatro bits. Una cuantización y descarga más agresivas pueden reducir esa huella a alrededor de 500 MB.
Ese modelo es capaz de alimentar chatbots locales y orquestar agentes para tareas como gestionar un calendario, aunque la fuente señala que los usuarios deben aceptar alucinaciones ocasionales. El ESP32-S3 puede ejecutar TinyStories a una velocidad de lectura útil, pero su salida sigue estando más cerca de una demostración embebida que de un asistente autónomo.
AI Editor
Ava covers the rapidly evolving world of artificial intelligence, from foundational models and research labs to the real-world economics of intelligence. With a background in computational linguistics, she cuts through the hype to find out what actually works. She firmly believes that benchmarks are just marketing until reproduced in the wild.
vía The Register


