Come confrontare efficacemente le soluzioni di apprendimento automatico
Efficiently comparing machine learning solutions

Aumentare le possibilità di portare un modello in produzione
Quando si valutano e si confrontano soluzioni di apprendimento automatico, la prima metrica di valutazione a cui probabilmente ci si rivolge sarà la capacità predittiva. È facile confrontare diversi modelli con una singola metrica, e questo è perfettamente valido nelle competizioni di Kaggle. Nella vita reale, la situazione è diversa. Immagina due modelli: un modello che utilizza 100 caratteristiche e un’architettura complessa, e un modello che utilizza 10 caratteristiche e XGBoost. Il modello complesso ottiene un punteggio leggermente migliore rispetto al modello XGBoost. In questo caso, sceglieresti il modello con le migliori prestazioni o quello più semplice?
In questo post ti darò una panoramica dei diversi fattori che puoi prendere in considerazione durante il confronto di diverse soluzioni di apprendimento automatico. Con un esempio, ti mostrerò come confrontare i modelli in modo migliore rispetto all’utilizzo unicamente della capacità predittiva. Partiamo!
Oltre ai risultati delle previsioni, ci sono diversi altri fattori importanti da considerare quando si confrontano prototipi di apprendimento automatico. Questi fattori forniscono preziose informazioni sulla idoneità complessiva ed efficacia dei modelli in scenari reali. Concentrando l’attenzione non solo sulla capacità predittiva, aumentano le possibilità di portare la soluzione di apprendimento automatico in produzione.
I fattori sono raggruppati in quattro categorie: manutenzione, complessità di implementazione, costi e requisiti aziendali. Prima di tutto, il team del progetto dovrebbe decidere quali fattori sono importanti per il progetto. Durante la creazione delle soluzioni di prototipo, gli sviluppatori possono già prendere appunti sui diversi fattori.
- Come *non* ottenere modelli di Machine Learning in produzione
- Le complessità e le sfide dell’integrazione delle LLM nelle applicazioni
- La prescrizione dell’improvvisazione Utilizzare l’improvvisazione per aiutare i professionisti dell’analisi a portare cambiamenti
Manutenzione
Quanto è difficile raccogliere dati o effettuare l’ingegneria delle caratteristiche? Si utilizzano molte librerie diverse ed il modello è sensibile alla messa a punto dei parametri? Il progetto utilizza API standard che è possibile inserire in un flusso di lavoro? Questi aspetti rendono una soluzione più facile o più difficile da mantenere.
Se i dati provengono da molte diverse fonti interne ed esterne, ciò rappresenta uno svantaggio rispetto a una soluzione che si basa esclusivamente sui dati interni dell’azienda. Il motivo è che non è possibile fare affidamento completo sulle fonti esterne perché potrebbero subire modifiche o aggiornamenti che richiederebbero la ristrutturazione o la modifica della soluzione. Questo è un esempio di problema di manutenzione che può sorgere.
Un’altra parte della manutenzione è il monitoraggio. Ciò implica il monitoraggio delle metriche, la rilevazione delle anomalie o del degrado delle prestazioni e la risoluzione dei problemi che possono sorgere. Alcuni modelli forniscono robuste capacità di monitoraggio e risoluzione dei problemi. Questo può essere un vantaggio rispetto ad altri modelli.
Complessità di implementazione
La complessità di implementazione misura la difficoltà e lo sforzo necessari per implementare un modello in un sistema di produzione. Considera fattori come la disponibilità delle librerie necessarie, la complessità dell’architettura del modello e la compatibilità con l’infrastruttura esistente. Un modello che è facile da implementare e integrare nei sistemi esistenti può risparmiare tempo e risorse preziose durante la fase di implementazione.
Un altro fattore che può influenzare la complessità di implementazione è la familiarità con l’approccio. Scegliere un modello che si allinea alle competenze del team può influire significativamente sulla tempistica dello sviluppo.
Costi
È facile sviluppare un modello che costa molto denaro. I costi sono un fattore importante per quasi tutte le aziende. Se hai bisogno di una licenza costosa per una determinata soluzione, dovresti essere in grado di giustificare perché quella licenza vale i costi.
Puoi spendere denaro per l’acquisizione dei dati, lo storage dei dati, il (ri)addestramento, l’inferenza o le licenze e le sottoscrizioni. Anche le risorse per lo sviluppo della soluzione hanno un certo costo. Facendo una stima educata di questi costi in anticipo per ogni soluzione, diventa un altro fattore per confrontare le soluzioni.
Se i costi superano il budget (o il valore che il modello apporterà), dovresti rivalutare l’approccio. Può anche succedere che due soluzioni ottengano lo stesso punteggio su tutti i fattori tranne i costi. In quel caso, la scelta è semplice, la soluzione più economica è la migliore.
Requisiti aziendali
Ultimi ma non meno importanti sono i requisiti aziendali. Possono assumere molte forme; ecco alcuni comuni:
- Interpretabilità
Essere in grado di comprendere e spiegare previsioni specifiche è una parte fondamentale di alcuni processi aziendali. In quel caso, un modello facile da spiegare può essere di maggiore importanza rispetto alla capacità predittiva. Se l’interpretabilità è importante, si dovrebbe cercare di mantenere il modello semplice. È possibile sperimentare diverse tecniche di interpretazione e valutare quanto sia facile utilizzare la tecnica insieme al modello. - Time-to-market
In settori competitivi o quando si affrontano opportunità sensibili al tempo, la velocità con cui il modello può essere sviluppato e implementato può essere un requisito aziendale critico. Ridurre al minimo il time-to-market può essere essenziale per ottenere un vantaggio competitivo. Modelli che possono essere sviluppati e implementati rapidamente, con iterazioni minime o passaggi di preprocessamento complessi, possono essere vantaggiosi in tali scenari. - Conformità normativa
Alcuni settori, come finanza, sanità e assicurazioni, hanno rigorose normative e standard di conformità. I requisiti aziendali possono includere la necessità che i modelli selezionati rispettino queste normative, come leggi sulla privacy dei dati (ad esempio, GDPR), linee guida specifiche del settore o considerazioni etiche. I modelli devono essere conformi alle normative pertinenti per evitare rischi legali e reputazionali. - Inferenza in tempo reale
Alcune applicazioni richiedono previsioni in tempo reale (o quasi), in cui le decisioni devono essere prese entro limiti di tempo rigorosi. I requisiti aziendali possono specificare la necessità di modelli a bassa latenza che possano elaborare rapidamente i dati in arrivo e generare previsioni in tempo reale. I modelli che offrono capacità efficienti di inferenza in tempo reale sono cruciali per applicazioni sensibili al tempo come il rilevamento delle frodi o i sistemi di raccomandazione.
Confronto dei prototipi
Dopo essere consapevoli dei diversi fattori che possono svolgere un ruolo importante nella valutazione e nel confronto delle soluzioni, la tua prossima domanda potrebbe essere come confrontare questi fattori.
Non deve essere complicato. Innanzitutto, il team determina i fattori più importanti per il caso d’uso. Supponiamo che vogliano concentrarsi sulla capacità predittiva, sulla raccolta dati, sulla complessità generale dell’implementazione, sui costi di formazione e sull’interpretabilità.
Durante la creazione del prototipo, tutti prendono nota di questi 5 argomenti. Alla fine, è possibile compilare una matrice simile a quella qui sotto:

In cima ci sono i fattori determinati dal team. Sulla sinistra ci sono i quattro prototipi nel confronto. Il significato dei punti è il seguente: più grande è il punto, maggiore è l’impatto. Il colore del punto indica positivo (verde), neutro (grigio) o negativo (rosso). Quindi la capacità predittiva è molto buona per il prototipo 1, 3 e 4, e buona per il prototipo 2. La raccolta dati è buona per il prototipo 1 e 2, molto difficile per il prototipo 3 e un po’ difficile anche per il prototipo 4.
Questo è solo un esempio, è perfettamente lecito creare il proprio metodo di confronto. È possibile decidere di quantificare i punteggi, invece di utilizzare i punti. Ciò che rende interessante questo metodo è che fornisce una panoramica chiara e una comprensione diretta del prototipo con cui si dovrebbe continuare, che è il prototipo 1. Si potrebbe anche prendere in considerazione il prototipo 3, ma ha una parte di raccolta dati difficile.
Conclusione
Confrontando i prototipi per un caso d’uso nel modo descritto in questo post, aumenterai sicuramente le tue possibilità di arrivare alla produzione! Diventa facile motivare perché hai scelto un determinato metodo a chiunque in azienda.
È utile discutere i fattori di valutazione importanti con altri membri del progetto in anticipo, per assicurarsi che tutti siano sulla stessa pagina. La complessità dell’implementazione, la manutenzione, i costi e i requisiti aziendali sono difficili da ignorare nella maggior parte dei progetti. Concentrandosi solo sulla capacità predittiva, si potrebbero trascurare complessità che si presenteranno in seguito. Durante la creazione del prototipo, è possibile prendere note riguardo ai criteri e discuterli con il team al momento della valutazione, per scegliere il prototipo più probabile di successo.
Correlati
Semplifica i tuoi progetti di apprendimento automatico
Perché spendere molto tempo e impegno su un modello complesso è una cattiva idea e cosa fare invece
towardsdatascience.com
Metodi agnostici del modello per interpretare qualsiasi modello di apprendimento automatico
Una panoramica dei metodi di interpretazione: importanza delle caratteristiche per permutazione, grafici di dipendenza parziale, LIME, SHAP e altro.
towardsdatascience.com
Questi sono i Passi che Devi Seguire per Creare un Buon Prodotto di Scienza dei Dati
Dal problema alla produzione.
towardsdatascience.com