Zubnet AIAprenderWiki › Fusión de modelos
Entrenamiento

Fusión de modelos

También conocido como: Model Merging, TIES, DARE, SLERP, Frankenmerge
Combinar los pesos de múltiples modelos ajustados en un solo modelo sin entrenamiento adicional. Si el modelo A es excelente en programación y el modelo B es excelente en escritura creativa, fusionarlos puede producir un modelo que es bueno en ambos. Los métodos populares de fusión incluyen SLERP (interpolación esférica), TIES (resolver conflictos de signo) y DARE (descartar parámetros aleatoriamente antes de fusionar).

Por qué importa

La fusión de modelos es el arma secreta de la comunidad open source. No cuesta nada de cómputo (solo matemáticas sobre tensores de pesos) y puede producir modelos que superan a sus componentes. Muchos de los mejores modelos en el Open LLM Leaderboard son fusiones. También es cómo los practicantes combinan múltiples fine-tunes de LoRA en un solo modelo versátil. Entender la fusión desbloquea una capacidad potente y gratuita para cualquiera que trabaje con modelos abiertos.

En profundidad

La fusión más simple: interpolación lineal. Nuevo_peso = α · peso_A + (1−α) · peso_B, donde α controla el balance. Esto funciona sorprendentemente bien cuando los modelos comparten el mismo modelo base (por ejemplo, dos fine-tunes diferentes de Llama). El modelo fusionado interpola entre los comportamientos de ambas fuentes. SLERP (Spherical Linear Interpolation) interpola a lo largo de la superficie de la hiperesfera en lugar de linealmente, a menudo produciendo resultados ligeramente mejores.

Aritmética de tareas

Un enfoque más fundamentado: calcular "vectores de tarea" (la diferencia entre un modelo ajustado y el modelo base), luego agregar los vectores de tarea al modelo base. Esto permite componer capacidades: base + vector_código + vector_escritura = un modelo con ambas habilidades. TIES mejora esto resolviendo conflictos de signo entre vectores de tarea (cuando dos tareas quieren mover el mismo peso en direcciones opuestas). DARE lo mejora descartando aleatoriamente la mayoría de las entradas del vector de tarea, reduciendo la interferencia.

Por qué funciona (y cuándo no)

La fusión funciona porque el fine-tuning típicamente modifica un pequeño subconjunto del comportamiento del modelo mientras preserva la mayoría de sus capacidades generales. Las modificaciones de diferentes fine-tunes a menudo ocupan diferentes "regiones" del espacio de parámetros con conflicto mínimo. Falla cuando los fine-tunes entran en conflicto directo (dos modelos entrenados para comportarse de manera opuesta), cuando los modelos base son demasiado diferentes (no puedes fusionar un Llama con un Mistral), o cuando las modificaciones de un componente son tan grandes que dominan la fusión.

Conceptos relacionados

← Todos los términos