Perché AutoML fa schifo? 
La maggior parte delle persone non usa AutoML. Penso che sia perché la maggior parte dei sistemi AutoML fa schifo per vari motivi.
 
Oggi, un data scientist dedica quasi il 60-80% del tempo a preparare i dati per la modellazione. Una volta che il modello è stato sviluppato, solo una frazione del loro tempo, ovvero il 4%, è dedicata al test e all’ottimizzazione dell’algoritmo. Inoltre, la crisi dei talenti nello spazio AI/ML sta diventando una sfida per molte organizzazioni. 

Per rendere l’esperienza senza interruzioni, nel 2018 Google ha rilasciato AutoML Vision , che ha creato automaticamente modelli di apprendimento automatico sui dati delle immagini, seguito da AutoML per la traduzione automatica e l’elaborazione del linguaggio naturale (NLP). AutoML è stata fondata da Quoc Le , un pioniere dell’intelligenza artificiale. Le ha fondato Google Brain nel 2011, insieme ad Andrew Ng e Jeff Dean.

 
In poco meno di cinque anni, AutoML è emerso come uno strumento di riferimento per molte aziende. Secondo Research&Markets, il mercato di AutoML toccherà i 14,5 dollari entro il 2030. Si dice che la crescita del settore sia alimentata da raccomandazioni personalizzate sui prodotti, dalla crescente importanza del lead scoring predittivo e altro. Molti esperti del settore ritengono inoltre che il mercato dovrebbe aumentare in cinque anni. 

L’amara verità 
Oggi, ci sono diversi attori nel mercato di AutoML, inclusi giganti della tecnologia, startup e fornitori di soluzioni open source. Alcuni di essi includono Google Cloud AutoML, DataRobot, Darwin e H20.ai. 

Ma la domanda è: le aziende utilizzano davvero AutoML? Se sì, quali sono i casi d’uso? In caso negativo, cosa impedisce alle aziende di utilizzare AutoML? – ha chiesto Mike Del Balso , cofondatore e CEO di Tecton, sulla piattaforma MLOps.community. Tecton è un negozio di funzionalità aziendali supportato da Sequoia per l’apprendimento automatico. 

“La maggior parte delle persone non usa AutoML. Penso che sia perché la maggior parte dei sistemi AutoML fa schifo per vari motivi. Posso elencare un milione di possibili ragioni per cui, ma in realtà non sono così sicuro che siano le ragioni corrette. AutoML dovrebbe essere fantastico, ma non lo è. Sono curioso”, ha aggiunto.   

Chiarindo lo stesso, ha detto: “In un certo senso so perché i sistemi AutoML generalmente fanno schifo; fanno solo una piccola parte del lavoro end-to-end effettivo. Ad esempio, come argomento di cliché al limite, quando parliamo di negozi di funzionalità in Tecton, spesso rimproveriamo gli strumenti AutoML per le loro demo ingannevoli. Trascina semplicemente *training_data.csv* e avrai un modello. Facile così!. Certo, ma da dove viene training_data.csv!? La domanda più grande, però, è perché questi strumenti fanno schifo? 

Laszlo Sragner , il fondatore di Hypergolic , ha affermato che AutoML è molto meno di un Santo Graal di quanto si pensi. “Quando vedo l’ottimizzazione HP, l’aumento delle prestazioni è marginale. L’attività di grande impatto è l’ingegneria delle funzionalità, che è specifica del dominio e non può essere automatizzata”, ha aggiunto, “Se superi questo, AutoML è ‘solo’ un generatore di lavori che mette in coda una serie di esperimenti (potrebbe dipendere da ciascuno altri, quindi la parallelizzazione può essere complicata) sulla base di un quadro quantitativo.  

Inoltre, ha detto che potrebbero aggiungere troppo poco valore rispetto a quello che fanno. Se puoi implementarlo con un po’ di matematica e incollare codice sul tuo sistema esistente, non avrai il vantaggio 10X che di solito si presume sia necessario per adattarti a un nuovo framework. 

Sragner ha affermato che è necessario un sistema simile a DSL (linguaggio specifico del dominio) per generare “esperimenti”, che di solito è troppo restrittivo per coprire un numero sufficiente di casi d’uso. 

In genere, un sistema AutoML deve definire il modello e le sue caratteristiche tramite una definizione API/dati. Oppure, come farà a conoscere lo spazio dei possibili candidati? – spiegò Sragner, svelando i codici – 

{
   ‘models’: [‘logreg’, ‘xgboost’, ‘nn’, ..],
   ‘strati’: [0,1,2,3],
   ‘caratteristiche’: [‘nome1’, ‘nome2’, …
}
E così via. 

“Questa è o troppo restrittiva o troppo semplice per essere una caratteristica killer. Questo potenzialmente non si applica ai sistemi che possono gestire (alberi di sintassi astratti) AST, vale a dire, guardare il codice e cambiarlo arbitrariamente (ma non ne ho mai sentito parlare), considerando la mia opinione negativa sull’intero argomento, dovrebbe essere trattato con non solo una spinta, ma un pugno pieno di sale”, ha detto Sragner.


Esempio di pipeline TPOT (Fonte: GitHub ). TPOT è uno strumento AutoML che ottimizza le pipeline di apprendimento automatico utilizzando la programmazione genetica.

Quanto è fantastico AutoML? 
Tomer Sagi, ingegnere del software presso Metaprov, ha affermato che la complessità di un sistema AutoML dovrebbe essere giudicata da: cosa è automatizzato? (ambito) e quanto è complessa l’ottimizzazione?

Inoltre, ha affermato che gli attuali sistemi AutoML accademici/open source sono limitati nell’ambito dell’automazione, ovvero affrontano principalmente il problema della selezione dell’algoritmo/della pipeline e dell’ottimizzazione HP. 

Secondo Sagi, AutoML può supportare: 

Convalida e test automatici dei dati 
Segnalazione automatica dei dati 
Generazione automatica di funzionalità e ingegneria delle funzionalità
Profilazione e reportistica del modello automatico 
Test di modelli automatici 
Distribuzione automatica del modello (distribuzione shadow, rilascio canary, ecc.) 
Monitoraggio automatico 
Riqualificazione automatica (se hai un modo per generare dati etichettati) 
 

Inoltre, ha affermato che il sistema AutoML potrebbe ottimizzare altri vettori oltre alle pure prestazioni (esempio: tempo e costi). Ad esempio, metodi come l’iperbanda possono far risparmiare tempo di formazione e costi di formazione significativi e il sistema AutoML può supportare l’ottimizzazione multi-obiettivo (esempio: ottimizzazione sia per l’accuratezza che per la latenza delle query), condivisa Sagi. 

“Sono d’accordo sul fatto che, alla fine della giornata, un ingegnere competente possa mettere insieme una coda di lavoro ed eseguire esperimenti. Tuttavia, lo stesso argomento può essere applicato alla maggior parte dei componenti della pipeline ML (ad esempio, un archivio di funzionalità). Quindi, tutto si riduce a “build vs buy” e “time to market”, ha affermato Sagi. 

Un altro esperto di intelligenza artificiale, Nikolai, ha affermato che AutoML ha diverse forme di implementazione. Alcuni progetti affermano che l’ottimizzazione degli iperparametri è AutoML, ma questa è una visione ristretta. Ha detto che AutoML è fantastico per lui, in cui può facilmente scaricare i dati e: 

Crea un mucchio di visualizzazioni in base ai dati 
Esegue il rilevamento della perdita del bersaglio 
Tenta di estrarre le funzionalità dai dati 
Prova tutti i tipi di codifica, binning, dimensionalità, riduzioni, raggruppamento
Prova i modelli più conosciuti sui dati (interpretabili vs flessibili) 
Tenta di eseguire l’ingegneria delle funzionalità (non basata sul dominio) 
Riduzione delle caratteristiche 
Cerca di costruire un frullatore e impilare i modelli migliori 
Crea documentazione di modello/conformità
“Potresti chiedere cosa fanno effettivamente gli utenti? Inquadrare problemi, collaborare con le parti interessate per comprendere il dominio aziendale, creare funzionalità basate sul dominio, ecc. Per me, mi piace programmare, AutoML eseguendo la maggior parte del lavoro ripetitivo delle gambe, ora posso vedere quali modelli tendono a fare meglio, le prestazioni di funzionalità ingegnerizzate e un mucchio di informazioni già preparate che non devo fare manualmente. Con queste informazioni, posso costruire un modello ancora migliore”, ha affermato Nikolai. 

“Sono umano. Posso dimenticare qualcosa o fare un errore; AutoML aiuta a convalidare le mie ipotesi e a creare controlli per assicurarmi che non faccia cose stupide (come la perdita di informazioni dall’holdout)”, ha aggiunto. 

AutoML in azione 
L’architetto di data science Swaroop Gudipudi ha affermato che la sua azienda utilizza AutoML per i sistemi di raccomandazione che si addestrano periodicamente. 

Balso di Tecton ha affermato che AutoML ha promesso da tempo, beh, di automatizzare il ML, ma in qualche modo ciò non è realmente accaduto. “In apparenza, sembra super utile: le persone devono ottenere un punteggio, prevedere il tasso di abbandono e consigliare prodotti. Perché non utilizzare un sistema automatizzato per farlo abbastanza facilmente? Bene, in realtà è ciò che la maggior parte delle persone fa, ma non lo chiamano AutoML; acquistano semplicemente un prodotto che automatizza i loro casi d’uso per loro”, ha aggiunto. Ha affermato di utilizzare Stripe Radar per implementare il rilevamento delle frodi sui suoi modelli. 

Inoltre, ha affermato: “Gli strumenti AutoML in genere sono deludenti, ma probabilmente non sempre, e non vedo perché debbano essere deludenti. Non vedo alcun motivo per cui non possiamo creare un solido AutoML per le applicazioni di produzione. Certo, sarebbe difficile, ma le persone fanno cose difficili. Dovrebbe essere super affidabile, semplice e affidabile. Dovrebbe essere veramente end-to-end e dovrebbe ottimizzare i nostri risultati aziendali, non l’AUC (area sotto la curva)”, ha affermato Balso, concludendo con una nota positiva. 

DI AMIT RAJA NAIK da analyticsindiamag.com

Di ihal