Exemples de Fusion de Modèles (Model Merging Examples)
L’idée derrière ces flux de travail est que vous pouvez réaliser des flux de travail complexes avec plusieurs fusions de modèles, les tester puis sauvegarder le checkpoint en activant le nœud CheckpointSave une fois que vous êtes satisfait des résultats. Par défaut, le nœud CheckpointSave enregistre les checkpoints dans le dossier output/checkpoints/.
Vous pouvez trouver ces nœuds dans : advanced -> model_merging
Ce premier exemple est un exemple basique d’une fusion simple entre deux checkpoints différents.
Vous pouvez charger ces images dans ComfyUI pour obtenir le flux de travail complet.
Dans ComfyUI, les checkpoints sauvegardés contiennent le flux de travail complet utilisé pour les générer, ils peuvent donc être chargés dans l’interface utilisateur tout comme les images pour obtenir le flux de travail complet qui a été utilisé pour les créer.
Cet exemple illustre la fusion de 3 checkpoints différents en utilisant une fusion de blocs simple où les blocs d’entrée, intermédiaire et de sortie du unet peuvent avoir un ratio différent :
Étant donné que les Loras sont un correctif sur les poids du modèle, ils peuvent également être fusionnés dans le modèle :
Vous pouvez également soustraire les poids des modèles et les ajouter comme dans cet exemple utilisé pour créer un modèle d’inpainting à partir d’un modèle non inpainting avec la formule : (inpaint_model - base_model) * 1.0 + other_model
Si vous êtes familier avec l’option “Add Difference” dans d’autres interfaces utilisateur, voici comment le faire dans ComfyUI.
Une chose importante à noter est que les modèles sont fusionnés et sauvegardés avec la précision utilisée pour l’inférence sur votre matériel, donc généralement ce sera en float 16 bits. Si vous souhaitez effectuer des fusions en float 32 bits, lancez ComfyUI avec : —force-fp32
Fusion Avancée (Advanced Merging)
CosXL
Voici un exemple de création d’un modèle CosXL à partir d’un modèle SDXL régulier par fusion. Les prérequis sont le modèle de base CosXL, le modèle de base SDXL et le modèle SDXL que vous souhaitez convertir. Dans cet exemple, j’ai utilisé albedobase-xl.