Les diffuseurs Hugging Face peuvent maintenant charger correctement LoRA

Les diffuseurs Hugging Face chargent LoRA correctement.

Utilisation de la fonction de patching Monkey-Patching la plus récente de Diffusers pour charger LoRA produit exactement le même résultat comparé à A1111

Téléchargez le code le plus récent du référentiel de code Diffusers de Hugging Face et découvrez que le code le plus récent mis à jour concernant le chargement de LoRA est mis à jour et peut maintenant effectuer le chargement de LoRA en Monkey-Patching.

Pour installer la dernière version de Diffusers :

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

La fonction de chargement de LoRA générait des résultats légèrement défectueux hier, selon mes tests. Cet article explique comment utiliser le dernier chargeur LoRA du package Diffusers.

Charger LoRA et mettre à jour le poids du modèle Stable Diffusion

Cela fait un moment que les programmeurs utilisant Diffusers ne peuvent pas charger LoRA facilement. Pour charger LoRA dans un modèle de point de contrôle et obtenir le même résultat que le Webui Stable Diffusion de A1111, nous devons utiliser du code personnalisé supplémentaire pour charger les poids, comme je l’ai fourni dans cet article.

Améliorer le package Diffusers pour une génération d’images de haute qualité

Surmonter les limitations de taille de jeton, le chargement de modèle personnalisé, le support de LoRa, le support d’inversion textuelle et plus encore

towardsdatascience.com

La solution proposée dans cet article fonctionne bien et rapidement, mais nécessite une gestion supplémentaire sur le poids alpha de LoRA. Nous devons créer une variable pour se souvenir du poids alpha actuel de LoRA. Car le code de chargement de LoRA ajoute simplement la matrice A et la matrice B de LoRA ensemble.

Ensuite, fusionnez avec le poids principal du modèle de point de contrôle W.

Pour supprimer les poids de LoRA, nous aurons besoin d’un négatif -α pour les supprimer, ou recréer le pipeline.

La façon de chargement de LoRA par Monkey-Patching

Une autre façon d’utiliser LoRA consiste à patcher le code qui exécute le processus de propagation du module et à apporter les poids de LoRA lors du calcul de l’incorporation de texte et du score d’attention.

Et c’est ainsi que la classe LoraLoaderMixin de Diffusers aborde le chargement de LoRA. L’avantage de cette approche est qu’aucun poids du modèle n’est mis à jour, nous pouvons facilement réinitialiser LoRA et fournir un nouveau α pour définir le poids de LoRA.

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

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AI

Les chercheurs explorent les meilleures pratiques pour parler aux enfants de la confidentialité en ligne

Les chercheurs du NIST suggèrent de bonnes stratégies pour parler aux enfants de la vie privée et de la sécurité en l...

AI

Un guide du débutant sur LLMOps pour l'ingénierie de l'apprentissage automatique

Introduction La sortie du ChatGPT d’OpenAI a suscité beaucoup d’intérêt pour les grands modèles linguisti...

AI

Apprentissage auto-supervisé et Transformers ? - Explication du document DINO

Certaines personnes adorent l'architecture Transformer et l'accueillent dans le domaine de la vision par ordinateur. ...

AI

IA générative dans le domaine de la santé

Introduction L’intelligence artificielle générative a connu un regain d’intérêt ces dernières années. Il ...

AI

Exploration de l'intelligence artificielle générative multimodale avancée

Introduction Dans le monde en constante évolution de la technologie d’aujourd’hui, il y a un développemen...

AI

L'état de la diffusion de données pour la vente au détail en 2023

L'état de la diffusion en continu des données dans le commerce de détail, y compris le commerce omnicanal, les achats...