Seguici sui social

Intelligenza Artificiale

LightAutoML: soluzione AutoML per un grande ecosistema di servizi finanziari

mm
aggiornato on

Sebbene AutoML sia diventato popolare alcuni anni fa, il lavoro è iniziato presto AutoML risale ai primi anni '90 quando gli scienziati pubblicarono i primi articoli sull'ottimizzazione degli iperparametri. È stato nel 2014, quando ICML ha organizzato il primo workshop AutoML, che AutoML ha attirato l'attenzione degli sviluppatori ML. Uno dei principali focus nel corso degli anni di AutoML è stato il problema della ricerca degli iperparametri, in cui il modello implementa una serie di metodi di ottimizzazione per determinare gli iperparametri con le migliori prestazioni in un ampio spazio di iperparametri per un particolare modello di machine learning. Un altro metodo comunemente implementato dai modelli AutoML consiste nel stimare la probabilità che un particolare iperparametro sia l'iperparametro ottimale per un determinato modello di machine learning. Il modello raggiunge questo obiettivo implementando metodi bayesiani che tradizionalmente utilizzano dati storici provenienti da modelli precedentemente stimati e altri set di dati. Oltre all'ottimizzazione degli iperparametri, altri metodi cercano di selezionare i modelli migliori da uno spazio di alternative di modellazione. 

In questo articolo parleremo di LightAutoML, un sistema AutoML sviluppato principalmente per un'azienda europea che opera nel settore finanziario insieme al suo ecosistema. Il framework LightAutoML viene distribuito in varie applicazioni e i risultati hanno dimostrato prestazioni superiori, paragonabili al livello dei data scientist, anche durante la creazione di modelli di machine learning di alta qualità. Il framework LightAutoML tenta di apportare i seguenti contributi. Innanzitutto, il framework LightAutoML è stato sviluppato principalmente per l’ecosistema di un grande istituto finanziario e bancario europeo. Grazie al suo framework e alla sua architettura, il framework LightAutoML è in grado di sovraperformare i framework AutoML all'avanguardia in diversi benchmark aperti e applicazioni dell'ecosistema. Le prestazioni del framework LightAutoML vengono confrontate anche con modelli ottimizzati manualmente dai data scientist e i risultati indicano prestazioni più elevate da parte del framework LightAutoML. 

Questo articolo mira a coprire in modo approfondito il framework LightAutoML ed esploriamo il meccanismo, la metodologia, l'architettura del framework insieme al suo confronto con i framework all'avanguardia. Quindi iniziamo. 

LightAutoML: un framework AutoML per i servizi finanziari

Sebbene i ricercatori abbiano iniziato a lavorare su AutoML a metà e all'inizio degli anni '90, AutoML ha attirato gran parte dell'attenzione negli ultimi anni, con alcune delle principali soluzioni industriali che implementano modelli di machine learning creati automaticamente come AutoGluon di Amazon, DarwinAI, H20.ai , IBM Watson AI, Microsoft AzureML e molto altro ancora. La maggior parte di questi framework implementa una soluzione AutoML per scopi generici che sviluppa automaticamente modelli basati su ML in diverse classi di applicazioni nei servizi finanziari, nella sanità, nell'istruzione e altro ancora. Il presupposto chiave alla base di questo approccio generico orizzontale è che il processo di sviluppo di modelli automatici rimane identico in tutte le applicazioni. Tuttavia, il framework LightAutoML implementa un approccio verticale per sviluppare una soluzione AutoML che non è generica, ma piuttosto soddisfa le esigenze delle singole applicazioni, in questo caso un grande istituto finanziario. Il framework LightAutoML è una soluzione AutoML verticale che si concentra sui requisiti del complesso ecosistema insieme alle sue caratteristiche. Innanzitutto, il framework LightAutoML fornisce una ricerca degli iperparametri rapida e quasi ottimale. Sebbene il modello non ottimizzi direttamente questi iperparametri, riesce a fornire risultati soddisfacenti. Inoltre, il modello mantiene dinamico l’equilibrio tra velocità e ottimizzazione degli iperparametri, per garantire che il modello sia ottimale su problemi piccoli e sufficientemente veloce su quelli più grandi. In secondo luogo, il framework LightAutoML limita intenzionalmente la gamma di modelli di machine learning a soli due tipi: modelli lineari e GBM o alberi decisionali con gradiente potenziato, invece di implementare grandi insiemi di algoritmi diversi. Il motivo principale alla base della limitazione della gamma di modelli di machine learning è accelerare i tempi di esecuzione del framework LightAutoML senza influire negativamente sulle prestazioni per un determinato tipo di problema e dati. In terzo luogo, il framework LightAutoML presenta un metodo unico per scegliere gli schemi di preelaborazione per le diverse funzionalità utilizzate nei modelli sulla base di determinate regole di selezione e meta-statistiche. Il framework LightAutoML viene valutato su un'ampia gamma di origini dati aperte in un'ampia gamma di applicazioni. 

LightAutoML: metodologia e architettura

Il framework LightAutoML è costituito da moduli noti come Preset dedicati allo sviluppo di modelli end-to-end per attività tipiche di machine learning. Al momento, il framework LightAutoML supporta i moduli Preset. Innanzitutto, TabularAutoML Preset si concentra sulla risoluzione dei classici problemi di machine learning definiti su set di dati tabulari. In secondo luogo, il White-Box Preset implementa semplici algoritmi interpretabili come la regressione logistica invece della codifica WoE o Weight of Evidence e funzionalità discretizzate per risolvere attività di classificazione binaria su dati tabulari. L'implementazione di semplici algoritmi interpretabili è una pratica comune per modellare la probabilità di un'applicazione a causa dei vincoli di interpretabilità posti da diversi fattori. In terzo luogo, il preset PNL è in grado di combinare dati tabulari con PNL o Elaborazione del linguaggio naturale strumenti tra cui modelli di deep learning preaddestrati ed estrattori di funzionalità specifiche. Infine, il CV Preset funziona con i dati dell'immagine con l'aiuto di alcuni strumenti di base. È importante notare che sebbene il modello LightAutoML supporti tutti e quattro i preset, il framework utilizza solo TabularAutoML nel sistema a livello di produzione. 

La pipeline tipica del framework LightAutoML è inclusa nell'immagine seguente. 

Ogni pipeline contiene tre componenti. Innanzitutto, Reader, un oggetto che riceve il tipo di attività e i dati grezzi come input, esegue calcoli cruciali sui metadati, pulisce i dati iniziali e individua le manipolazioni dei dati da eseguire prima di adattare i diversi modelli. Successivamente, i set di dati interni di LightAutoML contengono iteratori CV e metadati che implementano schemi di convalida per i set di dati. Il terzo componente sono le molteplici pipeline di machine learning impilate e/o combinate per ottenere un'unica previsione. Una pipeline di machine learning all'interno dell'architettura del framework LightAutoML è uno dei molteplici modelli di machine learning che condividono un unico schema di convalida e preelaborazione dei dati. La fase di preelaborazione può contenere fino a due passaggi di selezione delle funzionalità, una fase di progettazione delle funzionalità oppure può essere vuota se non è necessaria alcuna preelaborazione. Le pipeline ML possono essere calcolate in modo indipendente sugli stessi set di dati e quindi combinate insieme utilizzando la media (o media ponderata). In alternativa, è possibile utilizzare uno schema di insieme di stacking per costruire architetture di insieme a più livelli. 

Preimpostazione tabulare LightAutoML

All'interno del framework LightAutoML, TabularAutoML è la pipeline predefinita ed è implementata nel modello per risolvere tre tipi di attività sui dati tabulari: classificazione binaria, regressione e classificazione multiclasse per un'ampia gamma di parametri di prestazione e funzioni di perdita. Una tabella con le quattro colonne seguenti: caratteristiche categoriche, caratteristiche numeriche, timestamp e una singola colonna di destinazione con etichette di classe o valore continuo viene alimentata al componente TabularAutoML come input. Uno degli obiettivi principali alla base della progettazione del framework LightAutoML è stato quello di progettare uno strumento per il test rapido delle ipotesi, una delle ragioni principali per cui il framework evita l'uso di metodi di forza bruta per l'ottimizzazione della pipeline e si concentra solo su tecniche e modelli di efficienza che funzionano in un contesto globale. ampia gamma di set di dati. 

Digitazione automatica e preelaborazione dei dati

Per gestire diversi tipi di funzionalità in modi diversi, il modello deve conoscere ciascun tipo di funzionalità. Nella situazione in cui è presente una singola attività con un set di dati di piccole dimensioni, l'utente può specificare manualmente ciascun tipo di funzionalità. Tuttavia, specificare manualmente ciascun tipo di funzionalità non è più un'opzione praticabile in situazioni che includono centinaia di attività con set di dati contenenti migliaia di funzionalità. Per la preimpostazione TabularAutoML, il framework LightAutoML deve mappare le funzionalità in tre classi: numerica, categoria e data/ora. Una soluzione semplice e ovvia consiste nell'utilizzare i tipi di dati dell'array di colonne come tipi di funzionalità effettivi, ovvero per mappare le colonne float/int su funzionalità numeriche, timestamp o stringa, che potrebbero essere analizzati come timestamp, su datetime e altri su categoria. Tuttavia, questa mappatura non è la migliore a causa della frequente presenza di tipi di dati numerici nelle colonne di categoria. 

Schemi di convalida

Gli schemi di convalida sono una componente vitale dei framework AutoML poiché i dati nel settore sono soggetti a modifiche nel tempo e questo elemento di modifica rende irrilevanti le ipotesi IID o Independent Identically Distributed durante lo sviluppo del modello. I modelli AutoML utilizzano schemi di convalida per stimare le prestazioni, cercare iperparametri e generare previsioni out-of-fold. La pipeline TabularAutoML implementa tre schemi di convalida:

  • Convalida incrociata di KFold: KFold Cross Validation è lo schema di convalida predefinito per la pipeline TabularAutoML che include GroupKFold per i modelli comportamentali e KFold stratificato per le attività di classificazione. 
  • Convalida dell'Holdout: Lo schema di convalida degli elementi di controllo viene implementato se viene specificato l'insieme di elementi di controllo. 
  • Schemi di convalida personalizzati: Schemi di convalida personalizzati possono essere creati dagli utenti in base alle loro esigenze individuali. Gli schemi di convalida personalizzati includono la convalida incrociata e gli schemi di suddivisione delle serie temporali. 

Selezione funzionalità

Sebbene la selezione delle funzionalità sia un aspetto cruciale dello sviluppo di modelli secondo gli standard di settore poiché facilita la riduzione dei costi di inferenza e implementazione del modello, la maggior parte delle soluzioni AutoML non si concentra molto su questo problema. Al contrario, la pipeline TabularAutoML implementa tre strategie di selezione delle funzionalità: nessuna selezione, selezione con esclusione dell'importanza e selezione diretta basata sull'importanza. Dei tre, la strategia di selezione delle funzionalità di selezione tagliata per importanza è predefinita. Inoltre, esistono due modi principali per stimare l'importanza delle funzionalità: importanza dell'albero basato su suddivisione e importanza della permutazione del modello GBM o del gradiente potenziato alberi decisionali. Lo scopo principale della selezione del limite di importanza è rifiutare le funzionalità che non sono utili al modello, consentendo al modello di ridurre il numero di funzionalità senza influire negativamente sulle prestazioni, un approccio che potrebbe accelerare l'inferenza e l'addestramento del modello. 

L'immagine sopra mette a confronto diverse strategie di selezione su set di dati bancari binari. 

Sintonia iperparametro

La pipeline TabularAutoML implementa diversi approcci per ottimizzare gli iperparametri in base a ciò che è ottimizzato. 

  • Ottimizzazione anticipata degli iperparametri seleziona il numero di iterazioni per tutti i modelli durante la fase di addestramento. 
  • Ottimizzazione degli iperparametri del sistema esperto è un modo semplice per impostare gli iperparametri per i modelli in modo soddisfacente. Impedisce al modello finale una forte diminuzione del punteggio rispetto ai modelli ottimizzati.
  • Stima Parzen strutturata ad albero o TPE per GBM o modelli di alberi decisionali potenziati dal gradiente. TPE è una strategia di ottimizzazione mista che rappresenta la scelta predefinita nella pipeline LightAutoML. Per ogni framework GMB, il framework LightAutoML addestra due modelli: il primo ottiene iperparametri esperti, il secondo è ottimizzato per adattarsi al budget temporale. 
  • Ottimizzazione degli iperparametri della ricerca a griglia è implementato nella pipeline TabularAutoML per ottimizzare i parametri di regolarizzazione di un modello lineare insieme all'arresto anticipato e all'avvio a caldo. 

Il modello ottimizza tutti i parametri massimizzando la funzione metrica, definita dall'utente o predefinita per l'attività risolta. 

LightAutoML: esperimento e prestazioni

Per valutare le prestazioni, il preset TabularAutoML all'interno del framework LightAutoML viene confrontato con le soluzioni open source già esistenti in varie attività e consolida le prestazioni superiori del framework LightAutoML. Innanzitutto, il confronto viene effettuato sul benchmark OpenML che viene valutato su 35 set di dati di attività di classificazione binaria e multiclasse. La tabella seguente riassume il confronto tra il framework LightAutoML e i sistemi AutoML esistenti. 

Come si può vedere, il framework LightAutoML supera tutti gli altri sistemi AutoML su 20 set di dati all'interno del benchmark. La tabella seguente contiene il confronto dettagliato nel contesto del set di dati che indica che LightAutoML offre prestazioni diverse su diverse classi di attività. Per le attività di classificazione binaria, LightAutoML non è all'altezza in termini di prestazioni, mentre per le attività con una quantità elevata di dati, il framework LightAutoML offre prestazioni superiori.

La tabella seguente confronta le prestazioni del framework LightAutoML con quelle dei sistemi AutoML su 15 set di dati bancari contenenti una serie di varie attività di classificazione binaria. Come si può osservare, LightAutoML supera tutte le soluzioni AutoML su 12 set di dati su 15, una percentuale di vincita di 80. 

Considerazioni finali

In questo articolo abbiamo parlato di LightAutoML, un sistema AutoML sviluppato principalmente per un'azienda europea che opera nel settore finanziario insieme al suo ecosistema. Il framework LightAutoML viene distribuito in varie applicazioni e i risultati hanno dimostrato prestazioni superiori, paragonabili al livello dei data scientist, anche durante la creazione di modelli di machine learning di alta qualità. Il framework LightAutoML tenta di apportare i seguenti contributi. Innanzitutto, il framework LightAutoML è stato sviluppato principalmente per l’ecosistema di un grande istituto finanziario e bancario europeo. Grazie al suo framework e alla sua architettura, il framework LightAutoML è in grado di sovraperformare i framework AutoML all'avanguardia in diversi benchmark aperti e applicazioni dell'ecosistema. Le prestazioni del framework LightAutoML vengono confrontate anche con modelli ottimizzati manualmente dai data scientist e i risultati indicano prestazioni più elevate da parte del framework LightAutoML. 

"Un ingegnere di professione, uno scrittore a memoria". Kunal è uno scrittore tecnico con un profondo amore e comprensione di AI e ML, dedito a semplificare concetti complessi in questi campi attraverso la sua documentazione coinvolgente e informativa.