banner

Noticias

Jun 25, 2023

Ejecución de difusión estable en Raspberry Pi Zero 2 W: una hazaña notable

Stable Diffusion, una popular herramienta de inteligencia artificial generativa, se ha convertido en un catalizador para mostrar las capacidades del aprendizaje automático. Este modelo de texto a imagen de aprendizaje profundo permite a los usuarios generar impresionantes imágenes fotorrealistas basadas únicamente en descripciones textuales. Al incorporar un modelo de difusión latente especializado, Stable Diffusion ha revolucionado la forma en que los sistemas de inteligencia artificial entienden y crean contenido visual, haciéndolo accesible y fácil de usar para un público más amplio.

Lo que es aún más notable es que Stable Diffusion ha contribuido a democratizar las capacidades avanzadas de aprendizaje automático. El modelo ha sido de código abierto bajo una licencia permisiva y puede funcionar en hardware de consumo relativamente modesto. De hecho, incluso una GPU moderadamente equipada con al menos 8 GB de VRAM es suficiente para ejecutar el modelo Stable Diffusion. Las costosas infraestructuras en la nube y los presupuestos de las grandes tecnologías ya no son requisitos previos.

Pero ¿qué pasa con aquellos que no tienen acceso a una GPU reciente? ¿Puede Stable Diffusion seguir generando imágenes con recursos computacionales limitados? Vita Plantamura, una ingeniera, se embarcó en una misión para averiguarlo y los resultados fueron sorprendentes. No se necesita una GPU sofisticada, e incluso una computadora con especificaciones decentes de la época en la que Nickelback dominaba las listas musicales puede ser suficiente.

Plantamura logró ejecutar un modelo de Difusión Estable con mil millones de parámetros en la Raspberry Pi Zero 2 W. La Pi Zero 2 W, equipada con un procesador Arm Cortex-A53 de 1 GHz y 512 MB de SDRAM, puede no parecer adecuada para aplicaciones de aprendizaje profundo . Sin embargo, con un enfoque creativo, resulta que esta computadora de $15 puede hacer el trabajo.

Para lograr esta hazaña, Plantamura desarrolló una herramienta llamada OnnxStream. Normalmente, los motores de inferencia priorizan la velocidad, lo que a menudo conduce a un uso elevado de la memoria. Por el contrario, OnnxStream transmite los pesos de los modelos según sea necesario, en lugar de cargar todo por adelantado. En el caso de Raspberry Pi Zero 2 W, los 512 MB de RAM disponibles superaron los requisitos necesarios, siendo suficientes sólo 260 MB.

Es cierto que este enfoque ralentiza la velocidad de procesamiento. Los modelos que se ejecutan en OnnxStream generalmente tardan entre 0,5 y 2 veces más en comparación con los sistemas con más memoria. Sin embargo, OnnxStream consume aproximadamente 55 veces menos memoria que los sistemas convencionales. Este avance podría desbloquear posibilidades interesantes en tinyML al permitir que los modelos se ejecuten en hardware que antes se consideraba inadecuado para estas tareas.

Si bien ejecutar Stable Diffusion en una Raspberry Pi Zero 2 W puede no ser óptimo cuando hay una computadora portátil más capaz disponible para acceso SSH, no deja de ser un logro impresionante. Además, podría allanar el camino para nuevos casos de uso que involucren potentes aplicaciones de aprendizaje automático en dispositivos con recursos limitados.

Plantamura ha generoso OnnxStream de código abierto, proporcionando los detalles necesarios en GitHub. Cualquier persona interesada puede explorar esta herramienta para aprovechar el potencial de tinyML y crear sus propias aplicaciones impresionantes.

COMPARTIR