Model Soups
Descubre cómo las Model Soups mejoran la precisión y la robustez promediando los pesos de los modelos Ultralytics YOLO. Aprende a aumentar el rendimiento sin incrementar la latencia.
Las Model Soups hacen referencia a una técnica de aprendizaje automático en la que los pesos de múltiples redes neuronales, ajustadas a partir del mismo modelo base preentrenado usando diferentes hiperparámetros, se promedian para crear un único modelo más robusto. Este enfoque permite a los desarrolladores mejorar la precisión general y la generalización sin aumentar el coste computacional durante la inferencia.
Al realizar el ajuste fino de un modelo, los profesionales suelen ejecutar un amplio barrido de hyperparameter tuning para encontrar la configuración con mejor rendimiento. Tradicionalmente, se selecciona el mejor modelo y el resto se descarta. Sin embargo, crear una model soup capitaliza las diversas características aprendidas por todos los modelos del barrido. Al promediar directamente sus model weights, la red resultante a menudo supera al mejor modelo individual, combinando eficazmente sus puntos fuertes mientras se minimiza el overfitting. Este proceso es altamente eficiente y puede gestionarse fácilmente dentro de entornos colaborativos como la Ultralytics Platform.
Link to this sectionAplicaciones en el mundo real#
Las Model Soups son altamente efectivas en escenarios donde los recursos computacionales están restringidos, pero se requiere una alta precisión y robustez.
- Visión de vehículos autónomos: Al desplegar sistemas de object detection en coches autónomos, los modelos deben generalizar en diversas condiciones de iluminación y meteorológicas. Al promediar múltiples modelos entrenados con diversas aumentaciones de datos y tasas de aprendizaje, los ingenieros crean una soup altamente robusta que mantiene una baja inference latency. Esto garantiza que las velocidades de procesamiento en tiempo real cruciales para la autonomous navigation no se vean afectadas.
- Diagnósticos médicos móviles: En aplicaciones de IA en el borde, como ejecutar image classification en smartphones para cribados dermatológicos iniciales, la potencia computacional es muy limitada. Una model soup proporciona la precisión mejorada necesaria para la fiabilidad clínica, garantizando al mismo tiempo que la huella final quepa fácilmente en mobile edge devices sin agotar la batería ni requerir conectividad en la nube.
Link to this sectionDiferenciación de conceptos relacionados#
Para navegar por el panorama de la deep learning optimization, es importante distinguir las Model Soups de técnicas similares:
- Model Ensemble: El ensembling combina las predicciones (salidas) de múltiples modelos independientes. Aunque esto mejora la precisión, requiere ejecutar cada modelo durante la inferencia, multiplicando el coste computacional. Las Model Soups promedian los pesos antes de la inferencia, manteniendo el coste computacional idéntico al de un solo modelo.
- Model Merging: Este es un término más amplio para combinar modelos que pueden haber sido entrenados en tareas o conjuntos de datos totalmente diferentes. Las Model Soups son un subconjunto específico de fusión donde todos los modelos provienen exactamente de la misma pre-trained base architecture y se ajustan en la misma tarea objetivo.
Link to this sectionEjemplo de implementación#
Crear una model soup uniforme implica acceder al PyTorch state dictionary de múltiples modelos entrenados y promediar matemáticamente sus tensores. A continuación se muestra un ejemplo conciso de cómo se puede lograr esto utilizando un flujo de trabajo de Ultralytics YOLO26 respaldado de forma nativa por el PyTorch framework.
import torch
# Load the PyTorch state dictionaries from two fine-tuned YOLO26 models
model1 = torch.load("yolo26_run1.pt")["model"].state_dict()
model2 = torch.load("yolo26_run2.pt")["model"].state_dict()
# Create a uniform model soup by averaging the model weights
soup_dict = {key: (model1[key] + model2[key]) / 2.0 for key in model1.keys()}
# The resulting soup_dict can now be loaded into a new YOLO26 instanceAl aprovechar esta técnica, los profesionales de la visión artificial pueden aumentar fácilmente métricas de rendimiento como las capacidades de zero-shot learning y la robustez general sin sacrificar la velocidad de despliegue requerida para las modernas arquitecturas de IA orientadas al borde.






