Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Model Merging

La fusión de modelos combina en un solo modelo los pesos de modelos ajustados a partir de una misma base, sin coste adicional de inferencia. Descubre el promedio y la aritmética de tareas.

La fusión de modelos combina los pesos de dos o más modelos entrenados en un único modelo, normalmente promediando o sumando sus parámetros, de modo que el resultado conserva capacidades de cada uno sin ejecutar varias redes ni volver a entrenar con todos sus datos. Funciona cuando los modelos comparten arquitectura y, con la mayoría de métodos, un punto de partida preentrenado común: el ajuste fino desplaza cada copia solo una distancia corta en el espacio de pesos, por lo que los pesos del modelo siguen alineados parámetro a parámetro. La fusión se utiliza ampliamente para crear modelos de lenguaje grandes (LLM) abiertos y combinar adaptadores LoRA o puntos de control de Stable Diffusion; el ajuste posterior al entrenamiento de Llama 3 de Meta promedió modelos obtenidos con datos o hiperparámetros distintos en cada etapa.

Cómo funciona la fusión de modelos#

Los métodos de fusión se diferencian por lo que combinan y por cómo resuelven los conflictos entre modelos:

  • Sopas de modelos: promedia los pesos de modelos ajustados a partir de la misma base con distintos hiperparámetros. Una sopa voraz de modelos ViT-G ajustados alcanzó una precisión top-1 del 90,94 % en ImageNet, un resultado de vanguardia en aquel momento.
  • Promediado estocástico de pesos: promedia los puntos de control guardados en distintos momentos de una ejecución de entrenamiento, lo que suele hacer que el modelo se estabilice en una región más amplia y plana de la superficie de pérdida.
  • Aritmética de tareas: resta los pesos base de cada modelo ajustado para obtener un vector de tarea y, después, suma vectores de tarea escalados a la base para combinar habilidades, o resta uno para eliminar un comportamiento.
  • TIES-Merging: reduce la interferencia entre vectores de tarea en tres pasos: restablece los parámetros que apenas cambiaron durante el ajuste fino, elige un signo para cada parámetro y fusiona solo los valores que coinciden con ese signo.
  • DARE: descarta aleatoriamente la mayoría de los valores de cada vector de tarea y reescala el resto antes de fusionarlos, lo que elimina cambios redundantes y conserva la capacidad de cada tarea.

El promediado a lo largo de una ejecución de entrenamiento también forma parte del entrenamiento habitual. El entrenamiento de Ultralytics YOLO26 mantiene una media móvil exponencial (EMA) de los pesos del modelo junto con los pesos que se están optimizando, con una tasa de decaimiento que aumenta hasta 0.9999 a medida que avanza el entrenamiento; los puntos de control last.pt y best.pt que guarda contienen este modelo promediado.

Los métodos de vector de tarea comparten una misma estructura: cada modelo ajustado se expresa como la diferencia con respecto al modelo base, las diferencias se depuran y combinan, y el resultado se vuelve a sumar al modelo base:

Herramientas de código abierto como mergekit implementan estas recetas para LLM, junto con la interpolación esférica (SLERP) entre dos modelos.

Por qué importa compartir un punto de partida#

Las unidades ocultas de una red neuronal se pueden reordenar sin cambiar los cálculos de la red, por lo que dos redes entrenadas con inicializaciones aleatorias distintas rara vez almacenan la misma característica en la misma posición, y promediarlas mezcla pesos que no guardan relación. Los modelos ajustados a partir de una misma base conservan la disposición de esta y permanecen en la misma región de baja pérdida, por lo que su promedio sigue funcionando. Este ejemplo entrena un clasificador pequeño de PyTorch con dígitos manuscritos, ajusta dos copias con mitades distintas de los datos de entrenamiento restantes y compara su fusión con la de dos modelos entrenados desde inicializaciones distintas:

import copy

import torch
from sklearn.datasets import load_digits
from torch import nn

torch.manual_seed(0)
X, y = load_digits(return_X_y=True)
order = torch.randperm(len(X))
X, y = torch.tensor(X / 16, dtype=torch.float32)[order], torch.tensor(y)[order]


def mlp():
    """Return a small classifier for 8x8 digit images."""
    return nn.Sequential(nn.Linear(64, 64), nn.ReLU(), nn.Linear(64, 64), nn.ReLU(), nn.Linear(64, 10))


def train(model, rows, steps):
    """Train a model with SGD on the given rows and return it."""
    optimizer = torch.optim.SGD(model.parameters(), lr=0.1, momentum=0.9)
    for _ in range(steps):
        optimizer.zero_grad()
        nn.functional.cross_entropy(model(X[rows]), y[rows]).backward()
        optimizer.step()
    return model


base = train(mlp(), slice(0, 300), 400)  # shared pretrained starting point
halves = (slice(300, 900), slice(900, 1500))  # two different fine-tuning datasets
for name, (a, b) in [
    ("fine-tuned from one base", [train(copy.deepcopy(base), rows, 100) for rows in halves]),
    ("trained from separate inits", [train(mlp(), rows, 400) for rows in halves]),
]:
    # Merge: average every weight tensor of the two models
    merged = copy.deepcopy(a)
    merged.load_state_dict({k: (a.state_dict()[k] + b.state_dict()[k]) / 2 for k in a.state_dict()})
    accuracy = [(m(X[1500:]).argmax(1) == y[1500:]).float().mean().item() for m in (a, b, merged)]
    print(f"{name}: {accuracy[0]:.3f} and {accuracy[1]:.3f}, merged {accuracy[2]:.3f}")

Con los 297 dígitos reservados, los dos modelos ajustados a partir de una misma base obtienen 0.956 y 0.946, y su promedio alcanza 0.970, por encima de ambos, porque combina lo que cada uno aprendió de su mitad de los datos. Los dos modelos entrenados desde inicializaciones distintas obtienen 0.946 y 0.956, y su promedio baja a 0.808. Git Re-Basin fusiona modelos entrenados de forma independiente permutando primero las unidades ocultas de uno de ellos para que coincidan con las del otro.

  • Ensamblado de modelos: conserva todos los modelos y combina sus salidas, por lo que el uso de memoria y la latencia de inferencia aumentan con el número de modelos. Un modelo fusionado tiene el tamaño y la velocidad de un único modelo.
  • Destilación de conocimiento: entrena un nuevo modelo estudiante para que imite a uno o varios modelos profesores, lo que requiere datos de entrenamiento y capacidad de cálculo. La fusión es una operación aritmética directa sobre pesos existentes.
  • Entrenamiento multitarea: entrena un modelo con los datos de todas las tareas a la vez y suele establecer la precisión que la fusión intenta alcanzar sin acceso a esos datos.
  • Aprendizaje federado: promedia en cada ronda los pesos de modelos entrenados en dispositivos distintos. Cada ronda inicia todos los clientes desde el mismo modelo global, el punto de partida compartido que permite que el promedio funcione.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático