Model Soups
Descubre cómo las sopas de modelos mejoran la precisión y la robustez promediando los pesos de los modelos Ultralytics YOLO. Aprende a aumentar el rendimiento sin aumentar la latencia.
Model Soups se refiere a una técnica de aprendizaje automático en la que los pesos de múltiples redes neuronales, ajustadas con precisión 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 ajustar un modelo, los profesionales suelen ejecutar un amplio barrido de ajuste de hiperparámetros para encontrar la configuración con mejor rendimiento. Tradicionalmente, se selecciona el mejor modelo y se descartan los demás. Sin embargo, crear un model soup aprovecha las diversas características aprendidas por todos los modelos del barrido. Al promediar directamente sus pesos del modelo, la red resultante a menudo supera al mejor modelo individual, combinando eficazmente sus puntos fuertes mientras minimiza el sobreajuste. Este proceso es altamente eficiente y se puede gestionar fácilmente dentro de entornos colaborativos como la Plataforma Ultralytics.
Link to this sectionAplicaciones en el mundo real#
Los Model Soups son muy efectivos en escenarios donde los recursos computacionales son limitados, pero se requiere una alta precisión y robustez.
- Visión para vehículos autónomos: Al implementar sistemas de detección de objetos en coches autónomos, los modelos deben generalizar a través de diversas condiciones de iluminación y clima. Al promediar múltiples modelos entrenados con variadas aumentaciones de datos y tasas de aprendizaje, los ingenieros crean un soup altamente robusto que mantiene una baja latencia de inferencia. Esto asegura que las velocidades de procesamiento en tiempo real críticas para la navegación autónoma no se vean afectadas.
- Diagnóstico médico móvil: En aplicaciones de IA de borde, como ejecutar clasificación de imágenes en teléfonos inteligentes para un cribado dermatológico inicial, la potencia computacional es muy limitada. Un model soup proporciona el aumento de precisión necesario para la fiabilidad clínica, garantizando al mismo tiempo que la huella final se ajuste fácilmente a dispositivos móviles de borde sin agotar la batería ni requerir conectividad a la nube.
Link to this sectionDiferenciación de conceptos relacionados#
Para navegar por el panorama de la optimización del aprendizaje profundo, es importante distinguir los Model Soups de otras técnicas similares:
- Model Ensemble: El ensembling combina las predicciones (resultados) de múltiples modelos independientes. Aunque esto mejora la precisión, requiere ejecutar cada modelo durante la inferencia, multiplicando el coste computacional. Los 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. Los Model Soups son un subconjunto específico de fusión donde todos los modelos provienen exactamente de la misma arquitectura base preentrenada y se ajustan para la misma tarea objetivo.
Link to this sectionEjemplo de implementación#
Crear un model soup uniforme implica acceder al diccionario de estado de PyTorch de múltiples modelos entrenados y promediar matemáticamente sus tensores. A continuación, tienes un ejemplo conciso de cómo lograr esto utilizando un flujo de trabajo de Ultralytics YOLO26 respaldado de forma nativa por el marco de trabajo PyTorch.
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 mejorar fácilmente métricas de rendimiento como las capacidades de zero-shot learning y la robustez general sin sacrificar la velocidad de implementación requerida para las arquitecturas de IA modernas centradas en el borde.






