AutoML: come funziona una pipeline e quali sono gli strumenti
Le tecniche tradizionali di machine learning, sebbene efficaci, richiedono un considerevole impiego di risorse computazionali e un complesso processo di ottimizzazione manuale degli iperparametri, rendendo l’intero workflow oneroso e poco facilmente riproducibile. Per superare queste criticità è emerso il paradigma dell’Automated Machine Learning (AutoML), che automatizza ogni fase del processo – dalla selezione e trasformazione delle feature, alla scelta del modello, fino all’ottimizzazione degli iperparametri – semplificando l’adozione di soluzioni di machine learning anche per chi possiede competenze limitate nel settore.
> Scarica l’infografica per scoprire i migliori strumenti Open Source di AutoML
Che cos’è l’Automated Machine Learning
L’AutoML (Automated Machine Learning) è un campo emergente dell’Intelligenza Artificiale che mira ad automatizzare il processo di costruzione di modelli di machine learning. Il suo obiettivo principale è migliorare la produttività e l’efficienza, riducendo il lavoro manuale e ripetitivo richiesto in ogni fase della costruzione di un modello.
In altre parole, l’AutoML democratizza l’accesso al machine learning rendendo questa tecnologia più accessibile a un pubblico più ampio, inclusi individui e organizzazioni che potrebbero non avere competenze specializzate in data science o programmazione.
Automatizzando diverse fasi del processo—dalla selezione delle feature all’ottimizzazione degli iperparametri—AutoML abbassa le barriere all’ingresso, consentendo a professionisti di diversi settori di sfruttare la potenza dell’AI per risolvere problemi complessi e prendere decisioni più informate. Inoltre, molti strumenti di AutoML offrono interfacce low-code o no code e consentono agli utenti di interagire con il sistema senza dover scrivere codice complesso
> Leggi anche: Tipologie e Algoritmi di Machine Learning
Campi di applicazione dell’AutoML
L’Automated Machine Learning trova applicazione in diversi settori:
- Sanità: l’AutoML viene impiegato per la previsione di malattie, la diagnosi assistita, la personalizzazione dei trattamenti e l’analisi di immagini mediche. Ad esempio, uno studio ha sviluppato un modello AutoML per prevedere la progressione del COVID-19 utilizzando dati clinici e di laboratorio.
- Finanza: le applicazioni di AutoML includono il rilevamento di frodi, la valutazione del rischio di credito, le previsioni di mercato e la gestione automatizzata del portafoglio. Un esempio pratico è l’uso di AutoML per prevedere i fallimenti bancari, analizzando i punti di forza e i limiti attuali delle istituzioni finanziarie e suggerendo strategie di miglioramento.
- Marketing e Vendite: l’AutoML supporta la previsione del churn dei clienti, la personalizzazione delle offerte, l’ottimizzazione delle campagne pubblicitarie e l’analisi del sentiment. Ad esempio, può essere impiegato per automatizzare la modellazione predittiva del comportamento degli utenti e per creare sistemi di raccomandazione che suggeriscono prodotti o contenuti personalizzati.
- Industria Manufatturiera: l’analisi predittiva basata su AutoML permette di anticipare le esigenze di manutenzione, riducendo i tempi di inattività e ottimizzando i processi produttivi.
- Rilevamento di intrusioni e anomay detection: ad esempio, è stato sviluppato AutoML-ID, modello di machine learning automatizzato progettato specificamente per il rilevamento di intrusioni e di anomalie nelle reti di sensori wireless.
Struttura e Funzionamento di una Pipeline di AutoML
Una pipeline di AutoML è progettata per automatizzare l’intero processo di machine learning, dalla preparazione dei dati alla distribuzione del modello. Come abbiamo accennato, questo approccio riduce l’intervento umano e rende il machine learning accessibile a un pubblico più ampio, inclusi esperti di dominio con competenze limitate in data science.
Nell’infografica, per ogni strumento e libreria open source, troverai informazioni sulla fase di appartenenza.
Preparazione dei Dati
- La pipeline inizia con la raccolta dei dati da varie fonti, tra cui database, file CSV, API e altre fonti di dati.
- Si gestiscono i valori mancanti, rimozione di duplicati e correzione di errori attraverso tecniche di imputazione, rimozione di outlier e correzione delle incongruenze.
- Aumento dati: è una tecnica per aumentare la quantità di dati disponibili generando nuove varianti dei dati esistenti, ad esempio tramite rotazione di immagini, aggiunta di rumore, o la sintesi di nuovi dati.
- Si convertono i dati in un formato adatto per l’apprendimento automatico, ad esempio grazie ad attività come la normalizzazione, la standardizzazione e la codifica di variabili categoriali.
Feature Engineering
- Estrazione delle feature: si identificano le caratteristiche più rilevanti dai dati grezzi mediante analisi della varianza, correlazione e algoritmi di selezione automatica.
- Si sceglie il sottoinsieme ottimale di feature per migliorare le prestazioni del modello e ridurre la complessità computazionale.
- Si creano nuove feature combinando o trasformando le feature esistenti per fornire informazioni aggiuntive al modello.
Selezione del Modello
- Si definisce la gamma di modelli di machine learning da considerare, tra cui modelli tradizionali (alberi decisionali, macchine a vettori di supporto) e architetture neurali.
- Neural Architecture Search (NAS): automatizzazione della progettazione di reti neurali per trovare architetture personalizzate adatte a compiti specifici.
- Grazie al Meta-Learning è possibile utilizzare la conoscenza acquisita da compiti precedenti per inizializzare e accelerare la ricerca di modelli adatti al problema corrente. Il meta-learning può aiutare a identificare quali modelli e iperparametri sono più promettenti per un nuovo dataset.
Ottimizzazione degli Iperparametri
- Si definiscono gli iperparametri critici per la regolazione fine delle prestazioni del modello (es: learning rate, dimensione del batch).
- Metodi di ottimizzazione: utilizzo di tecniche come l’ottimizzazione bayesiana, gli algoritmi genetici o la ricerca casuale per trovare la combinazione ottimale di iperparametri.
Valutazione del Modello
- Metriche di Valutazione: definizione delle metriche appropriate per valutare le prestazioni del modello, come accuratezza, precisione, richiamo, F1-score o AUC.
- Si utilizzano tecniche di convalida incrociata per valutare in modo affidabile le prestazioni del modello su dati invisibili. La convalida incrociata divide i dati in più sottoinsiemi e addestra il modello su diversi sottoinsiemi per ottenere una stima più robusta delle prestazioni.
Distribuzione del Modello
- Integrazione: implementazione del modello addestrato in sistemi di produzione o applicazioni software.
- Monitoraggio continuo delle prestazioni del modello per garantire l’accuratezza e l’affidabilità nel tempo.
Integrazione di LLM (Large Language Models)
- Utilizzo di LLM come interfaccia user-friendly per interagire con AutoML. Gli LLM possono comprendere il linguaggio naturale e tradurlo in istruzioni per la pipeline di AutoML.
- Miglioramento dell’interpretabilità: generazione di spiegazioni testuali sui processi e decisioni della pipeline AutoML.
- Automated Prompt Engineering: si creano e si valutano automaticamente i prompt per migliorare l’input ai modelli ML.
- LLM come componenti: gli LLM possono essere utilizzati al posto dei sottoinsiemi AutoML come modelli surrogati per stimare le prestazioni del modello senza doverlo addestrare completamente.
Esempi di Tool e Framework AutoML
Ecco alcuni dei principali strumenti open source di AutoML, con le loro caratteristiche e funzionalità principali.
> Scarica l’infografica per scoprirli tutti!
- Auto-sklearn: è un’estensione avanzata di scikit-learn che automatizza la selezione dei modelli e l’ottimizzazione degli iperparametri. Il suo punto di forza è il meta-learning, che accelera il processo di ottimizzazione, e l’uso di ensemble selection per migliorare l’accuratezza. Supporta una vasta gamma di algoritmi di machine learning ed è particolarmente utile per chi lavora con dati strutturati senza dover configurare manualmente ogni passaggio.
- AutoGluon è un toolkit per il deep learning rilasciato da AWS AI, sviluppato per automatizzare il deep learning e il machine learning su diversi tipi di dati, inclusi tabellari, immagini e testo. AutoGluon utilizza l’ensemble stacking, ovvero una tecnica avanzata di ensemble learning che combina modelli in modo gerarchico per migliorare le performance predittive. Grazie alla sua interfaccia low-code, è accessibile anche a chi ha poca esperienza in machine learning.
- TPOT (Tree-based Pipeline Optimization Tool): è uno strumento basato su Python che utilizza la programmazione genetica per automatizzare la creazione di pipeline di machine learning. Utilizza algoritmi evolutivi per esplorare lo spazio delle pipeline e selezionare automaticamente quelle più performanti. È ideale per chi desidera ottimizzare il proprio workflow senza scrivere codice manualmente.
- H2O AutoML: è una piattaforma scalabile progettata per l’analisi di grandi dataset e la costruzione automatizzata di modelli predittivi complessi. Automatizza l’intero processo di machine learning, dalla preparazione dei dati alla selezione del modello e all’ottimizzazione degli iperparametri. Inoltre, offre un’interfaccia grafica che semplifica l’interazione, rendendolo adatto sia a esperti che a principianti.
- MLJAR è un framework di AutoML focalizzato principalmente sul supporto per l’analisi dei dati tabellari e le previsioni. Fornisce interfacce low-code per la modellazione e la messa a punto del machine learning. Automatizza diverse fasi del processo di machine learning, dalla preparazione dei dati alla selezione del modello.
- Optuna è un framework moderno per l’ottimizzazione degli iperparametri, progettato per esplorare in modo intelligente lo spazio delle possibili configurazioni. Sfrutta tecniche avanzate come l’ottimizzazione bayesiana per accelerare il processo di ricerca della migliore configurazione. La sua efficienza lo rende particolarmente utile per chi lavora con modelli complessi e vuole ridurre il tempo necessario alla loro ottimizzazione.
La scelta dello strumento più adatto dipende dalle specifiche esigenze del progetto, come il tipo di dati, le risorse computazionali disponibili e il livello di competenza dell’utente.
L’AutoML ha già rivoluzionato il modo in cui vengono sviluppati i modelli di machine learning, ma rimangono sfide importanti da affrontare. Attualmente, la difficoltà di garantire l’interpretabilità dei modelli automatizzati e la gestione della qualità dei dati rappresenta un limite significativo. Nel futuro sarà essenziale integrare tecniche avanzate di explainability per migliorare la trasparenza e la fiducia nei sistemi automatizzati. L’evoluzione degli algoritmi, unita all’integrazione di nuovi paradigmi come i Large Language Models, apre ulteriori orizzonti, ma richiede anche un’attenzione particolare all’ottimizzazione dei processi e all’adattamento alle esigenze specifiche dei vari contesti applicativi.
Top 12 Strumenti Open Source di AutoML
Compila il form e scarica l’infografica: troverai i migliori strumenti open source di AutoML e a quale fase della pipeline si riferiscono.
Fonti:
Al Alamin, M. A., & Uddin, G. (2024). How far are we with automated machine learning? characterization and challenges of automl toolkits. Empirical Software Engineering, 29(4), 91.
Bahri, M., Salutari, F., Putina, A., & Sozio, M. (2022). AutoML: state of the art with a focus on anomaly detection, challenges, and research directions. International Journal of Data Science and Analytics, 14(2), 113-126.
GeeksforGeeks. (2023, November 5). Automated Machine Learning for Supervised Learning using R. GeeksforGeeks. https://www.geeksforgeeks.org/automated-machine-learning-for-supervised-learning-using-r/
Gijsbers, P., Bueno, M. L., Coors, S., LeDell, E., Poirier, S., Thomas, J., … & Vanschoren, J. (2024). Amlb: an automl benchmark. Journal of Machine Learning Research, 25(101), 1-65.
Park, Y. (2024). Automated machine learning with R: AutoML tools for beginners in clinical research. Journal of Minimally Invasive Surgery, 27(3), 129.
Salehin, I., Islam, M. S., Saha, P., Noman, S. M., Tuni, A., Hasan, M. M., & Baten, M. A. (2024). AutoML: A systematic review on automated machine learning with neural architecture search. Journal of Information and Intelligence, 2(1), 52-81.
Tornede, A., Deng, D., Eimer, T., Giovanelli, J., Mohan, A., Ruhkopf, T., … & Lindauer, M. (2023). Automl in the age of large language models: Current challenges, future opportunities and risks. arXiv preprint arXiv:2306.08107.
Zheng, R., Qu, L., Cui, B., Shi, Y., & Yin, H. (2023). Automl for deep recommender systems: A survey. ACM Transactions on Information Systems, 41(4), 1-38.