Model Soups
Scopri come i Model Soups migliorano l'accuratezza e la robustezza mediando i pesi dei modelli Ultralytics YOLO. Impara a incrementare le prestazioni senza aumentare la latenza.
I Model Soups si riferiscono a una tecnica di machine learning in cui i pesi di diverse reti neurali, perfezionate (fine-tuned) a partire dallo stesso modello base pre-addestrato utilizzando diversi iperparametri, vengono mediati insieme per creare un unico modello più robusto. Questo approccio consente agli sviluppatori di migliorare l'accuratezza generale e la generalizzazione senza aumentare il costo computazionale durante l'inferenza.
Quando si perfeziona un modello, i professionisti solitamente eseguono un'ampia ricerca di hyperparameter tuning per trovare la configurazione con le prestazioni migliori. Tradizionalmente, viene selezionato il singolo modello migliore e gli altri vengono scartati. Tuttavia, creare un Model Soup capitalizza le diverse caratteristiche apprese da tutti i modelli nella ricerca. Mediando direttamente i loro model weights, la rete risultante spesso supera il singolo modello migliore, combinando efficacemente i loro punti di forza e riducendo al minimo l'overfitting. Questo processo è altamente efficiente e può essere facilmente gestito all'interno di ambienti collaborativi come la Ultralytics Platform.
Link to this sectionApplicazioni nel mondo reale#
I Model Soups sono estremamente efficaci in scenari in cui le risorse computazionali sono limitate, ma sono richiesti elevata accuratezza e robustezza.
- Visione per veicoli autonomi: Quando distribuisci sistemi di object detection nelle auto a guida autonoma, i modelli devono generalizzare tra diverse condizioni di illuminazione e meteo. Mediando più modelli addestrati con diverse data augmentation e learning rate, gli ingegneri creano un soup altamente robusto che mantiene una bassa inference latency. Questo assicura che le velocità di elaborazione in tempo reale, cruciali per l'autonomous navigation, rimangano invariate.
- Diagnostica medica mobile: Nelle applicazioni di edge AI, come l'esecuzione di image classification su smartphone per uno screening dermatologico iniziale, la potenza computazionale è severamente limitata. Un Model Soup fornisce l'accuratezza potenziata necessaria per l'affidabilità clinica, garantendo al contempo che l'impronta finale si adatti facilmente ai mobile edge devices senza scaricare la batteria o richiedere la connettività cloud.
Link to this sectionDifferenziare concetti correlati#
Per navigare nel panorama dell'deep learning optimization, è importante distinguere i Model Soups da tecniche simili:
- Model Ensemble: L'ensembling combina le previsioni (output) di più modelli indipendenti. Sebbene questo migliori l'accuratezza, richiede l'esecuzione di ogni modello durante l'inferenza, moltiplicando il costo computazionale. I Model Soups mediano i pesi prima dell'inferenza, mantenendo il costo computazionale identico a quello di un singolo modello.
- Model Merging: Questo è un termine più ampio per combinare modelli che potrebbero essere stati addestrati su attività o set di dati completamente diversi. I Model Soups sono un sottoinsieme specifico di fusione in cui tutti i modelli provengono esattamente dalla stessa pre-trained base architecture e sono perfezionati sulla stessa attività target.
Link to this sectionEsempio di implementazione#
Creare un Model Soup uniforme comporta l'accesso al PyTorch state dictionary di più modelli addestrati e la media matematica dei loro tensori. Di seguito è riportato un esempio conciso di come ciò possa essere ottenuto utilizzando un flusso di lavoro Ultralytics YOLO26 supportato nativamente dal 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 instanceBy leveraging this technique, computer vision practitioners can easily boost performance metrics like zero-shot learning capabilities and general robustness without sacrificing the deployment speed required for modern, edge-first AI architectures.






