Glossario

Modello di servizio

Impara gli elementi essenziali del model serving: distribuisci i modelli AI per ottenere previsioni in tempo reale, scalabilità e integrazione perfetta nelle applicazioni.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

Nel regno dell'Intelligenza Artificiale e dell'Apprendimento Automatico, una volta che un modello è stato addestrato, il suo viaggio è tutt'altro che finito. Per rendere questi modelli utili dal punto di vista pratico, devono essere accessibili per fare previsioni su dati nuovi e sconosciuti. È qui che entra in gioco il model serving. Il model serving è il processo di distribuzione di un modello di apprendimento automatico addestrato in un ambiente di produzione in cui è possibile accedere ad applicazioni o sistemi per eseguire inferenze. In sostanza, colma il divario tra lo sviluppo del modello e l'applicazione nel mondo reale, consentendo alle aziende e agli utenti di sfruttare la potenza dei modelli di intelligenza artificiale.

Importanza del servizio di assistenza ai modelli

Il model serving è fondamentale perché trasforma un modello statico e addestrato in un servizio dinamico e operativo. Senza il model serving, i modelli di apprendimento automatico rimarrebbero confinati negli ambienti di sviluppo, incapaci di fornire valore negli scenari reali. Un model serving efficiente garantisce:

  • Previsioni in tempo reale: Permette alle applicazioni di fare previsioni immediate, essenziali per attività sensibili al tempo come il rilevamento delle frodi o la guida autonoma. L'inferenza in tempo reale è fondamentale in molte applicazioni moderne di intelligenza artificiale.
  • Scalabilità e affidabilità: Gli ambienti di produzione richiedono scalabilità per gestire carichi variabili e affidabilità per garantire un funzionamento continuo. L'infrastruttura Model serving è progettata per soddisfare queste esigenze, scalando le risorse secondo le necessità e mantenendo un'elevata disponibilità.
  • Accessibilità e integrazione: Fornisce un modo standardizzato per accedere ai modelli tramite API, rendendo più semplice l'integrazione delle funzionalità di IA in diverse applicazioni, dai servizi web alle applicazioni mobili. Questo facilita l'integrazione della computer vision o dell'elaborazione del linguaggio naturale (NLP) in sistemi più ampi.
  • Gestione dei modelli e delle versioni: Facilita la gestione di diverse versioni del modello, consentendo aggiornamenti e rollback senza soluzione di continuità. Questo è fondamentale per mantenere l'accuratezza del modello e adattarsi all'evoluzione dei dati. Ultralytics HUB offre strumenti per una gestione efficiente dei modelli.

Applicazioni del mondo reale

Il model serving alimenta una vasta gamma di applicazioni di intelligenza artificiale in tutti i settori. Ecco un paio di esempi concreti:

  • Raccomandazioni di prodotti per l'e-commerce: Le piattaforme di e-commerce utilizzano il model serving per fornire raccomandazioni personalizzate sui prodotti in tempo reale. Un modello di sistema di raccomandazione addestrato viene servito tramite un'API. Quando un utente naviga sul sito web, l'applicazione invia i dati dell'utente all'endpoint del model serving, che restituisce le raccomandazioni di prodotto previste da mostrare all'utente, migliorando l'esperienza del cliente e stimolando le vendite.
  • Analisi delle immagini mediche per la diagnostica: Nel settore sanitario, i modelli di analisi delle immagini mediche, come quelli utilizzati per il rilevamento dei tumori, vengono utilizzati per assistere i radiologi. Quando viene acquisita una nuova immagine medica (come una radiografia o una risonanza magnetica), questa viene inviata al sistema che serve il modello. Il modello esegue un'inferenza e restituisce informazioni diagnostiche, come l'evidenziazione di potenziali anomalie, aiutando a formulare diagnosi più rapide e accurate.

Componenti chiave del Model Serving

Una tipica architettura di model serving comprende diversi componenti chiave che lavorano di concerto:

  • Modello addestrato: Il componente principale è il modello di apprendimento automatico addestrato, spesso salvato in formati come ONNX o TensorFlow SavedModel per una distribuzione efficiente. Ultralytics YOLO modelli possono essere esportati in vari formati per una maggiore flessibilità di distribuzione, tra cui TensorRT e OpenVINO.
  • Infrastruttura di servizio: Include l'ambiente hardware e software in cui viene eseguito il modello. Può trattarsi di piattaforme basate sul cloud come Amazon SageMaker o Google Cloud AI Platform, oppure di server on-premises. Anche le opzioni di serverless computing stanno guadagnando popolarità per la loro scalabilità ed efficienza economica.
  • Server API: Un server API (Application Programming Interface) funge da interfaccia tra le applicazioni e il modello servito. Riceve le richieste di previsione, le invia al modello per l'inferenza e restituisce le previsioni. I framework API più comuni sono REST e gRPC.
  • Bilanciatore di carico: Per gestire il traffico elevato e garantire la scalabilità, un bilanciatore di carico distribuisce le richieste in arrivo su più istanze dell'infrastruttura di servizio, evitando il sovraccarico e mantenendo le prestazioni.
  • Monitoraggio e registrazione: Sistemi robusti di monitoraggio e di registrazione sono essenziali per monitorare le prestazioni del modello, individuare i problemi e garantire l'affidabilità del sistema nel tempo. Ciò include il monitoraggio della latenza dell'inferenza, del throughput e dei tassi di errore e fa parte del monitoraggio del modello.

Distribuzione del modello e servizio del modello

Sebbene siano spesso usati in modo intercambiabile, la distribuzione del modello e il servizio del modello hanno significati distinti. Il deployment dei modelli è il processo più ampio di messa a disposizione di un modello, che può includere vari metodi oltre al semplice servizio tramite API. Le opzioni di distribuzione dei modelli possono spaziare dall'incorporazione dei modelli direttamente nelle applicazioni, alla distribuzione su dispositivi edge o alla creazione di pipeline di inferenza in batch.

Il model serving, nello specifico, si riferisce alla creazione di un servizio dedicato, scalabile e accessibile per l'inferenza in tempo reale, in genere tramite un'API. Si tratta di un tipo specifico di distribuzione incentrato su funzionalità di previsione continue e on-demand. La scelta del metodo di distribuzione dipende dai requisiti dell'applicazione, come le esigenze di latenza, la scalabilità e la complessità dell'integrazione. Per le applicazioni che richiedono previsioni istantanee e una perfetta integrazione in sistemi diversi, il model serving è l'approccio ideale.

Leggi tutto