Cos'è l'implementazione del modello?

Autori

Rina Diane Caballar

Staff Writer

IBM Think

Cole Stryker

Staff Editor, AI Models

IBM Think

Cos'è la distribuzione del modello?

L'implementazione del modello implica l'inserimento di un modello di machine learning (ML) in un ambiente di produzione. Il passaggio di un modello dallo sviluppo alla produzione lo rende disponibile agli utenti finali, agli sviluppatori di software e ad altre applicazioni software e sistemi di intelligenza artificiale (AI).

L'implementazione di modelli di machine learning è una fase cruciale del ciclo di vita dell'AI. I data scientist, gli sviluppatori AI e i ricercatori AI lavorano in genere nelle prime fasi dei progetti di data science e ML, tra cui la raccolta e la preparazione dei dati, lo sviluppo del modello, il suo addestramento e la valutazione. L'implementazione del modello è il passo successivo che porta la ricerca nel mondo reale. Una volta implementato, un modello AI viene veramente testato, non solo in termini di inferenza o prestazioni in tempo reale sui nuovi dati, ma anche sulla capacità di risolvere i problemi per i quali è stato progettato.

Secondo un sondaggio di Gartner, l'AI generativa è la soluzione di AI più utilizzata nelle organizzazioni, ma solo la metà (circa il 48%) dei progetti di AI arriva alla produzione.1 Solo quando un modello di machine learning viene implementato può emergere il suo vero valore. Gli utenti possono interagire con un modello e trarre beneficio dai suoi insight, mentre le aziende possono utilizzare l'analisi e le previsioni di un modello per il processo decisionale e aumentare l'efficienza attraverso l'automazione.

Le ultime tendenze in materia di AI, proposte da esperti

Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Metodi di implementazione del modello

Le aziende possono scegliere tra diverse distribuzioni a seconda delle applicazioni e dei casi d'uso che prevedono per i loro nuovi modelli. Di seguito sono riportati alcuni metodi comuni di distribuzione del modello:

  • In tempo reale
  • Batch
  • Streaming
  • Edge

In tempo reale

L'implementazione in tempo reale comporta l'integrazione di un modello preaddestrato in un ambiente di produzione in grado di gestire immediatamente gli input e gli output dei dati. Questo metodo consente di aggiornare continuamente i modelli di ML online e di generare rapidamente previsioni man mano che arrivano nuovi dati.

Le previsioni istantanee possono portare a una migliore esperienza utente e a un maggiore coinvolgimento degli utenti. Ma l'implementazione e in tempo reale richiede anche un'infrastruttura di calcolo ad alte prestazioni con tempi di risposta rapidi e caching per gestire le richieste sincrone a bassa latenza.

L'implementazione in tempo reale può essere adottata per applicazioni di AI, come motori di raccomandazione che forniscono rapidamente suggerimenti o chatbot che forniscono supporto in tempo reale ai clienti.

Batch

L'implementazione in batch prevede l'elaborazione offline degli input di dati. I set di dati vengono raggruppati in batch, quindi applicati periodicamente ad algoritmi di machine learning. Di conseguenza, l'implementazione in batch non richiede un'infrastruttura tanto solida quanto l'implementazione in tempo reale.

Questo metodo è adatto per enormi volumi di dati che possono essere elaborati in modo asincrono, come le transazioni finanziarie, le cartelle cliniche o i documenti legali. I casi d'uso della distribuzione in batch includono l'analisi dei documenti, il forecasting, la generazione di descrizioni dei prodotti, la classificazione delle immagini e l'analisi del sentiment.

Streaming

La distribuzione in streaming invia flussi regolari di dati a un sistema di machine learning per calcoli continui e previsioni quasi in tempo reale. In genere richiede la stessa infrastruttura della distribuzione in tempo reale.

Questo metodo può essere utilizzato per il rilevamento delle frodi e per le applicazioni Internet of Things (IoT) come il monitoraggio delle centrali elettriche e la gestione del traffico che si basano su flussi di dati dei sensori.

Edge

L'implementazione edge si riferisce all'implementazione di modelli AI su dispositivi edge come smartphone e dispositivi indossabili. Questo metodo può essere utilizzato per applicazioni di edge AI, tra cui monitoraggio dello stato di salute, esperienze mobili personalizzate, manutenzione predittiva e routing predittivo su veicoli autonomi.

AI Academy

Diventa un esperto di AI

Acquisisci le conoscenze necessarie per dare priorità agli investimenti nell'AI alla base della crescita aziendale. Inizia oggi stesso con la nostra AI Academy gratuita e guida il futuro dell'AI nella tua organizzazione.

Distribuzione dei modelli e MLOps

Le operazioni di machine learning (MLOps) sono un insieme di pratiche progettate per creare una linea di assemblaggio per l'implementazione, il monitoraggio, la gestione e il miglioramento dei modelli di machine learning all'interno degli ambienti di produzione. MLOps si basa sui principi di DevOps, che si concentra sulla semplificazione dello sviluppo, del test e della distribuzione di applicazioni software tradizionali, e li applica al ciclo di vita del machine learning.

L'implementazione del modello è solo una delle componenti della pipeline MLOps. Tuttavia, alcune fasi del processo di implementazione del modello si sovrappongono a quelle delle MLOps.

Come funziona l'implementazione dei modelli

La distribuzione del modello può variare in base ai sistemi IT di un'organizzazione e alle procedure DevOps o MLOps già in atto. Tuttavia, il processo in genere comprende questa serie di passaggi:

  1. Pianificazione
  2. Configurazione
  3. Creazione dei pacchetti e implementazione
  4. Test
  5. Monitoraggio
  6. Integrazione continua e implementazione continua (CI/CD)

Pianificazione

Prima ancora che inizi la distribuzione, le aziende devono prepararsi al processo. Ecco come le aziende possono raggiungere la prontezza tecnica durante la fase di pianificazione:

  • Assicurati che il modello ML sia pronto per la produzione.
  • Creare un registro dei modelli per memorizzare, tenere traccia e gestire le versioni dei modelli.
  • Scegli un metodo di implementazione.
  • Seleziona il tipo di ambiente di implementazione, che sia on-premise, tramite servizi di cloud computing o su dispositivi edge.
  • Valuta la disponibilità e la sufficienza delle risorse computazionali come CPU, GPU, memoria e storage.

Questo è anche il momento di sviluppare una tempistica per l'implementazione, definire i ruoli e le responsabilità delle persone coinvolte e creare linee guida chiare e workflow standardizzati per il processo di implementazione del modello.

Configurazione

Come la pianificazione, anche la configurazione è una fase articolata in più fasi. Ecco cosa prevede solitamente:

  • Vengono installate tutte le dipendenze necessarie, come framework e librerie.
  • Le impostazioni dell'ambiente di produzione sono configurate per ottimizzare le prestazioni del modello.
  • Per salvaguardare dati e modelli vengono stabilite misure di sicurezza, quali controllo degli accessi, autenticazione e crittografia.
  • Le attuali strategie di backup e disaster recovery sono modificate per incorporare i modelli di ML e i relativi dati e infrastrutture.

Documentare tutte le procedure di installazione e le impostazioni di configurazione è essenziale per la risoluzione dei problemi futuri.

Creazione dei pacchetti e implementazione

Il modello e le sue dipendenze sono raggruppati in un container (una tecnica chiamata containerizzazione) per mantenere la coerenza indipendentemente dal metodo di distribuzione e dall'ambiente scelti. Il modello incluso nel pacchetto viene quindi caricato nell'ambiente di produzione.

Test

Sono fondamentali test approfonditi per convalidare che il modello implementato funzioni come previsto e sia in grado di gestire casi edge e istanze errate. I test includono la verifica delle previsioni del modello rispetto ai risultati attesi utilizzando un set di dati campione e la verifica che le prestazioni del modello siano in linea con i parametri di valutazione chiave e i benchmark.

I test di integrazione sono un altro componente necessario della suite di test. Questi test verificano la perfetta fusione del modello con l'ambiente di produzione e la sua interazione ottimale con gli altri sistemi. Inoltre, vengono eseguiti test di stress per osservare come il modello gestisce workload elevati.

Come per la fase di configurazione, è importante documentare quali test sono stati eseguiti e i loro risultati. In questo modo è possibile individuare eventuali miglioramenti che possono essere apportati prima di consegnare o rilasciare il modello agli utenti.

Monitoraggio

Tenere traccia delle prestazioni del modello, in particolare della deriva del modello, è il compito fondamentale del monitoraggio dei modelli. Gli insight acquisiti dal monitoraggio continuo alimentano il riaddestramento iterativo dei modelli, in cui i modelli vengono aggiornati con algoritmi migliorati o nuovi dati di addestramento contenenti campioni più recenti e pertinenti per mettere a punto la loro prestazioni.

Anche le metriche fondamentali come i tassi di errore, la latenza, l'utilizzo delle risorse e il throughput devono essere registrate utilizzando strumenti di monitoraggio. Il monitoraggio del modello avviene immediatamente dopo l'implementazione, ma in genere rientra nell'ambito di MLOps a lungo termine.

Integrazione continua e implementazione continua (CI/CD)

Le pratiche combinate di integrazione continua e implementazione continua (note come CI/CD) possono automatizzare e semplificare la distribuzione e il test dei modelli di machine learning (ML). L'implementazione di pipeline CI/CD aiuta a garantire che gli aggiornamenti e i miglioramenti dei modelli possano essere applicati facilmente e rapidamente, con conseguente distribuzione più efficiente e cicli di consegna accelerati.

Piattaforme e strumenti di distribuzione dei modelli

Sono disponibili numerose piattaforme e strumenti per aiutare le aziende ad accelerare i workflow di distribuzione dei modelli. Prima di adottare queste tecnologie, le organizzazioni devono valutare la compatibilità con lo stack tecnologico e l'ecosistema IT esistenti.

Controllo versione

Packaging

Docker è una piattaforma open source ampiamente utilizzata per la containerizzazione. È compatibile con fornitori di servizi cloud come Amazon Web Services (AWS), Google Cloud, IBM® Cloud e Microsoft Azure. Le alternative includono l'interfaccia a riga di comando (CLI) Buildah, Podman e Rancher Desktop.

Orchestrazione

Kubernetes è una nota piattaforma open source di orchestrazione di container per la pianificazione e l'automazione della distribuzione di applicazioni containerizzate. Kubernetes e Docker vengono in genere utilizzati in tandem. Strumenti di orchestrazione simili includono Red Hat OpenShift, Amazon Elastic Container Service (ECS) e soluzioni Kubernetes gestite come Azure Kubernetes Service (AKS) e IBM Cloud Kubernetes Service.

Distribuzione

Esistono diverse piattaforme per la distribuzione dei modelli. Ad esempio, BentoML è una piattaforma basata su Python per che consente di fornire modelli ML come endpoint application programming interface (API) e persino Modelli linguistici di grandi dimensioni (LLM) come endpoint API. Kubeflow facilita la distribuzione dei modelli su Kubernetes, mentre TensorFlow Serving è un sistema di server open source per i modelli TensorFlow.

Nel frattempo, altre piattaforme non solo aiutano nell'implementazione dei modelli, ma gestiscono anche i workflow di machine learning. Questi includono Amazon SageMaker, Azure Machine Learning, Google Vertex AI Platform, IBM Watson Studio e MLFlow.

CI/CD

Gli strumenti CI/CD automatizzano l'implementazione e il test dei modelli. Gli strumenti comuni includono Continuous Machine Learning (CML), GitHub Actions, GitLab CI/CD e Jenkins.

Sfide nell'implementazione del modello

L'implementazione di modelli di deep learning comporta molte parti mobili, il che può rendere l'impresa complicata. Di seguito sono riportate alcune sfide associate all'implementazione del modello:

  • Costo
  • Complessità
  • Integrazione
  • Scalabilità

Costo

L'implementazione del modello può essere costosa, con costi di infrastruttura e manutenzione che assorbono la maggior parte del budget. Le aziende devono essere pronte a investire in infrastrutture e risorse solide per un'implementazione efficiente.

Complessità

L'automazione dell'implementazione dei modelli può aiutare a ridurre la complessità, ma i team devono comunque comprendere le basi del machine learning e conoscere le nuove tecnologie di implementazione. Per colmare questa lacuna sono necessarie formazione e aggiornamento delle competenze. 

Integrazione

Integrare i modelli AI negli attuali sistemi IT può rappresentare una sfida. Condurre una valutazione dettagliata può aiutare le aziende a determinare se sono necessarie API, middleware o aggiornamenti per una connessione e una comunicazione senza interruzioni tra modelli e altri sistemi.

Scalabilità

Scalare i modelli in base alla domanda senza intaccare le prestazioni può essere complicato. L'implementazione di meccanismi di auto-scaling e bilanciamento del carico può aiutare a supportare più richieste e workload diversi.

Soluzioni correlate
IBM watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una minima quantità di dati.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Consulenza e servizi sull'AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live