Qu’est qu’un LoRA ? Et comment les utiliser avec Stable Diffusion ?

Les modèles de grande envergure nécessitent habituellement des ressources de calcul importantes et un volume de données conséquent pour être ajustés à des tâches spécifiques.
On ne peut donc pas raisonnablement ré-entrainer un modèle entier juste pour ajouter un style, un personnage ou un univers.

Les Low-Rank Adaptations (LoRA) ont été développées pour répondre au besoin de fine-tuning efficace des modèles de génération d’images massifs, comme Stable Diffusion. LoRA contourne ce problème en introduisant des « adapteurs de bas-rang » qui modifient uniquement certaines parties des matrices de poids du modèle, réduisant ainsi considérablement la charge de calcul et la mémoire nécessaires pour l’entraînement.

Cette technique permet de conserver le modèle principal inchangé et d’ajuster des paramètres supplémentaires, qui se superposent pour spécialiser le modèle sans nécessiter une reformation complète. Pour utiliser LoRA avec Stable Diffusion, on peut charger un modèle pré-entrainé et y appliquer les adapteurs LoRA pré-configurés pour générer des images adaptées à des styles, sujets ou détails spécifiques sans avoir à réentraînner entièrement le modèle, offrant ainsi une solution efficace pour la personnalisation de génération d’images.

Autrement dit, on peut dire qu’un LoRA est comme un « plugin », un « Add-on », une « extension », qu’on insère dans le prompt pour utiliser un effet.

Comment cela fonctionne ?

Dans le prompt original, on ajoute <Nom_Du_Lora:Force> MotClef-Activation

Nom du LoRA : le nom du LoRA que vous avez téléchargé

Forcedu LoRA : de 0 à 2 . 1 par défaut, souvent on obtient de meilleurs résultats avec une valeur de 0.75/0.85

MotClef (trigger word) : les mots associés au LoRA et qui activent l’effet.

 

Reprenons l’exemple de prompt :  » An Alpine woman in the 1920s. Alpine mountains in background. » (La Savoie et la Haute-Savoie à toujours l’honneur donc 😉 )

Nous utiliserons un modèle FLUX.

Voici un rendu, sans utilisation de LoRA :

 

Exemple avec un LoRA spécialisé dans les films muets des années 1920

Le prompt : « An Alpine woman in the 1920s. Alpine mountains in background. <lora:20s_Silent_Movie:1> ArsMovieStill, 20s Silent Movie Still »

 

Exemple avec un LoRA spécialisé dans les films des années 1930

Le prompt :  » An Alpine woman in the 1920s. Alpine mountains in background. <lora:30s_Technicolor_Movie:0.85> ArsMovieStill, movie still from a 1930s technicolor movie »

 

 

Exemple avec un LoRA spécialisé dans les films noirs des années 1950

Le prompt :  » An Alpine woman in the 1920s. Alpine mountains in background. <lora:50s_Noir_Movie:1> ArsMovieStill, Noir Movie Still »

 

Exemple avec un LoRA spécialisé dans les films psychédéliques des années 1960

Le prompt :  » An Alpine woman in the 1920s. Alpine mountains in background. <lora:60s_Psychedelic_Movie:1> ArsMovieStill, movie still from a 60s psychedelic movie »

 

Exemple avec un LoRA spécialisé dans les films d’horreur des années 1970

Le prompt :  » An Alpine woman in the 1920s. Alpine mountains in background. <lora:70s_Horror_Movie:1> ArsMovieStill, movie still from a 1970s horror movie »

 

Exemple avec un LoRA spécialisé dans les films fantastiques des années 1980

Le prompt :  » An Alpine woman in the 1920s. Alpine mountains in background. <lora:80sFantasyMovie2:1> ArsMovieStill, 80s Fantasy Movie Still »

 

Que retenir de ces exemples ?

Que ce n’est pas aussi simple que ça ! Assez rapidement vous aurez des effets de « bleeding » , c’est-à-dire que le style ajouté déborde sur des aspects où vous ne le vouliez pas. Dans nos exemples, la tenue de la jeune femme, suivant les années, ne respecte pas le prompt orginal des 1920 .

Composer une image IA est beaucoup plus difficile qu’on le pense, cela demande, avant tout, d’avoir une idée précise de ce que l’on veut représenter…

 

Références : Les LoRA utilisés viennent de  https://civitai.com/user/ArsMachina