Evolving Executable Pipeline Programs for AutoML with Language Models
LACE è un nuovo framework di AutoML che impiega un ciclo evolutivo guidato da un grande modello linguistico per generare ed evolvere programmi di pipeline Python eseguibili, raggiungendo un'accuratezza competitiva su 68 task OpenML offrendo al contempo una trasparenza, una modificabilità e una flessibilità dello spazio di ricerca superiori rispetto ai sistemi tradizionali.
Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo
Nel mondo della moderna scienza dei dati, alle macchine viene chiesto sempre più spesso di dare un senso a informazioni disordinate e reali: prevedere se un richiedente un prestito ripagherà, diagnosticare una malattia da un foglio di calcolo di sintomi o prevedere le vendite basandosi su tendenze passate. Per fare ciò, i ricercatori costruiscono delle "pipeline", ovvero istruzioni passo dopo passo che puliscono i dati, scelgono un modello matematico e regolano quel modello finché non funziona bene. Per anni, gli strumenti più potenti per questo compito sono stati sistemi automatizzati che agiscono come un grande chef con un set fisso di ingredienti. Questi sistemi possono mescolare e abbinare fasi di pre-elaborazione note e algoritmi di apprendimento, regolando le quantità per trovare il sapore migliore. Tuttavia, sono strettamente limitati alla dispensa che è stata loro data; non possono inventare un nuovo ingrediente o una nuova tecnica di cottura che esca dal loro elenco predefinito. Questa limitazione significa che, se la soluzione migliore richiede una struttura che il sistema non ha mai visto prima, essa rimarrà indescoperta.
Un team di ricercatori dell'Università di Leiden ha introdotto un approccio diverso, uno che tratta la creazione di queste pipeline di dati non come una selezione da un menu, ma come la scrittura di una nuova ricetta partendo da zero. Hanno sviluppato un sistema chiamato LACE, che utilizza un grande modello linguistico — un'intelligenza artificiale addestrata su enormi quantità di testo e codice — per agire come un motore evolutivo. Invece di scegliere da un elenco fisso di strumenti, LACE chiede all'IA di scrivere programmi informatici completi ed eseguibili che definiscano come elaborare i dati e fare previsioni. Il sistema testa poi questi programmi, impara dai propri errori e chiede all'IA di scrivere versioni migliorate, ripetendo questo ciclo finché non trova una soluzione altamente efficace. Il risultato è un sistema che non si limita a perfezionare strumenti esistenti, ma può comporre strutture interamente nuove, producendo codice che gli esperti umani possono leggere, comprendere e modificare direttamente.
I ricercatori hanno testato questo metodo su 68 diversi compiti di classificazione dei dati, che vanno da piccoli dataset con poche centinaia di voci a collezioni massicce con quasi cinque milioni di righe. Hanno confrontato LACE con diversi sistemi automatizzati consolidati e un insieme di modelli pre-addestrati fissi. I risultati hanno mostrato che LACE, quando alimentato da un modello linguistico specifico, ha ottenuto prestazioni paragonabili ai più forti sistemi automatizzati esistenti e significativamente migliori rispetto ai metodi più vecchi. Fondamentalmente, mentre alcuni dei nuovi modelli pre-addestrati erano leggermente più accurati sui compiti specifici che potevano gestire, essi non riuscivano a funzionare su molti dei dataset più grandi o complessi presenti nel set di test. LACE, al contrario, ha generato con successo una soluzione funzionante per ogni singolo compito che gli è stato assegnato.
Ciò che rende questo traguardo particolarmente degno di nota è la natura dell'output. I sistemi automatizzati tradizionali restituiscono spesso una "scatola nera" — un oggetto complesso e adattato che funziona bene ma è difficile da ispezionare o modificare per un essere umano senza una profonda conoscenza tecnica del framework software. LACE restituisce codice Python ordinario. Ciò significa che un data scientist può guardare il programma finale, vedere esattamente come i dati sono stati puliti, quali modelli sono stati scelti e come sono stati combinati, e poi modificare il codice per migliorarlo ulteriormente o adattarlo a un nuovo scopo. I ricercatori hanno scoperto che l'IA non si è limitata a copiare schemi esistenti; ha evoluto soluzioni diverse, combinando spesso diversi tipi di modelli in modi nuovi e scrivendo una logica personalizzata per fondere le loro previsioni. In molti casi, l'IA ha scritto il proprio codice per mescolare gli output di più modelli, un livello di flessibilità che i sistemi fissi non possono facilmente replicare.
Lo studio ha anche affrontato una preoccupazione comune nella ricerca sull'intelligenza artificiale: che l'IA possa semplicemente memorizzare le risposte alle domande del test perché le ha già viste durante il suo addestramento. Per prevenire ciò, i ricercatori hanno nascosto i nomi e i dettagli specifici dei dataset all'IA, fornendole solo una descrizione generale della dimensione e del tipo di dati. Nonostante questa mancanza di conoscenza specifica, il sistema ha comunque trovato soluzioni ad alte prestazioni, suggerendo che stesse realmente imparando come costruire pipeline efficaci piuttosto che richiamare risposte. I ricercatori hanno ulteriormente verificato che l'IA seguisse regole rigorose, come il non utilizzare ricerche interne nascoste per regolare i propri parametri, assicurando che i miglioramenti derivassero dal processo di ricerca evolutiva stesso.
Uno dei risultati più sorprendenti è stato la velocità con cui il sistema è migliorato. Il primo programma generato dall'IA era spesso difettoso o incompleto, ma man mano che il sistema iterava, ha imparato a correggere questi errori e a raffinare la logica. Al termine del processo, i programmi finali non erano solo validi, ma significativamente più accurati dei tentativi iniziali. I ricercatori hanno osservato che il sistema tendeva a favorire certi tipi di modelli, come gli ensemble basati su alberi, ma non rimaneva bloccato in un unico schema; esplorava una vasta gamma di combinazioni strutturali. Questa diversità suggerisce che il sistema sia capace di scoprire soluzioni che un essere umano potrebbe non pensare di provare, o che un sistema rigido non considererebbe mai.
Il lavoro dimostra che trattare l'apprendimento automatico automatizzato come un processo di scrittura ed evoluzione del codice apre una nuova frontiera. Si va oltre il vincolo di una libreria fissa di strumenti, permettendo al sistema di adattare la propria struttura al problema specifico in questione. Sebbene il costo computazionale per eseguire questi esperimenti sia stato elevato, richiedendo un tempo significativo per generare e testare migliaia di programmi candidati, i risultati suggeriscono che la capacità di produrre codice trasparente, modificabile e altamente efficace sia un compromesso prezioso. I ricercatori concludono che questo approccio offre una strada promettente, in cui la ricerca della migliore pipeline di dati è definita dalla creatività del codice stesso, piuttosto che dai limiti di un insieme di componenti pre-selezionati.
Sommerso dagli articoli nel tuo campo?
Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.