El interés por modelos de IA que corran sobre hardware propio viene creciendo, empujado por la privacidad, la posibilidad de personalizarlos y el menor costo. Pocos llegan tan lejos como Tim, que construyó un modelo de difusión para generación de imágenes capaz de correr sobre un microcontrolador RP2350.
Como era de esperar, sus capacidades son limitadas. La resolución es de 128x128 píxeles, solo genera imágenes de rostros humanos y demora cerca de veinte segundos por imagen. Sigue siendo notable para un hardware tan restringido.
El proyecto corre sobre una placa de desarrollo Waveshare con RP2350 y entrega la imagen generada por USB o la muestra en pantalla con ayuda de una placa adaptadora VGA.
¿Cómo se genera la imagen dentro del microcontrolador?
El modelo generativo no crea la imagen de forma directa. Lo que produce es una distribución en un espacio latente, que después el componente decodificador de un autocodificador variacional traduce a una imagen.
El autocodificador se entrenó en dos partes: un codificador que transforma una imagen en una distribución en el espacio latente, y un decodificador que devuelve esa distribución a una imagen. Una vez terminado el entrenamiento, solo se usó el decodificador.
La parte generativa emplea un transformador de difusión de flujo latente. Parte de ruido y predice de forma iterativa los cambios que acercan el resultado a la imagen buscada. También puede recibir una clase de salida, que orienta la dirección del generador hacia un rostro sonriente, por ejemplo.
¿Cómo cabe todo en 4 MB de flash?
Ahí está la parte de ingeniería que sostiene el proyecto. Tim entrenó dos modelos, uno más grande y otro más rápido, y cuantizó los pesos de ambos a enteros de 8 bits. Con esa reducción, los dos modelos junto con el programa de inferencia entran en 4 MB de memoria flash.
Para el tamaño del modelo, los resultados son notablemente buenos. Las caras no se ven del todo naturales, pero son perfectamente reconocibles. Para entender en detalle cómo funcionan los generadores de imágenes por difusión, conviene revisar el artículo sobre Stable Diffusion.
¿Qué tan replicable es en un taller local?
El RP2350 es el microcontrolador de doble núcleo que Raspberry Pi introdujo con la Pico 2, y es de los pocos componentes de esta categoría que se consiguen sin problema en distribuidores chilenos. Eso deja el proyecto al alcance de cualquier taller o club de electrónica que ya trabaje con la familia Pico: no hace falta una tarjeta gráfica ni un acelerador dedicado, solo la placa, el adaptador VGA si se quiere ver el resultado en pantalla, y paciencia para los veinte segundos que toma cada imagen.
La restricción real no es el cómputo sino la memoria. Los 4 MB de flash son el presupuesto completo, y es esa cifra la que obliga a cuantizar a 8 bits y a limitar el dominio del modelo a una sola categoría de imágenes. Cualquiera que quiera adaptar la idea a otro tipo de contenido va a chocar primero con ese techo.




