Model Deployment
Scopri come distribuire modelli di machine learning in ambienti cloud o edge. Scopri come la piattaforma Ultralytics semplifica l'esportazione e la produzione per YOLO26.
La distribuzione del modello è la fase critica in cui un modello di machine learning addestrato viene integrato in un ambiente di produzione per prendere decisioni o previsioni pratiche basate su nuovi dati. Rappresenta la transizione da un contesto di ricerca o sperimentale — spesso eseguito in notebook isolati — a un'applicazione attiva in cui il modello interagisce con utenti e sistemi del mondo reale. Questo processo trasforma un file statico di pesi e architettura in un AI agent attivo in grado di generare valore, come identificare oggetti in un flusso video o consigliare prodotti su un sito web.
Un'efficace distribuzione richiede di affrontare sfide distinte dall'model training, tra cui latenza, scalabilità e compatibilità hardware. Le organizzazioni utilizzano spesso la Ultralytics Platform per semplificare questo ciclo di vita, garantendo che i modelli addestrati nel cloud possano essere distribuiti senza problemi in ambienti diversi, che spaziano da potenti server a dispositivi edge con risorse limitate.
Link to this sectionIl panorama della distribuzione#
Le strategie di distribuzione generalmente rientrano in due categorie: distribuzione cloud e distribuzione edge. La scelta dipende fortemente dai requisiti specifici di velocità, privacy e connettività.
- Distribuzione cloud: Il modello risiede su server centralizzati, spesso gestiti da servizi come AWS SageMaker o Google Vertex AI. Le applicazioni inviano dati su Internet al modello tramite una REST API, che elabora la richiesta e restituisce il risultato. Questo metodo offre una potenza di calcolo praticamente illimitata, rendendolo ideale per modelli grandi e complessi, ma si basa su una connettività Internet stabile.
- Distribuzione edge: Il modello viene eseguito localmente sul dispositivo in cui vengono generati i dati, come uno smartphone, un drone o una telecamera industriale. Questo approccio, noto come edge computing, riduce al minimo la latenza e migliora la privacy dei dati poiché le informazioni non lasciano il dispositivo. Strumenti come TensorRT vengono utilizzati frequentemente per ottimizzare i modelli per questi ambienti.
Link to this sectionPreparazione dei modelli per la produzione#
Prima che un modello possa essere distribuito, solitamente viene sottoposto a ottimizzazione per garantire che venga eseguito in modo efficiente sull'hardware di destinazione. Questo processo prevede l'model export, in cui il formato di addestramento (come PyTorch) viene convertito in un formato adatto alla distribuzione come ONNX (Open Neural Network Exchange) o OpenVINO.
Tecniche di ottimizzazione come la quantization riducono le dimensioni del modello e l'occupazione di memoria senza sacrificare significativamente l'accuratezza. Per garantire coerenza tra diversi ambienti di calcolo, gli sviluppatori utilizzano spesso strumenti di containerization come Docker, che impacchettano il modello con tutte le dipendenze software necessarie.
Di seguito un esempio di come esportare un YOLO26 model nel formato ONNX, un passaggio comune nella preparazione alla distribuzione:
from ultralytics import YOLO
# Load the YOLO26 nano model
model = YOLO("yolo26n.pt")
# Export the model to ONNX format for broad compatibility
# This creates a file suitable for various inference engines
path = model.export(format="onnx")
print(f"Model successfully exported to: {path}")Link to this sectionApplicazioni nel mondo reale#
La distribuzione dei modelli alimenta sistemi di computer vision ampiamente utilizzati in vari settori.
- Controllo qualità manifatturiero: Nello smart manufacturing, i modelli distribuiti monitorano i nastri trasportatori in tempo reale. Un sistema di telecamere che esegue un modello ottimizzato per dispositivi NVIDIA Jetson può rilevare istantaneamente difetti nei prodotti, attivando un braccio robotico per rimuovere gli articoli difettosi. Ciò richiede una latenza ultra-bassa che solo la distribuzione edge AI può offrire.
- Analisi retail: I negozi utilizzano modelli distribuiti per analizzare il traffico pedonale e il comportamento dei clienti. Integrando modelli di object tracking nei feed delle telecamere di sicurezza, i rivenditori possono generare mappe di calore dei corridoi più popolari. Queste intuizioni aiutano a ottimizzare il layout del negozio e migliorare l'inventory management, utilizzando spesso la distribuzione basata su cloud per aggregare dati da più sedi.
Link to this sectionDistribuzione vs. Inferenza vs. Addestramento#
È importante distinguere la Distribuzione del modello da termini correlati nel ciclo di vita del machine learning:
- Model Training è la fase educativa in cui l'algoritmo apprende modelli da un set di dati.
- Distribuzione del modello è la fase di integrazione in cui il modello addestrato viene installato in un'infrastruttura di produzione (server, app o dispositivi).
- Inferenza è la fase operativa: l'atto effettivo del modello distribuito di elaborare dati in tempo reale per produrre una previsione. Ad esempio, l'inference engine esegue i calcoli definiti dal modello distribuito.
Link to this sectionMonitoraggio e manutenzione#
La distribuzione non è la fine del percorso. Una volta online, i modelli richiedono un model monitoring continuo per rilevare problemi come il data drift, in cui i dati del mondo reale iniziano a divergere dai dati di addestramento. Strumenti come Prometheus o Grafana sono spesso integrati per monitorare le metriche di performance, garantendo che il sistema rimanga affidabile nel tempo. Quando le prestazioni calano, il modello potrebbe dover essere riaddestrato e ridistribuito, completando il ciclo di MLOps.






