Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Model Serving

Scopri come il model serving colma il divario tra i modelli addestrati e la produzione. Esplora le strategie di implementazione per Ultralytics sulla Ultralytics .

Il model serving è 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 ponte tra un file di modello statico salvato su un disco e un sistema live che elabora dati reali. Una volta che un modello ha completato la fase di addestramento dell'apprendimento automatico (ML), deve essere integrato in un ambiente di produzione in cui può ricevere input, come immagini, testo o dati tabulari, e restituire previsioni. Questo risultato si ottiene in genere racchiudendo il modello in un' interfaccia di programmazione dell'applicazione (API), che gli consente di comunicare con server web, app mobili o dispositivi IoT.

Il ruolo del model serving nell'IA

L'obiettivo principale del model serving è quello di rendere operative le capacità di modellazione predittiva in modo efficace. Mentre l'addestramento si concentra sull'accuratezza e sulla minimizzazione delle perdite, il serving si concentra su metriche di prestazione come la latenza (la velocità con cui viene restituita una previsione ) e il throughput (il numero di richieste che possono essere gestite al secondo). Un'infrastruttura di serving robusta garantisce che i sistemi di visione artificiale (CV) rimangano affidabili anche sotto carichi pesanti. Spesso comporta tecnologie come la containerizzazione utilizzando strumenti come Docker, che impacchetta il modello con le sue dipendenze per garantire un comportamento coerente in diversi ambienti di calcolo.

Applicazioni nel mondo reale

Il model serving alimenta le funzionalità di AI onnipresenti in diversi settori, consentendo di prendere decisioni immediate basate sui dati. dati.

  • Produzione intelligente: in ambito industriale, l'intelligenza artificiale nei sistemi di produzione utilizza modelli serviti 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, attivando immediatamente un allarme per rimuovere gli articoli difettosi.
  • Automazione della vendita al dettaglio: i rivenditori utilizzano l'intelligenza artificiale nella vendita al dettaglio per migliorare l'esperienza dei clienti. Le telecamere dotate di modelli di rilevamento degli oggetti identificano i prodotti nella zona delle casse, calcolando automaticamente il costo totale senza la necessità di scansionare manualmente i codici a barre.

Attuazione pratica

Per utilizzare efficacemente un modello, spesso è utile esportarlo in un formato standardizzato come ONNX, che favorisce l' interoperabilità tra diversi framework di formazione e motori di servizio. L'esempio seguente mostra come caricare un modello ed eseguire l'inferenza, simulando la logica che esisterebbe all'interno di un endpoint di servizio utilizzando 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 giusta strategia

La scelta della strategia di servizio dipende in larga misura dal caso d'uso specifico. Il servizio online fornisce risposte immediate tramite protocolli come REST o gRPC, essenziali per le applicazioni web rivolte agli utenti. Al contrario, il servizio batch elabora grandi volumi di dati offline, adatto per attività come la generazione di report notturni . Per le applicazioni che richiedono privacy o bassa latenza senza dipendenza da Internet, l' Edge AI sposta il processo di servizio direttamente sul dispositivo, utilizzando formati ottimizzati come TensorRT per massimizzare le prestazioni su hardware limitato. Molte organizzazioni sfruttano Ultralytics per semplificare l'implementazione di questi modelli su vari endpoint, tra cui API cloud e dispositivi edge.

Distinzione dai termini correlati

Sebbene strettamente correlato, il "Model Serving" è distinto dal Model Deployment e dall' Inferenza.

  • Implementazione del modello: si riferisce alla fase più ampia del ciclo di vita che consiste nel rilasciare un modello in un ambiente di produzione. Il serving è il meccanismo o il software specifico (come NVIDIA Triton Server o TorchServe) utilizzato per eseguire il modello implementato.
  • Inferenza: è l'atto matematico di calcolare una previsione a partire da un input. Il model serving fornisce l'infrastruttura (rete, scalabilità e sicurezza) che consente di effettuare l'inferenza in modo affidabile per gli utenti finali.
  • Microservizi: il servizio è spesso progettato come un insieme di microservizi, in cui il modello funziona come un servizio indipendente che altre parti di un'applicazione possono interrogare, spesso scambiando dati in formati leggeri come JSON.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora