AI

Come creare prodotti AI realmente efficaci, fase 3: design del modello e valutazione (offline)

31/8/2021
Read in ENGLISH

Prodotti Machine Learning che funzionano? Nascono dalla ricerca dell’equilibrio

Negli ultimi post della serie abbiamo presentato le fasi - definizione del problema e scelta dei dati - preparatorie all’attività centrale nella creazione di prodotti AI, quella di design del modello e relativa valutazione delle prestazioni. Operazioni che richiedono grande equilibrio nel bilanciare l’accuratezza del sistema con la sua complessità - dato che, come insegnava Guglielmo da Occam già nel ‘300, “è inutile fare con più ciò che si può fare con meno”.

Blog post precedente

Metriche di valutazione e scelta della baseline: dove nasce l’efficacia dei modelli di ML

Questo percorso iterativo di design e valutazione del modello di Machine Learning è la fase più studiata del processo, tanto che si potrebbe definire “standard”, e viene seguita anche nel mondo accademico. A dire il vero, anche rispetto a questa fase dello sviluppo di soluzioni di Intelligenza Artificiale, in Aptus.AI seguiamo delle procedure declinate sul mondo del business. Innanzitutto, per creare un buon prodotto di ML bisogna scegliere metriche di valutazione che siano informative rispetto alla definizione di successo del business di riferimento. Ovviamente, per ottenere lo scopo, è necessario che la prima fase - quella di definizione del problema - sia stata completata in maniera adeguata. Ed è sempre l’obiettivo di business a fare da guida nella scelta di un sottoinsieme di dati di training che sia di valore per testare velocemente le versioni del modello - ne possono occorrere anche decine prima di passare dai test alla produzione. Oltre a ciò, prima della creazione del modello, occorre definire una baseline, un punto di partenza, che sia adeguato all’obiettivo. Se si tratta di dati non strutturati, si può usare come riferimento il livello medio di prestazione umana o - HLP (Human Level Performance) - mentre, per i dati strutturati, si può partire da un modello di ML già esistente, da usare come metro di paragone.

Un buon modello di Machine Learning bilancia complessità e accuratezza… con semplicità!

Definite le metriche e la baseline, si può passare al design del modello. Ed è a questo punto che la semplicità si rivela un criterio vincente. Nei sistemi di ML è sempre meglio partire dalla struttura più semplice possibile, per diverse ragioni. Oltre al già citato principio del cosiddetto rasoio di Occam, è evidente che i modelli più complessi possano risultare più accurati, ma anche più difficili da interpretare. Nel valutare un modello, però, occorre comprenderne le risposte, corrette o errate che siano. Nel post introduttivo di questa serie abbiamo già affrontato la differenza tra causalità e correlazione - due elementi che, se confusi, possono condurre a errori grossolani. Un modello più semplice, invece, è più facile da interpretare, oltre a richiedere un minor volume di dati per il training, come evidenziato anche dallo studio Deep double descent: Where bigger models and more data hurt. In generale, tenendo conto delle caratteristiche dei dati, della loro distribuzione e organizzazione, è sempre opportuno scegliere il modello più semplice. Una interessante guida allo “sviluppo responsabile” dell’AI si può trovare anche nell’articolo Toward trustworthy AI development: mechanisms for supporting verifiable claims. Infine, modelli di ML troppo grandi, che utilizzano miriadi di dati, implicano maggiori difficoltà nell’ingegnerizzazione dei dati. Insomma, è essenziale riuscire a trovare il giusto trade off tra complessità e accuratezza del sistema, ovvero un corretto bilanciamento che si raggiunge solo partendo dal modello più semplice possibile.

Iperparametri, analisi degli errori e versionamento: buone abitudini che fanno la differenza

Nella creazione di prodotti di Machine Learning, ci sono poi delle buone abitudini da seguire per ottenere il miglior risultato possibile. La prima è l’utilizzo di strumenti automatizzati per la selezione degli iperparametri. I cosiddetti auto-ML consentono infatti di ottimizzare il motore del modello, configurando automaticamente l’architettura, senza basarsi sulle intuizioni di chi la sta implementando. Un altra attività decisiva è l’analisi degli errori (tema ben trattato in questo articolo), da raggruppare manualmente per identificare le categorie che performano male, per comprendere cosa non funzioni e soprattutto perché. Infine, è sempre buona prassi eseguire un tracciamento puntuale sullo sviluppo del modello. Innanzitutto relativo agli esperimenti svolti, grazie a strumenti come notebook Jupiter, al fine di ottenere trasparenza e riproducibilità (per approfondire, rimandiamo a questo articolo). Ma è essenziale tracciare anche le diverse versioni dei modelli, sia per tornare alle precedenti in caso di necessità, sia per avere un quadro generale sul sistema di ML. Dovendo riassumere il tutto in due parole chiave: auto-ML e tracciamento.

Processi ormai consolidati? Sì, ma in Aptus.AI ridefiniamo gli standard

All’inizio del post abbiamo scritto che la fase di design del modello e di valutazione delle prestazioni è quella più consolidata nello sviluppo dei modelli di ML. Ed è proprio così, ma non ci si può fermare ai processi standard se si vogliono creare soluzioni di Intelligenza Artificiale che rispondano ai bisogni del mercato. Per questa ragione la procedura che seguiamo in Aptus.AI è stata studiata per ottenere i massimi risultati nell’applicazione del Machine Learning a problemi di business concreti. Ecco come è nato Daitomic, la nostra piattaforma interattiva per la gestione della compliance finanziaria. Volete testare in prima persona un prodotto AI realmente efficace?

DAITOMICMANIFESTOTEAMCAREERSBLOGCONTATTI
ENG
SEGUICI