Swift 🧨Difusores – Difusión rápida y estable para Mac
Swift 🧨Difusores - Difusión rápida y estable para Mac
Transforma tu texto en imágenes impresionantes con facilidad utilizando Diffusers for Mac, una aplicación nativa impulsada por modelos de difusión de última generación. Utiliza un conjunto de modelos de texto a imagen SoTA contribuidos por la comunidad al Hugging Face Hub, y convertidos a Core ML para un rendimiento extremadamente rápido. Nuestra última versión, 1.1, ya está disponible en la Mac App Store con mejoras significativas de rendimiento y ajustes en la interfaz de usuario para facilitar su uso. Es una base sólida para futuras actualizaciones de funciones. Además, la aplicación es completamente de código abierto con una licencia permisiva, ¡así que también puedes construir sobre ella! Visita nuestro repositorio en GitHub en https://github.com/huggingface/swift-coreml-diffusers para obtener más información.
¿Qué es exactamente 🧨Diffusers for Mac?
La aplicación Diffusers (App Store, código fuente) es el equivalente de Mac de nuestra biblioteca 🧨diffusers
. Esta biblioteca está escrita en Python con PyTorch y utiliza un diseño modular para entrenar y ejecutar modelos de difusión. Admite muchos modelos y tareas diferentes, y es altamente configurable y está bien optimizada. También se ejecuta en Mac utilizando el acelerador mps
de PyTorch, que es una alternativa a cuda
en Apple Silicon.
¿Por qué querrías usar una aplicación nativa de Mac entonces? Hay muchas razones:
- Directrices éticas para el desarrollo de la biblioteca Diffusers
- ControlNet en 🧨 Difusores
- Creando Inteligencia Artificial de Preservación de Privacidad con Substra
- Utiliza modelos Core ML en lugar de los modelos originales de PyTorch. Esto es importante porque permiten optimizaciones adicionales relevantes para las especificaciones del hardware de Apple, y porque los modelos Core ML pueden ejecutarse en todos los dispositivos informáticos de tu sistema: la CPU, la GPU y el Motor Neural, al mismo tiempo; el framework Core ML decidirá qué partes del modelo se ejecutarán en cada dispositivo para que sea lo más rápido posible. El dispositivo
mps
de PyTorch no puede utilizar el Motor Neural. - ¡Es una aplicación de Mac! Intentamos seguir el lenguaje de diseño y las pautas de Apple para que se sienta como en casa en tu Mac. No es necesario usar la línea de comandos, crear entornos virtuales o solucionar dependencias.
- Es local y privada. No necesitas créditos para servicios en línea y no experimentarás colas largas: simplemente genera todas las imágenes que desees y úsalas para divertirte o trabajar. La privacidad está garantizada: tus indicaciones e imágenes son tuyas y nunca abandonarán tu computadora (a menos que elijas compartirlas).
- Es de código abierto y utiliza Swift, Swift UI y los últimos lenguajes y tecnologías para el desarrollo de Mac e iOS. Si tienes conocimientos técnicos, puedes usar Xcode para ampliar el código como desees. ¡También agradecemos tus contribuciones!
Referencias de rendimiento
TL;DR: Dependiendo de tu computadora, la generación de texto a imagen puede ser hasta dos veces más rápida en Diffusers 1.1. ⚡️
Hemos realizado muchas pruebas en varias Mac para determinar las mejores combinaciones de dispositivos informáticos que ofrecen un rendimiento óptimo. En algunos equipos es mejor utilizar la GPU, mientras que en otros es mejor utilizar el Motor Neural o ANE.
Ven a ver nuestras referencias de rendimiento. Todas las combinaciones utilizan la CPU además de la GPU o el ANE.
Descubrimos que la cantidad de memoria no parece ser un factor importante en el rendimiento, pero sí lo son el número de núcleos de la CPU y la GPU. Por ejemplo, en una laptop M1 Max, la generación con GPU es mucho más rápida que con ANE. Esto se debe probablemente a que tiene 4 veces más núcleos de GPU (y el doble de núcleos de rendimiento de la CPU) que el procesador M1 estándar, con la misma cantidad de núcleos de motor neural. Por otro lado, los procesadores M1 estándar que se encuentran en las Mac Mini son dos veces más rápidos utilizando ANE que la GPU. Curiosamente, probamos el uso de los aceleradores GPU y ANE juntos y descubrimos que no mejora el rendimiento en comparación con los mejores resultados obtenidos con solo uno de ellos. El punto de corte parece estar alrededor de las características de hardware del chip M1 Pro (8 núcleos de rendimiento, 14 o 16 núcleos de GPU), a las que no tenemos acceso en este momento.
🧨Diffusers versión 1.1 selecciona automáticamente el mejor acelerador según la computadora en la que se ejecuta la aplicación. Algunas configuraciones de dispositivos, como las variantes “Pro”, no se ofrecen en ningún servicio en la nube que conozcamos, por lo que nuestras heurísticas podrían mejorarse para ellos. Si deseas ayudarnos a recopilar datos para seguir mejorando la experiencia de nuestra aplicación, ¡sigue leyendo!
Convocatoria de la comunidad para datos de referencia
Estamos interesados en realizar pruebas de rendimiento más exhaustivas en dispositivos Mac. Si desea ayudar, hemos creado este problema en GitHub donde puede publicar sus resultados. Los utilizaremos para optimizar el rendimiento en una próxima versión de la aplicación. Estamos especialmente interesados en las arquitecturas M1 Pro, M2 Pro y M2 Max 🤗
Otras mejoras en la versión 1.1
Además de la optimización de rendimiento y la corrección de algunos errores, nos hemos centrado en agregar nuevas funcionalidades mientras intentamos mantener la interfaz de usuario lo más simple y limpia posible. La mayoría de ellas son obvias (escala de orientación, desactivar opcionalmente el verificador de seguridad, permitir cancelar las generaciones). Nuestras favoritas son los indicadores de descarga de modelos y un acceso directo para reutilizar la semilla de una generación anterior con el fin de ajustar los parámetros de generación.
La versión 1.1 también incluye información adicional sobre qué hacen los diferentes ajustes de generación. Queremos que 🧨Diffusers para Mac haga que la generación de imágenes sea lo más accesible posible para todos los usuarios de Mac, no solo para los tecnólogos.
Siguientes pasos
Creemos que hay un gran potencial sin explotar para la generación de imágenes en el ecosistema de Apple. En futuras actualizaciones, queremos centrarnos en lo siguiente:
- Acceso fácil a modelos adicionales desde el Hub. Ejecute cualquier modelo Dreambooth o ajustado desde la aplicación, de manera similar a Mac.
- Lanzar una versión para iOS y iPadOS.
Tenemos muchas más ideas que estamos considerando. Si desea sugerir la suya propia, será bienvenido a hacerlo en nuestro repositorio de GitHub.
We will continue to update Zepes; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- Aprendizaje Federado utilizando Hugging Face y Flower
- Acelerando la Inferencia de Difusión Estable en CPUs Intel
- Inferencia rápida en modelos de lenguaje grandes BLOOMZ en el acelerador Habana Gaudi2
- Boletín de Ética y Sociedad #3 Apertura Ética en Hugging Face
- StackLLaMA Una guía práctica para entrenar LLaMA con RLHF
- Acelerando Hugging Face Transformers con AWS Inferentia2
- Ejecutando IF con difusores 🧨 en un Google Colab de nivel gratuito