Las Difusores de Hugging Face ahora pueden cargar correctamente LoRA

Las Difusores de Hugging Face pueden cargar LoRA correctamente.

<h2 id="usando-la-función de parcheo de Monkey Patching más reciente de Diffusers para cargar LoRA produce exactamente el mismo resultado en comparación con A1111

Extrae el código más reciente del repositorio de código de Diffusers de Hugging Face y descubre que el código más nuevo actualizado relacionado con la carga de LoRA se ha actualizado y ahora se puede hacer Monkey-Patching LoRA loading.

Para instalar lo último de Diffusers:

pip install -U git+https://github.com/huggingface/diffusers.git@main

La función de carga de LoRA generaba resultados ligeramente defectuosos ayer, según mis pruebas. Este artículo analiza cómo utilizar el último cargador de LoRA del paquete Diffusers.

Cargar LoRA y actualizar el peso del modelo de difusión estable

Hace tiempo que los programadores que utilizan Diffusers no pueden cargar fácilmente LoRA. Para cargar LoRA en un modelo de punto de control y obtener el mismo resultado que la interfaz web de Difusión Estable de A1111, necesitamos utilizar código personalizado adicional para cargar los pesos como se indica en este artículo.

Mejorar el paquete Diffusers para la generación de imágenes de alta calidad

Superar las limitaciones del tamaño de token, carga de modelo personalizada, soporte de LoRa, soporte de inversión textual y más

towardsdatascience.com

La solución proporcionada en este artículo funciona bien y rápido, aunque requiere una gestión adicional en el peso alfa de LoRA, necesitamos crear una variable para recordar el peso alfa actual de LoRA. Debido a que el código de carga de LoRA simplemente agrega la matriz A y la matriz B de LoRA juntas.

Luego se fusionan con el peso principal del modelo de punto de control W.

Para eliminar los pesos de LoRA, necesitaremos un -α negativo para eliminar los pesos de LoRA o recrear el pipeline.

La forma de parcheo de Monkey-Patching para cargar LoRA

Otra forma de usar LoRA es parchear el código que ejecuta el proceso de avance del módulo y llevar los pesos de LoRA durante el cálculo de la incrustación de texto y la puntuación de atención.

Y así es como la aproximación de Diffusers LoraLoaderMixin para cargar LoRA. La buena parte de este enfoque es que no se actualiza el peso del modelo, podemos restablecer fácilmente LoRA y proporcionar un nuevo α para definir el peso de LoRA.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Investigadores de UCLA y CMU presentan Stormer Una red neuronal Transformadora escalable para una pronóstico meteorológico de mediano alcance hábil y confiable.

Uno de los principales problemas que enfrenta la ciencia y la sociedad hoy en día es la predicción del tiempo. La pre...

Inteligencia Artificial

Herramientas principales de detección de contenido de Inteligencia Artificial (IA)

La Inteligencia Artificial (IA) y las técnicas de Procesamiento del Lenguaje Natural (NLP) se utilizan en el proceso ...

Inteligencia Artificial

Cómo este investigador ganador del Premio Turing se convirtió en un legendario asesor académico

El científico teórico de la computación Manuel Blum ha guiado a generaciones de estudiantes de posgrado hacia carrera...

Inteligencia Artificial

Investigadores de Microsoft presentan Hydra-RLHF Una solución eficiente en memoria para el aprendizaje por refuerzo con retroalimentación humana

Desde que se hicieron conocidos, los modelos familiares ChatGPT, GPT-4 y Llama-2 han conquistado a los usuarios con s...

Inteligencia Artificial

AI2 presenta Dolma un corpus de 3 billones de tokens que pionera la transparencia en la investigación de modelos de lenguaje

La transparencia y apertura en la investigación de modelos de lenguaje han sido temas controvertidos desde hace mucho...