Una pipeline di machine learning è una serie di fasi per il trattamento e modellazione di dati interconnessi progettate per automatizzare, standardizzare e semplificare il processo di creazione, formazione, valutazione e implementazione di modelli di machine learning.
Una pipeline di machine learning è un componente fondamentale nello sviluppo e nella produzione di sistemi di machine learning, che aiuta i data scientist e i data engineer a gestire la complessità del processo di machine learning end-to-end e a sviluppare soluzioni accurate e scalabili per un'ampia gamma di applicazioni.
Leggi perché IBM è stata nominata leader nel report IDC MarketScape: Worldwide AI Governance Platforms 2023.
Registrati per l'ebook sull'AI generativa
Le pipeline di Machine Learning offrono molti benefici.
Modularizzazione: le pipeline consentono di suddividere il processo di machine learning in passaggi modulari e ben definiti. 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. Definendo la sequenza di passaggi e i relativi parametri in una pipeline, è possibile ricreare esattamente l'intero processo, garantendo 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: 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 una quantità significativa di tempo e ridurre il rischio di errori.
Scalabilità: le pipeline possono essere facilmente scalate per gestire set di dati di grandi dimensioni o workflow complessi. Man mano che la complessità dei dati e dei modelli aumenta, puoi modificare la pipeline senza dover riconfigurare tutto da zero, e questa operazione può richiedere molto tempo.
Esperienza: è possibile sperimentare diverse tecniche di trattamento preventivo dei dati, selezioni di funzioni e modelli modificando i singoli passaggi all'interno della pipeline. Questa flessibilità consente iterazioni e ottimizzazioni rapide.
Distribuzione: le pipeline facilitano la distribuzione dei modelli di machine learning in produzione. Una volta stabilita una pipeline ben definita per l'addestramento e la valutazione dei modelli, puoi facilmente integrarla nell'applicazione o nel sistema.
Collaborazione: le pipeline semplificano la collaborazione per i team di data scientist e ingegneri. Poiché il workflow è strutturato e documentato, è più facile per i membri del team comprendere e contribuire al progetto.
Controllo della versione e documentazione: puoi utilizzare i sistemi di controllo della versione per tenere traccia delle modifiche nel codice e nella configurazione della pipeline, assicurandoti di tornare alle versioni precedenti, se necessario. Una pipeline ben strutturata incoraggia una migliore documentazione di ogni fase.
La tecnologia del machine learning sta avanzando rapidamente, ma è già possibile identificare alcuni passaggi generali coinvolti nel processo di creazione e implementazione di modelli di machine learning e deep learning.
Raccolta dati: in questa fase iniziale, i nuovi dati vengono raccolti da varie origini dati, come database, API o file. La data ingestion spesso coinvolge dati non elaborati che potrebbero richiedere un trattamento preventivo per essere utili.
Trattamento preventivo dei dati: questa fase comporta la pulizia, la trasformazione e la preparazione dei dati di input per la modellazione. Le fasi di trattamento preventivo comuni comprendono la gestione dei Missing Values, la codifica di variabili categoriche, la scalabilità di funzioni numeriche e la suddivisione dei dati in set di addestramento e test.
Progettazione delle funzioni: la progettazione delle funzioni è il processo di creazione di nuove funzioni o di selezione di funzioni rilevanti a partire dai dati in grado di migliorare la potenza predittiva del modello. Spesso questo passaggio richiede conoscenza del dominio e creatività.
Selezione del modello: in questa fase è possibile scegliere gli algoritmi di machine learning appropriati in base al tipo di problema (ad es. classificazione, regression), alle caratteristiche dei dati e ai requisiti prestazionali. È inoltre possibile prendere in considerazione l'ottimizzazione degli iperparametri.
Formazione del modello: il/i modello/i selezionato/i vengono addestrati sul set di dati di addestramento utilizzando gli algoritmi scelti. Ciò comporta l'apprendimento dei pattern e delle relazioni sottostanti all'interno dei dati di addestramento. È possibile utilizzare anche modelli pre-addestrati, anziché addestrarne di nuovi.
Valutazione del modello: dopo l'addestramento, le prestazioni del modello vengono valutate utilizzando un set di dati di test separato o tramite convalida incrociata. Le comuni metriche di valutazione dipendono dal problema specifico, ma possono includere accuratezza, precisione, richiamo, punteggio F1, errore quadratico medio o altro.
Distribuzione del modello: una volta sviluppato e valutato un modello soddisfacente, può essere implementato in un ambiente di produzione in cui è possibile fare previsioni su dati nuovi e invisibili. La distribuzione può comportare la creazione di API e l'integrazione con altri sistemi.
Monitoraggio e manutenzione: dopo l'implementazione, è importante monitorare costantemente le prestazioni del modello e riqualificarlo, se necessario, per adattarlo ai pattern di dati in evoluzione. Questo passaggio garantisce che il modello rimanga accurato e affidabile in un contesto reale.
I cicli di vita del machine learning possono variare in termini di complessità e comportare ulteriori passaggi a seconda del caso d'uso, come l'ottimizzazione dei parametri ipertestuali, la validazione incrociata e la selezione delle funzioni. L'obiettivo di una pipeline di machine learning è quello di automatizzare e standardizzare questi processi, rendendo più semplice lo sviluppo e la manutenzione di modelli di apprendimento automatico (ML) per diverse applicazioni.
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 machine learning come le conosciamo oggi si sono sviluppati più recentemente.
I primi workflow per il trattamento dei dati (antecedenti agli anni 2000): prima dell'adozione diffusa del machine learning, i workflow di trattamento 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.
Affermazione 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 grandi set di dati. Ricercatori e data scientist hanno iniziato ad applicare il machine learning a vari domini, generando una crescente necessità di workflow sistematici e automatizzati.
Ascesa della data science (dalla fine degli anni 2000 all'inizio del 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, la selezione e la valutazione dei modelli, ad oggi parti integranti delle pipeline di machine learning.
Sviluppo di librerie e strumenti di machine learning (anni 2010): gli anni '10 del 2000 hanno portato allo sviluppo di librerie e strumenti di machine learning in grado di facilitare la creazione delle 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.
Ascesa delle AutoML (anni 2010): sono emersi strumenti e piattaforme automatizzate di machine learning (AutoML) che miravano ad automatizzare il processo di creazione delle pipeline di machine learning. In genere, questi strumenti automatizzano attività quali l'ottimizzazione degli iperparametri, la selezione delle funzioni e la selezione dei modelli, rendendo il machine learning più accessibile ai non esperti con visualizzazioni e tutorial. Apache Airflow è un esempio di una piattaforma di gestione del workflow open source che può essere utilizzata per costruire pipeline di dati.
Integrazione con DevOps (anni 2010): le pipeline di machine learning hanno iniziato ad essere integrate con le pratiche DevOps per abilitare l'integrazione continua e l'implementazione (CI/CD) dei modelli di machine learning. Questa integrazione ha evidenziato l'esigenza della riproducibilità, del controllo della versione e del monitoraggio nelle pipeline di apprendimento automatico (ML). Questa integrazione viene definita come un insieme di operazioni di machine learning o MLOps, che aiutano i team di data science a gestire efficacemente la complessità di gestione dell'orchestrazione dell'apprendimento automatico (ML). In una distribuzione in tempo reale, la pipeline risponde a una richiesta entro qualche millisecondo.
Moltiplica la potenza dell'AI con la nostra piattaforma di dati e intelligenza artificiale di nuova generazione. IBM watsonx è un portfolio di strumenti, applicazioni e soluzioni per il business, progettati per ridurre i costi e gli ostacoli dell'adozione dell'AI, ottimizzando al contempo i risultati e l'utilizzo responsabile dell'AI.
Rendi operativa l'AI in tutta la tua azienda per offrire benefici in modo rapido ed etico. Il nostro ricco portafoglio di prodotti AI di livello aziendale e di soluzioni di analytics è progettato per ridurre gli ostacoli all'adozione dell'AI e per creare le giuste basi di dati, ottimizzando i risultati e l'uso responsabile.
Ripensa il modo in cui lavori con l'AI: il nostro team globale e diversificato, composto da oltre 20.000 esperti di AI, può aiutarti a progettare e scalare l'AI e l'automazione in tutta l'azienda in modo rapido e sicuro, lavorando con la nostra tecnologia IBM watsonx e con un ecosistema aperto di partner, per fornire qualsiasi modello AI, su qualsiasi cloud, guidato da etica e fiducia.
Esplora il nostro hub centralizzato per la ricerca sull'AI, dai principi di base alla ricerca emergente, fino alle questioni più importanti e ai progressi.
Abbiamo creato il toolkit AutoMLPipeline (AMLP) che facilita la creazione e la valutazione di complesse strutture di pipeline di machine learning utilizzando semplici espressioni.
MLOps è la prossima evoluzione dell'analisi dei dati e del deep learning. Il progetto promuove la scalabilità dell'apprendimento automatico (ML) nelle applicazioni reali, utilizzando gli algoritmi per migliorare le prestazioni e la riproducibilità dei modelli.