Model Soups
Scopri come i Model Soups migliorano precisione e robustezza mediando i pesi dei modelli Ultralytics YOLO. Impara ad aumentare le prestazioni senza aumentare la latenza.
I Model Soups si riferiscono a una tecnica di machine learning in cui i pesi di più reti neurali, perfezionate a partire dallo stesso modello base pre-addestrato utilizzando diversi iperparametri, vengono mediati insieme per creare un singolo modello più robusto. Questo approccio consente agli sviluppatori di migliorare la precisione complessiva e la generalizzazione senza aumentare il costo computazionale durante l'inferenza.
Durante il perfezionamento di 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 una model soup sfrutta le diverse caratteristiche apprese da tutti i modelli nel sweep. 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 altamente efficaci in scenari in cui le risorse computazionali sono limitate, ma sono richieste un'elevata precisione e robustezza.
- Visione per Veicoli Autonomi: Quando distribuisci sistemi di object detection nelle auto a guida autonoma, i modelli devono generalizzare in diverse condizioni di illuminazione e meteorologiche. Mediando più modelli addestrati con diverse aumentazioni dei dati e tassi di apprendimento, gli ingegneri creano una soup altamente robusta che mantiene una bassa inference latency. Questo garantisce che le velocità di elaborazione in tempo reale cruciali per l'autonomous navigation rimangano inalterate.
- Diagnostica Medica Mobile: Nelle applicazioni di edge AI, come l'esecuzione di image classification su smartphone per lo screening dermatologico iniziale, la potenza computazionale è severamente limitata. Una model soup fornisce la maggiore precisione necessaria per l'affidabilità clinica, assicurando al contempo che l'ingombro finale si adatti facilmente ai mobile edge devices senza scaricare la batteria o richiedere connettività cloud.
Link to this sectionDifferenziare concetti correlati#
Per navigare nel panorama del 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 la precisione, 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 compiti o dataset completamente diversi. I Model Soups sono un sottoinsieme specifico del merging in cui tutti i modelli hanno origine esattamente dalla stessa pre-trained base architecture e vengono perfezionati sullo stesso compito target.
Link to this sectionEsempio di Implementazione#
Creare una 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.






