SuperMerger vs Chattiori: fusione modelos Stable Diffusion
Compara SuperMerger y Chattiori para fusiones de Stable Diffusion. Fusión ponderada por bloques, diferencia añadida y evaluación por similitud de coseno.
On this page
- TL;DR
- ¿Qué hace realmente la fusión de modelos de Stable Diffusion?
- ¿Qué métodos de fusión soporta SuperMerger?
- ¿Qué características ofrece Chattiori Model Merger?
- ¿Cómo lees y reproduces una receta de fusión comunitaria?
- ¿Cómo evalúas si una fusión realmente mejoró algo?
- Errores comunes y soluciones
- FAQ
- Fuentes
SuperMerger vs Chattiori: fusione modelos Stable Diffusion
Merging Stable Diffusion checkpoints is one of the most practical ways to build a model without training from scratch. You combine the weights of existing models to preserve the features you want. The two tools most commonly used for this are SuperMerger, a WebUI extension, and Chattiori Model Merger, a command-line script. For a general overview of merge strategies and block-level control, see the model merging guide.
TL;DR
- Usa SuperMerger cuando quieras experimentar dentro de la WebUI de AUTOMATIC1111, ajustar ratios visualmente e iterar sin guardar checkpoints intermedios.
- Usa Chattiori Model Merger cuando necesites fusiones con prioridad a CPU, flujos de tres modelos o pipelines de CLI reproducibles.
- Evalúa con similitud de coseno o pruebas subjetivas, no con tamaño de archivo ni tiempo de fusión; estas métricas reflejan cuánta estructura preservó la salida.
¿Qué hace realmente la fusión de modelos de Stable Diffusion?
Un checkpoint de Stable Diffusion es una colección de tensores que representan el U-Net, el codificador de texto y, a veces, el VAE. La fusión reemplaza esos tensores con combinaciones ponderadas de tensores de otros checkpoints. La forma más simple es una interpolación lineal: (1 - alpha) * modelA + alpha * modelB. Métodos más avanzados añaden la diferencia entre dos modelos, suman tres checkpoints a la vez o intercambian tensores según su similitud direccional en lugar de su magnitud bruta.
El objetivo no es promediar estilos a ciegas. Es transferir conceptos—anatomía, arte lineal, detalle de ropa—de un modelo a la estructura de otro. Una fusión incorrecta puede difuminar rostros o desvanecer colores; la correcta puede darte un modelo que responde a los prompts mejor que cualquier padre individual.
¿Qué métodos de fusión soporta SuperMerger?
SuperMerger es una extensión para la WebUI de AUTOMATIC1111. Su README describe la herramienta como algo que permite "cargar modelos fusionados como modelos para generación de imágenes sin guardarlos", lo que evita E/S de disco repetido durante la experimentación.
La extensión expone varios modos de fusión directamente en la UI:
Mode | Fórmula | Notas
|------|---------|-------
Suma ponderada | (1 - alpha) * A + alpha * B | Interpolación lineal estándar Diferencia añadida | A + alpha * (B - C) | Inyecta el delta entre B y C en A Suma triple | (1 - alpha - beta) * A + alpha * B + beta * C | Mezcla de tres modelos Suma dos veces | (1 - beta) * ((1 - alpha) * A + alpha * B) + beta * C | Mezcla en dos etapas
Más allá de estos, SuperMerger ofrece métodos de cálculo que cambian cómo se realiza la matemática. La documentación enumera cosineA y cosineB como modos que "calculan para minimizar la pérdida durante la fusión, usando ModelA como referencia" o ModelB como referencia, respectivamente. Estos son útiles cuando dos checkpoints comparten la mayor parte de su estructura y quieres preservar la arquitectura general de un modelo mientras tomas detalles del otro.
La extensión también soporta fusión ponderada por bloques. Su README explica que "cada bloque puede corresponder a la representación del fondo, personajes, estilo artístico, etc.", así que puedes asignar pesos diferentes a bloques individuales del U-Net en lugar de fusionar el checkpoint completo de forma uniforme. La fusión elemental va más allá, permitiéndote dirigirte a tensores específicos dentro de los bloques, aunque la documentación advierte que esto es mejor para ajustes finos más que para experimentación amplia.
¿Qué características ofrece Chattiori Model Merger?
Chattiori Model Merger es un script de Python diseñado para ejecutarse en CPU por defecto, lo que lo hace práctico para Colab o máquinas con VRAM limitada. Su README enumera modos para suma ponderada, sigmoide, media geométrica, máximo, diferencia añadida, suave diferencia añadida, multiplicar diferencia, similitud diferencia añadida, entrenar diferencia, suma triple, suma de tensores, suma dos veces, sin interpolación, leer metadatos, DARE y otros.
La herramienta acepta cadenas de pesos por bloque y sintaxis elemental a través del mismo argumento --alpha, así que puedes migrar recetas de SuperMerger sin reescribirlas. También hornea VAEs en el checkpoint de salida, poda tensores no utilizados y guarda en formatos .safetensors o .ckpt con metadatos ricos.
Una característica distintiva de Chattiori son sus modos de estructura por coseno: --cosine0, --cosine1 y --cosine2. El README afirma que --cosine0 hace que "Modelo 0 defina la estructura" mientras inyecta detalles del Modelo 1, y --cosine2 hace que Modelo 2 sea la base estructural mientras combina detalles de ambos modelos anteriores. Esto es útil cuando quieres conservar la comprensión de prompts de un modelo pero adoptar el estilo de renderizado de otro.
¿Cómo lees y reproduces una receta de fusión comunitaria?
Las recetas comunitarias generalmente se comparten como pasos numerados con pesos a nivel de bloque en lugar de un solo valor alpha. La receta Blessing Mix (civitai.com/articles/645) intenta reconstruir BracingEvoMix usando modelos fuente disponibles públicamente, organizada en fusiones de output_blocks, input_blocks y un codificador base, cada una con su propio programa de alpha.
Para reproducir dicha receta, necesitas una herramienta que soporte notación por bloque. Tanto SuperMerger como Chattiori aceptan pesos por bloque, así que la misma receta puede ejecutarse en cualquiera de los dos entornos. El proceso suele ser así:
- Identificar si cada paso usa diferencia añadida, suma ponderada o otro modo.
- Mapear los IDs de bloque—
IN00aIN11,M00,OUT00aOUT11, yBASE—al formato esperado por la herramienta. - Ejecutar los pasos secuencialmente, guardando checkpoints intermedios si la herramienta no los mantiene en memoria.
- Comparar la salida final contra el modelo objetivo usando similitud de coseno o inspección visual.
La receta Blessing Mix reporta similitudes de coseno a nivel de bloque contra BracingEvoMix, con bloques de salida alcanzando 98.5 % de similitud y bloques de entrada alcanzando 98.6 % de similitud. Estas son métricas reportadas por la comunidad, no referencias independientes.
¿Cómo evalúas si una fusión realmente mejoró algo?
La similitud de coseno es la comprobación cuantitativa más común. La calculadora wkpark/sd-cosine-similarity, bifurcada del ASimilarityCalculatior de JosephusCheung, soporta output_blocks, input_blocks y middle_block, que coincide con el flujo de trabajo a nivel de bloque usado por ambas herramientas de fusión. Una alta similitud con un modelo objetivo sugiere que la fusión preservó detalles estructurales, pero no garantiza mejor respuesta a prompts ni menos artefactos.
La evaluación subjetiva sigue siendo esencial. Una fusión puede puntuarse bien en similitud de coseno y aún producir manos borrosas o fondos desvanecidos. La documentación de BracingEvoMix califica su propia versión v2 en dimensiones como reacción a prompts, fotorrealismo, precisión en dibujo de dedos y estabilidad de poses, con puntuaciones autoasignadas que van de 40 a 95 sobre 100. Ese tipo de lista de verificación multidimensional es más útil que un solo porcentaje de similitud.
Al comparar dos fusiones, prueba el mismo conjunto de prompts en ambas y busca regresiones en bloques específicos. La función de bloque de anclaje de SuperMerger y las cadenas de alpha por bloque de Chattiori permiten volver a ejecutar solo las capas problemáticas en lugar de reconstruir todo el modelo desde cero.
Errores comunes y soluciones
Symptom | Causa probable | Corrección
|---------|--------------|-----
Merge outputs look washed out | Alpha demasiado alto para un padre de estilo diferente | Reducir alpha o cambiar a modo coseno para preservar la estructura base Faces degenerate but backgrounds stay sharp | Pesos de bloques de entrada demasiado agresivos | Reducir pesos en IN07, OUT03, OUT04 y OUT05, que la documentación elemental marca como capas de alta influencia File will not load in WebUI | IDs de VAE o CLIP no coinciden | Usar la opción hornear VAE y restablecer IDs de CLIP antes de guardar Merge takes excessive VRAM | Fusión en GPU con archivos .ckpt grandes | Cambiar a modo CPU o convertir las fuentes a .safetensors primero Cosine similarity is misleadingly high | Solo se mide un subconjunto de bloques | Comparar checkpoints completos o añadir los bloques omitidos al cálculo de similitud
FAQ
¿Cuál es la diferencia entre diferencia añadida y suma ponderada? La suma ponderada combina dos modelos linealmente. La diferencia añadida inyecta la diferencia aprendida entre un tercer modelo y una base en tu modelo principal, lo que es similar a instalar un ajuste tipo LoRA de forma permanente.
¿La fusión ponderada por bloques realmente importa? Sí. La documentación de OrangeMixs muestra recetas publicadas que dependen del control a nivel de bloque, y el README de SuperMerger señala que los bloques corresponden a elementos semánticos como fondo, personajes y estilo artístico.
¿Puedo fusionar modelos SDXL con estas herramientas? SuperMerger soporta XL con pesos de bloque de 25 longitudes, y Chattiori detecta automáticamente la arquitectura. Ambas herramientas advierten que las fusiones XL requieren mucha memoria del sistema.
¿Qué me dice la similitud de coseno sobre una fusión? Mide el alineamiento direccional entre tensores. Una puntuación alta significa que el modelo fusionado mantuvo la dirección estructural del objetivo, pero no mide calidad estética ni adhesión a prompts.
¿Es Chattiori Model Merger mejor que SuperMerger? No universalmente. SuperMerger es más rápido para experimentación interactiva en WebUI; Chattiori es mejor para servidores sin cabeza, Colab y scripts que necesitan salidas deterministas.
¿Cómo evito romper una fusión con ediciones elementales? Empieza con pesos de bloque. La documentación elemental recomienda ajustes a nivel de elemento solo como ajuste final cuando la fusión ponderada por bloques no puede resolver un problema específico.
¿Puedo fusionar más de tres modelos a la vez? SuperMerger soporta suma triple y suma dos veces como modos directos. Para conjuntos más grandes, encadena fusiones secuencialmente o usa una herramienta como ModelMergeTool para promedios ponderados simples.
¿Cuál es el modo de fusión más seguro para principiantes? Suma ponderada con un solo valor alpha. Es determinista, fácil de revertir y menos propensa a producir interacciones de tensores inesperadas que diferencia añadida o entrenar diferencia.