Quizás recuerdes a principios de este verano cuando informamos sobre Vito Platamura, el cerebro que logró ejecutar Stable Diffusion 1.5 en un Frambuesa Pi Cero 2W. Hoy estamos emocionados de compartir una actualización del proyecto. Plantamura amplió el proyecto para admitir Stable Diffusion XL 1.0 y lo ejecutó con éxito en una Raspberry Pi Zero 2 W usando 298 MB de RAM.
Si no está familiarizado con Stable Diffusion, esta es una aplicación diseñada para crear imágenes usando IA basada en indicaciones de palabras ingresadas por el usuario. Plantamura anteriormente pudo obtener el original. Difusión estable 1.5 para ejecutarse en una Raspberry Pi Zero 2 W con menos de 260 MB de RAM. La aplicación que desarrolló y que hace todo esto posible se denomina OnnxStream.
Según Plantamura, fue más difícil ejecutar Stable Diffusion XL 1.0 ya que presenta un modelo de transformador que tiene casi mil millones de parámetros. La Raspberry Pi Zero 2 W tiene 512 MB de RAM, aunque se recomienda tener al menos 8 GB para ejecutar Stable Diffusion. No hace falta decir que Plantamura tenía mucho trabajo por delante.
El proceso de adaptación fue similar al desarrollado para Stable Diffusion 1.5, pero hay algunas diferencias clave que lo distinguen. Por ejemplo, Stable Diffusion XL 1.0 utiliza lo que se conoce como decodificación de mosaicos. Este proceso es parte de lo que permite reducir el consumo de RAM de 4,4 GB a solo 298 MB.
Las imágenes se procesan en fragmentos que, en última instancia, crean un efecto de mosaico con bordes visibles entre cada una de las secciones. Esto se soluciona habilitando un efecto de desenfoque. Puede ver en las imágenes de arriba los ejemplos de antes y después de cómo se ve esto. Como mencionamos antes, este proyecto no es práctico de ninguna manera ya que lleva mucho más tiempo utilizar la aplicación. Sin embargo, es una excelente prueba de concepto y estamos más que felices de arrojar luz sobre el arduo trabajo que se realizó.
Si quieres ver esto más de cerca proyecto frambuesa piconsulte el material fuente en GitHub. Asegúrese de seguir a Plantamura para conocer más proyectos y futuras actualizaciones sobre este.