Model Serving
Scopri come il serving dei modelli colma il divario tra i modelli addestrati e la produzione. Esplora le strategie di deployment di Ultralytics YOLO26 sulla Ultralytics Platform.
Il serving dei modelli è il processo di hosting di un modello di machine learning addestrato e di messa a disposizione delle sue funzionalità alle applicazioni software tramite un'interfaccia di rete. Funge da collegamento tra un file di modello statico salvato su disco e un sistema attivo che elabora dati del mondo reale. Una volta completata la fase di addestramento del machine learning (ML), il modello deve essere integrato in un ambiente di produzione, dove può ricevere input, come immagini, testo o dati tabellari, e restituire previsioni. Ciò si ottiene in genere racchiudendo il modello in un'interfaccia di programmazione delle applicazioni (API), che gli consente di comunicare con server web, app per dispositivi mobili o dispositivi IoT.
Il ruolo del serving dei modelli nell'AI#
L'obiettivo principale del serving dei modelli è rendere operative in modo efficace le capacità di modellazione predittiva. Mentre l'addestramento punta alla precisione e alla minimizzazione della loss, il serving si concentra su metriche di prestazione come la latenza, ovvero il tempo necessario per restituire una previsione, e il throughput, cioè il numero di richieste gestibili al secondo. Un'infrastruttura di serving solida garantisce l'affidabilità dei sistemi di visione artificiale (CV) anche sotto carichi elevati. Spesso include tecnologie come la containerizzazione con strumenti quali Docker, che racchiude il modello e le sue dipendenze per garantirne un comportamento uniforme nei diversi ambienti di elaborazione.
Applicazioni nel mondo reale#
Il serving dei modelli alimenta funzionalità AI diffuse in vari settori, consentendo di prendere decisioni immediate sulla base dei dati.
- Produzione intelligente: Negli ambienti industriali, i sistemi di AI nella produzione utilizzano modelli in serving per ispezionare le linee di assemblaggio. Le immagini ad alta risoluzione dei componenti vengono inviate a un server locale, dove un modello YOLO26 rileva difetti come graffi o disallineamenti e attiva avvisi immediati per rimuovere gli articoli difettosi.
- Automazione nel commercio al dettaglio: I rivenditori utilizzano l'AI nel commercio al dettaglio per migliorare l'esperienza dei clienti. Le telecamere gestite da modelli di rilevamento degli oggetti identificano i prodotti nell'area di pagamento e calcolano automaticamente il totale senza richiedere la scansione manuale dei codici a barre.
Implementazione pratica#
Per rendere efficace il serving di un modello, spesso conviene esportare i modelli in un formato standardizzato come ONNX, che favorisce l'interoperabilità tra diversi framework di addestramento e motori di serving. L'esempio seguente mostra come caricare un modello ed eseguire inferenze, simulando la logica che verrebbe usata in un endpoint di serving con Python.
from ultralytics import YOLO
# Load the YOLO26 model (this typically happens once when the server starts)
model = YOLO("yolo26n.pt")
# Simulate an incoming API request with an image source URL
image_source = "https://ultralytics.com/images/bus.jpg"
# Run inference to generate predictions for the user
results = model.predict(source=image_source)
# Process results (e.g., simulating a JSON response to a client)
print(f"Detected {len(results[0].boxes)} objects in the image.")Scegliere la strategia giusta#
La scelta della strategia di serving dipende in larga misura dal caso d'uso specifico. Il serving online fornisce risposte immediate tramite protocolli come REST o gRPC, una caratteristica essenziale per le applicazioni web rivolte agli utenti. Il serving batch, invece, elabora grandi volumi di dati offline ed è adatto ad attività come la generazione di report notturni. Per le applicazioni che richiedono privacy o bassa latenza senza dipendere da Internet, l'Edge AI porta il processo di serving direttamente sul dispositivo, utilizzando formati ottimizzati come TensorRT per massimizzare le prestazioni su hardware con risorse limitate. Molte organizzazioni usano la Ultralytics Platform per semplificare la distribuzione di questi modelli su diversi endpoint, tra cui API cloud e dispositivi edge.
Differenze rispetto a termini correlati#
Sebbene siano strettamente correlati, il serving dei modelli è distinto dalla distribuzione dei modelli e dall'inferenza.
- Distribuzione dei modelli: Si riferisce alla fase più ampia del ciclo di vita in cui un modello viene rilasciato in un ambiente di produzione. Il serving è il meccanismo o il software specifico, come NVIDIA Triton Inference Server o TorchServe, usato per eseguire il modello distribuito.
- Inferenza: È l'operazione matematica che calcola una previsione a partire da un input. Il serving dei modelli fornisce l'infrastruttura — rete, scalabilità e sicurezza — che consente di eseguire l'inferenza in modo affidabile per gli utenti finali.
- Microservizi: Il serving viene spesso progettato come un insieme di microservizi, in cui il modello viene eseguito come servizio indipendente interrogabile da altri componenti dell'applicazione, spesso con scambio di dati in formati leggeri come JSON.









