Che cos'è una pipeline di machine learning?

Autori

Ivan Belcic

Staff writer

Cole Stryker

Staff Editor, AI Models

IBM Think

Cos'è una pipeline ML?

Una pipeline di machine learning (pipeline di ML) è il processo sistematico di progettazione, sviluppo e distribuzione di un modello di apprendimento automatico. Le pipeline di ML o i workflow di ML seguono una serie di passaggi che guidano gli sviluppatori e i leader aziendali verso uno sviluppo di modelli più efficiente.

La pipeline di machine learning end-to-end comprende tre fasi: 

  1. Elaborazione dei dati: i data scientist raccolgono e preparano i dati che verranno utilizzati per addestrare il modello di machine learning (ML). Questa fase include la raccolta, la pre-elaborazione, la pulizia e l'esplorazione dei dati. 

  2. Sviluppo del modello: gli esperti di dati scelgono o creano un algoritmo di machine learning che soddisfi le esigenze del progetto. L'algoritmo viene addestrato sui dati della fase precedente e il modello risultante viene testato e convalidato finché non è pronto per l'uso. 

  3. Implementazione del modello: sviluppatori e ingegneri del software implementano il modello per un uso reale, integrandolo in un ambiente di produzione e monitorandone le prestazioni. 

I workflow di machine learning sono un elemento fondamentale per la più ampia disciplina di machine learning operations (MLOps). Gran parte del processo può essere automatizzato tramite varie tecniche di machine learning automatizzato (AutoML) che gestiscono le dipendenze tra fasi ed endpoint. 

Qual è la differenza tra una pipeline di dati e una pipeline di ML? 

Una pipeline di dati è un'architettura progettata e costruita dai data scientist che raccoglie dati da diverse fonti, quindi li memorizza e li organizza in un repository di dati centralizzato, come un data warehouse. Una pipeline di machine learning è un flusso di lavoro per la progettazione, la creazione e l'implementazione di un sistema AI. 

Entrambe le frasi usano il termine pipeline, ma mentre una pipeline di dati è più un sistema tangibile, una pipeline di machine learning è una serie teorica di passaggi. Una pipeline ETL è un esempio di pipeline di dati che estrae i dati da varie fonti, li trasforma in un formato unificato e li carica in un sistema di destinazione. Nel machine learning, una pipeline ETL raccoglierebbe i dati e li formatterebbe in un set di dati di addestramento.

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.

Fase 0: inizio del progetto

Prima di inizializzare un workflow di ML, dirigenti aziendali, sviluppatori e altri stakeholder concordano gli obiettivi di un progetto di machine learning. Capire perché l'AI è necessaria e gli obiettivi che dovrebbe raggiungere mantiene le aspettative realistiche e allinea gli stakeholder a uno scopo condiviso.

    Qual è l'obiettivo?

    Quando si decide se incorporare l'AI in un workflow o in un prodotto, gli stakeholder devono prima identificare l'obiettivo aziendale che il modello di machine learning (ML) è destinato a risolvere, quindi dimostrare come l'AI può raggiungerlo. Alcune aziende si avvicinano all'AI con questa logica inversa: "Vogliamo usare l'AI. Per cosa dovremmo usarla?" 

    Massimizzare il ritorno sull'investimento (ROI) nell'AI richiede che i leader comprendano il caso d'uso, quindi lavorino verso una soluzione di ML su misura per tale scopo.

    Come si misura il successo?

    Metriche chiare per il successo, come i KPI (indicatori chiave di prestazione) documentati, comunicano agli stakeholder se il progetto di ML sta raggiungendo i suoi obiettivi. Questi KPI dovrebbero riflettere gli obiettivi stabiliti nella fase precedente. Ad esempio, un modello di ML distribuito per aumentare l'efficienza potrebbe cercare di dare priorità al ROI.

    Quali sono gli ostacoli?

    Conoscere il panorama di rischio e i potenti blocchi aiuta i team a gestire il progetto in modo efficace. Questa fase include la definizione dei requisiti dei dati e la valutazione delle normative pertinenti, se presenti, per la raccolta e lo storage dei dati. Lo stesso vale per eventuali limitazioni che potrebbero influire sulla selezione del modello, ad esempio i requisiti di calcolo o di memoria.

    Mixture of Experts | 12 dicembre, episodio 85

    Decoding AI: Weekly News Roundup

    Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

    Fase 1: trattamento dei dati

    Dopo avere individuato il problema che il modello ML deve risolvere, il primo passo di un workflow ML è raccogliere, preparare e analizzare i dati. I professionisti devono identificare le fonti di dati pertinenti, raccogliere e integrare i dati da esse, preparare e pulire i dati, impiegando tecniche di data science tra cui il feature engineering per arrivare a un set di dati preparato. 

    La fase del trattamento dei dati è solitamente quella che richiede più tempo. Ma le prestazioni del modello di ML dipendono da dati di buona qualità. Eventuali errori e sviste nella fase di ingegneria dei dati influiscono negativamente sulle prestazioni del modello durante il suo ciclo di vita. Le strategie di automazione dei dati possono ridurre il tempo e lo sforzo umano necessari per produrre solidi set di dati di addestramento. 

    L'elaborazione dei dati comprende: 

    • Data ingestion 

    • Pre-elaborazione dei dati

    • Esplorazioni dei dati 

    • Feature engineering 

    • Suddivisione dei dati 

      Data ingestion

      La data ingestion è la raccolta e l'importazione di dati da fonti eterogenee in un archivio di dati centralizzato, attraverso una pipeline di dati. I data scientist devono identificare le fonti di dati appropriate, come i dati aziendali proprietari memorizzati internamente (rapporti sulle vendite, dati demografici dei clienti e altre conoscenze organizzative). 

      A volte sono necessari anche dati esterni. Le fonti di dati esterne possono includere connessioni API a fornitori di dati, dati estratti da Internet o dati sintetici. Poiché vengono sempre creati nuovi dati, la data ingestion è spesso un processo continuo.

      Pre-elaborazione dei dati

      La preelaborazione dei dati, o preparazione dei dati, trasforma i dati non elaborati della fase precedente in dati organizzati pronti per l'analisi. Dopo aver acquisito una comprensione dei dati di addestramento attraverso l'analisi esplorativa dei dati (EDA), i data scientist selezionano le strategie di preelaborazione dei dati. Le fasi di pre-elaborazione dei dati includono: 

      • Identificazione dei missing values e gestione degli outlier

      • Normalizzazione dei dati: standardizzazione del set di dati

      • Denoising: rimozione degli errori casuali e delle interferenze di segnale 

      Esplorazione dei dati

      L'esplorazione dei dati è il processo di valutazione dei dati per comprendere le informazioni in essi contenute. EDA punta ad apprendere le caratteristiche dei dati, scoprire modelli e relazioni e identificare insight con l'aiuto di strumenti di visualizzazione dei dati

      I risultati dell'EDA influenzano le successive scelte di selezione del modello.

      Progettazione di funzioni

      La selezione delle funzionalità è una fase critica di pre-elaborazione dei dati che prevede l'identificazione delle caratteristiche più rilevanti dei punti dati. Vengono estratte e selezionate le caratteristiche dei dati che offrono al modello le migliori possibilità di risolvere le sfide del mondo reale. 

      Concentrarsi sulle caratteristiche sbagliate può portare a un modello che non funziona come previsto. Dopo aver applicato le tecniche di estrazione delle caratteristiche per semplificare i dati, i data scientist scelgono le caratteristiche che porteranno alle previsioni del modello più solide.

      Fase 2: sviluppo del modello

      Dopo avere preparato i dati di formazione, il passaggio successivo del workflow ML è la creazione del modello di machine learning. Il processo di creazione di un modello di deep learning prevede la selezione di un algoritmo di machine learning appropriato e la sua esposizione ai set di dati di addestramento. Il risultato di questo processo è la creazione di un modello AI pronto per l'uso nel mondo reale, con dati simili non visibili. 

      Il processo di sviluppo del modello prevede: 

      • Selezione del modello 

      • Messa a punto degli iperparametri 

      • Addestramento del modello

      • Valutazione del modello

      Selezione del modello

      La selezione del modello è il processo di scelta del tipo di modello che ha maggiori probabilità di offrire le massime prestazioni nel caso d'uso previsto. Le fasi iniziali di pianificazione del progetto hanno già fornito a tutti gli stakeholder e i partecipanti una chiara comprensione delle esigenze aziendali, dei limiti e degli obiettivi del progetto. I professionisti del machine learning basano le loro scelte su questi fattori, bilanciando ottimizzazione e fattibilità. 

      Le scelte includono regressione lineare e regressione logistica, foreste casuali e alberi decisionali, reti neurali e modelli linguistici di grandi dimensioni (LLM), macchine a vettori di supporto (SVM), modelli d'insieme, sistemi agentici e molti altri. 

      A seconda della natura della sfida del machine learning, alcuni tipi di algoritmi sono candidati più adatti di altri. 

      Ad esempio, le reti neurali possono gestire complesse sfide di AI generativa, ma comportano costi di elaborazione elevati e sono più inclini all'overfitting. I modelli di regressione sono efficienti dal punto di vista del calcolo ma hanno casi d'uso limitati.

      Messa a punto degli iperparametri

      Gli iperparametri del modello sono variabili esterne che controllano il comportamento del modello durante l'addestramento. Gli iperparametri determinano anche la forma del modello creato dall'algoritmo, come il numero di neuroni e strati in una rete neurale. 

      L'ottimizzazione degli iperparametri è il processo di ottimizzazione degli iperparametri in modo che il processo di addestramento produca un modello con le prestazioni migliori. I data scientist possono impostare manualmente gli iperparametri, ma di solito automatizzano il processo attraverso vari algoritmi e altre tecniche.

      Addestramento del modello

      L'addestramento del modello è il processo di ottimizzazione delle prestazioni di un modello con set di dati di addestramento simili ai dati di input che il modello elabora una volta implementare. Una pipeline di addestramento di machine learning è un sistema esteso che può assumere un numero qualsiasi di forme a seconda dell'algoritmo e dell'attività per cui il modello viene sviluppato. 

      Molti metodi di addestramento sono basati sulla riduzione al minimo di una funzione di perdita che misura l'errore del modello, ovvero il divario tra gli output del modello l e i valori dei dati reali. Ad ogni ciclo di addestramento, il nuovo modello aggiorna i suoi parametri via via che si avvicina ai dati di addestramento. Ogni aggiornamento esegue l'iterazione dei risultati precedenti. 

      I metodi di addestramento del modello includono: 

      • Apprendimento supervisionato: il modello viene addestrato su un set di dati strutturati. Gli input sono etichettati con gli output corrispondenti, insegnando al modello come associare le caratteristiche di input ai valori di output corretti. 

      • Apprendimento non supervisionato: il modello viene addestrato su dati non strutturati e deve distinguere autonomamente i modelli e le relazioni tra punti dati e caratteristiche. 

      • Apprendimento auto-supervisionato: il modello viene addestrato con dati non etichettati per attività che di solito richiedono un apprendimento supervisionato. 

      • Apprendimento per rinforzo: il modello viene addestrato per eseguire le azioni che generano la massima ricompensa possibile, piuttosto che ridurre al minimo l'errore. 

      • Apprendimento continuo: il modello viene addestrato su un flusso di dati di input in tempo reale, anziché su un set di dati di addestramento pre-assemblato.

      Valutazione del modello

      Dopo che il modello è considerato addestrato, ad esempio quando la sua funzione di perdita è stata sufficientemente ridotta al minimo, le sue prestazioni vengono valutate prima dell'implementazione. Il processo di valutazione LLM utilizza i set di dati di test e convalida preparati durante la fase di suddivisione dei dati.

      Convalida

      La convalida stima l'errore di previsione del modello: quanto è efficace nel fare previsioni corrette? Durante l'addestramento, l'algoritmo di machine learning spesso produce più modelli con varie configurazioni di iperparametri. La convalida identifica il modello con la configurazione ottimale degli iperparametri.

      Test

      I test simulano valori reali per valutare l'errore di generalizzazione del modello con le migliori prestazioni: in che misura il modello si adatta a nuovi dati invisibili? I dati dei test sono indipendenti dai dati di addestramento e verificano le prestazioni del modello al termine dell'addestramento. I test rivelano se il modello funzionerà come previsto dopo l'implementazione.

      Fase 3: implementazione del modello

      Dopo avere sviluppato un modello adatto con prestazioni elevate, è il momento di metterlo in pratica. La distribuzione del modello serve il modello agli utenti nell'ambiente di produzione previsto. Può trattarsi di qualsiasi cosa, da un'app o una connessione API a una struttura di sviluppo farmaceutico o di ricerca sulla robotica. 

      I modelli non iniziano a funzionare fino a quando non sono implementati attivamente. Ottenere risultati solidi da un progetto di machine learning significa che il modello deve essere implementato in un modo che lo renda facile da usare, sia da parte dei consumatori, dei dirigenti aziendali o di altri sistemi informatici. 

      L'implementazione del modello include: 

      • Serializzazione del modello 

      • Integrazione 

      • Architettura 

      • Monitoraggio 

      • Aggiornamenti 

      • Conformità

      Serializzazione del modello 

      La serializzazione è un metodo di implementazione comune che prevede la conversione di un modello in un formato che può essere archiviato e trasmesso, quindi la de-serializzazione nell'ambiente di produzione. È come impacchettare una stanza piena di effetti personali in una scatola, spostare la scatola in una nuova casa, quindi aprire la scatola per sistemare tutto nella nuova stanza. 

      Ad esempio, Python, un linguaggio di programmazione molto diffuso nel machine learning (ML), consiglia il framework pickle per l'implementazione.

      Integrazione

      L'integrazione incorpora il modello nel suo ambiente di produzione, ad esempio un'app mobile. I modelli possono essere forniti tramite provider di cloud computing come AWS o Azure o ospitati in loco. In alternativa, potrebbe essere meglio utilizzare una soluzione containerizzata come Kubernetes e Docker. 

      A seconda di come verrà utilizzato il modello, gli sviluppatori devono renderlo accessibile con le librerie e i framework di machine learning appropriati, come PyTorch o TensorFlow Serving.

      Architettura

      Portabilità e scalabilità sono due aspetti principali da considerare durante l'implementazione del machine learning (ML). 

      • La portabilità è la facilità con cui il modello può essere trasferito tra i sistemi. 

      • La scalabilità è la capacità del modello di gestire workload in crescita, ad esempio una base di utenti in aumento, senza bisogno di essere riprogettati. 

      L'ambiente di produzione del modello deve essere in grado di supportare la crescita prevista del progetto di machine learning. Gli strumenti di scalabilità automatica e orchestrazione possono aiutare a gestire la crescente domanda nel tempo.

      Monitoraggio

      Il workflow di ML non è completo una volta distribuito il modello. Le prestazioni del modello devono essere monitorate nel corso del ciclo di vita dell'AI per evitare la deriva del modello: cioè quando le prestazioni risentono a causa dei cambiamenti nella distribuzione dei dati. Molte altre metriche riguardano la capacità del modello di generare ed elaborare token: vale a dire le singole unità di input o output. Alcune di queste metriche includono: 

      • Time per output token (TPOT) / inter-token latency (ITL): il tempo impiegato dal modello per generare un token. 

      • Time to first token (TTFT): il tempo impiegato da un modello per generare il primo token della sua risposta. 

      • Produttività: una misura della capacità complessiva di generazione di token del modello, misurata in token al secondo (TPS). 

      • Latenza: il tempo impiegato dal modello per generare un output completo dopo aver ricevuto un input dall'utente.

      Aggiornamenti

      A meno che un modello non venga addestrato con l'apprendimento continuo, il suo set di dati di addestramento è limitato. Il limite di conoscenza di un modello si riferisce all'ultima data in cui la sua knowledge base è stata aggiornata con nuovi dati. Nel corso del tempo, un modello diventa meno rilevante via via che le informazioni nella knowledge base diventano più datate. 

      I modelli devono essere aggiornati regolarmente per mitigare la deviazione del modello e mantenere i tassi di errore a un minimo accettabile. Nuovi dati, nuove caratteristiche e aggiornamenti algoritmici possono tutti ottimizzare le prestazioni del modello. Anche la riqualificazione può aiutare i modelli a rimanere aggiornati.

      Conformità

      Per quanto riguarda la raccolta dei dati, gli operatori di modelli devono considerare tutte le normative e i requisiti legali pertinenti in materia di privacy, proprietà intellettuale, copyright e altre preoccupazioni. Ad esempio, l'HIPAA protegge i dati del settore sanitario negli Stati Uniti, mentre il GDPR offre una protezione specifica dei dati alle persone nell'Unione europea. 

      Anche i modelli sviluppati per l'uso in settori regolamentati come quello farmaceutico e finanziario potrebbero essere soggetti a controlli operativi più severi. Qualsiasi modello utilizzato in ambito aziendale probabilmente elabora dati interni sensibili, richiedendo rigorose misure di cybersecurity

      Gli operatori nel campo dei modelli sono obbligati a proteggere i dati degli utenti e a impedire che i modelli siano utilizzati per scopi dannosi, come frodi e misinformazione. Un vantaggio dei modelli open source è che chiunque può valutare il modello per vedere come funziona e se rispetta tutte le normative pertinenti.

      Vantaggi del workflow di machine learning

      Le pipeline di machine learning offrono molti benefici, come: 

      • Modularizzazione 

      • Riproducibilità

      • Efficienza 

      • Scalabilità

      • Sperimentazione 

      • Implementazione 

      • Collaborazione 

      • Controllo delle versioni e documentazione

      Modularizzazione

      Le pipeline suddividono il processo di machine learning in fasi modulari e ben definite. Ciascun passaggio può essere sviluppato, testato e ottimizzato in modo indipendente, semplificando la gestione e la manutenzione del workflow.

      Riproducibilità

      Le pipeline di machine learning facilitano la riproduzione degli esperimenti. La definizione della sequenza delle fasi e dei relativi parametri in una pipeline aiuta a garantire risultati coerenti. Se un passaggio presenta un esito negativo o le prestazioni di un modello si deteriorano, è possibile configurare una pipeline per generare avvisi o intraprendere azioni correttive.

      Efficienza

      Efficienza: le pipeline automatizzano molte attività di routine, come il trattamento preventivo dei dati, l'ingegneria delle funzioni e la valutazione del modello. Questa efficienza può far risparmiare tempo e ridurre gli errori.

      Scalabilità

      Le pipeline possono essere scalate per gestire set di dati di grandi dimensioni o workflow complessi. Via via che la complessità dei dati e dei modelli aumenta, puoi modificare la pipeline senza dover riconfigurare tutto da zero.

      Sperimentazione

      La modifica dei singoli passaggi all'interno della pipeline apre la porta alla sperimentazione di diverse tecniche di pre-elaborazione dei dati, selezioni di caratteristiche e modelli. Questa flessibilità rende più rapide le iterazioni e le ottimizzazioni.

      Distribuzione

      Le pipeline facilitano la distribuzione dei modelli di machine learning in produzione. Una pipeline ben definita per l'addestramento e la valutazione dei modelli semplifica l'implementazione in un'applicazione o in un sistema.

      Collaborazione

      Le pipeline consentono a team di data scientist e ingegneri di collaborare. Poiché il workflow è strutturato e documentato, è più facile per i componenti dei team comprendere e contribuire al progetto.

      Controllo della versione e documentazione

      I sistemi di controllo della versione tengono traccia delle modifiche al codice e alle configurazioni della pipeline, consentendo il rollback alle versioni precedenti. Una pipeline ben strutturata incoraggia una migliore documentazione di ogni fase.

      Storia delle pipeline di machine learning

      La storia delle pipeline di machine learning è strettamente legata all'evoluzione del machine learning e della data science come campi. Sebbene il concetto di workflow di trattamento dei dati sia antecedente al machine learning, la formalizzazione e l'uso diffuso delle pipeline di ML si sono sviluppati più recentemente.

      La storia delle pipeline di machine learning include i seguenti sviluppi: 

      • Workflow di elaborazione dei dati (prima degli anni 2000) 

      • Emergere del machine learning (anni 2000) 

      • L'ascesa della data science (dalla fine degli anni 2000 all'inizio degli anni 2010) 

      • Sviluppo di librerie e strumenti di machine learning (anni 2010) 

      • L'ascesa di AutoML (anni 2010) 

      • Integrazione con DevOps (anni 2010) 

      I primi workflow per il trattamento dei dati (precedenti agli anni 2000)

      Prima dell'adozione diffusa del machine learning, i workflow di elaborazione dei dati venivano utilizzati per attività come la pulizia, la trasformazione e l'analisi dei dati. Questi workflow erano in genere manuali e prevedevano lo scripting o l'utilizzo di strumenti come il software per fogli di calcolo. Tuttavia, in questo periodo, il machine learning non rappresentava una parte centrale di questi processi.

      Emergere del machine learning (anni 2000)

      Il machine learning ha acquisito importanza all'inizio degli anni 2000 con i progressi negli algoritmi, nella potenza di calcolo e nella disponibilità di set di dati di grandi dimensioni. Ricercatori e data scientist hanno iniziato ad applicare il machine learning a vari domini, generando un crescente bisogno di workflow sistematici e automatizzati.

      Ascesa della data science (dalla fine degli anni 2000 all'inizio degli anni 2010)

      Il termine data science è diventato popolare come campo multidisciplinare che combinava statistica, analisi dei dati e machine learning. In questo periodo abbiamo assistito alla formalizzazione dei workflow di data science, tra cui il trattamento preventivo dei dati e la selezione e valutazione dei modelli, oggi parti integranti delle pipeline di machine learning.

      Sviluppo di librerie e strumenti di machine learning (anni 2010)

      Gli anni 2010 hanno portato allo sviluppo di librerie e strumenti di machine learning che hanno facilitato la creazione di pipeline. Librerie come scikit-learn (per Python) e caret (per R) hanno fornito API standardizzate per la creazione e la valutazione di modelli di machine learning, semplificando la creazione delle pipeline.

      L'ascesa di AutoML (anni 2010)

      Sono nati strumenti e piattaforme di machine learning automatizzato (AutoML) per automatizzare il processo di creazione di pipeline di machine learning. In genere, questi strumenti automatizzano attività quali l'ottimizzazione degli iperparametri, la selezione delle caratteristiche e la selezione dei modelli, rendendo il machine learning più accessibile ai non esperti grazie a visualizzazioni e tutorial.

      Integrazione con DevOps (anni 2010)

      Le pratiche DevOps hanno iniziato a incorporare pipeline di machine learning per consentire l'integrazione e implementazione continue (CI/CD) dei modelli di machine learning. Questa integrazione, nota come machine learning operations (MLOps), ha sottolineato la necessità di riproducibilità, controllo delle versioni e monitoraggio nelle pipeline di machine learning. 

      MLOps aiuta i team di data science ad affrontare efficacemente le complesse sfide di orchestrazione dell'AI. Nella distribuzione in tempo reale, la pipeline risponde a una richiesta entro millisecondi.

      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