Model Deployment e Model Feedback sono due tape della Data Science Methodology
La Data Science Methodology è una metodologia, cioè un sistema di metodi che, usati in una particolare area di studi, permettono di organizzare ordinatamente i task da completare per raggiungere uno specifico obiettivo.
Il nostro percorso è iniziato con il Business Understarning e l’Analytic Approach, seguito dal Data Requirments e Data Collection, e dalla definizione del Data Understaning e Data Preparation. È poi continuato con le fasi di Data Modelling e di Model Evaluation.
Ora la nostra concentrazione ricade sul Model Deployment e la fase di Feedback!
Model deployment | Introduction
Il rilascio di un modello in produzione, pronto cioè a gestire gli effetti compiti per cui è stato progettato, costituisce un fase delicata, spesso sottovalutata.
Il machine learning, inteso come ambito di lavoro, è complesso anche per questo: richiede competenze differenti, dall’analisi dati al rilascio in Cloud, passando per la creazione del modello.
In aziende di grandi dimensioni è spesso presente una figura specializzata per ogni operazione, nelle altre la questione si complica.
Il model deployment rappresenta per’altro un potenziale rischio di fallimento per un progetto di machine learning.
Dobbiamo infatti considerare una cosa fondamentale.
Ogni algoritmo di machine learning ha due grandi fasi di vita:
- fase di training, in cui il modello è allenato sui dati storici (historical data)
- fase di inferenza (inference), in cui il modello è usato per fare previsioni su dati nuovi con risultati sconosciuti.
Lasciando il nostro modello in locale, sul computer su cui è stato sviluppato, non apportiamo alcun valore aggiunto per l’azienda che ne ha richiesto lo sviluppo.
Tempo perso e risorse sprecate. Un fallimento può comunque insegnarci molto, anche se non sempre le aziende adottano questa mentalità.
Ci sono alcune sfide tecniche da affrontare per rilasciare un modello in produzione. Queste sono delle richieste di carattere generale che devono essere soddisfatte:
- automazione del rilascio degli algoritmi di machine learning
- continuous-integration, una pratica di sviluppo che consiste nell’apportare molteplici modifiche al progetto, in una code-base condivisa, anche su base giornaliera. Per valutare l’esito di un’integrazione si fanno ricorso a test automatici.
- riproducibilità degli algoritmi de delle previsioni
- diagnosi e monitoraggio degli algoritmi in produzione (la seconda parte di questo post)
- governance e conformità normativa. Tremendamente importante in una società sempre più attenta alla privacy e la sua tutela.
- scalabilità. Il tuo sistema deve funzionare bene tanto con 10k richieste la minuto quanto con 100k
- collaborazione utenti.
Approfondiamo ulteriormente il discorso nel prossimo paragrafo.
Model Deployment | Additional Consideration
Il modello prodotto in un progetto di data science risponderà alle domande individuate nella fase preliminare di Business Understanding.
La sua utilità sarà però nulla se gli stakeholders non potranno beneficiare in modo agile e funzionale dei suoi vantaggi.
A modello ultimato, inizia quindi la fase di rilascio e gli ultimi test condotti sul campo.
E’ un’operazione congiunta di diverse figure: IT Administrators, Domain Experts, e ovviamente noi in qualità di Data Scientists.
Il bacino di utenza che attinge al rilascio varia in funzione dello scopo del modello: possiamo scegliere un test environment oppure fornire il sistema ad un numero limitato di utenti.
Sistema perché il modello può tranquillamente essere implementato in una web app, ad esempio; massima facilità di condivisione, cross-platform e tempo d’installazione nullo. Basta un link e una connessione alla rete.
Ora che il nostro modello è accessibile da chiunque, inizia una successiva fase, altrettanto importante: quella di Feedback.
Feedback
Elimino un dubbio: il modello non sarà mai perfetto.
Tuttavia, può essere migliorato nel tempo con correzioni successive che la fase di feedback aiuta ad individuare.
L’obiettivo è raccogliere informazioni dagli utenti, e o dagli utilizzatori, analizzando i loro feedback sulle performance del modello, e osservando come questo si comporti nell’ambiente di rilascio, sia esso di test o di produzione.
È una fase che può conferire sostanziali benefici al modello nel lungo periodo.
Infatti è buona prassi aggiornare un modello complesso usando l’anno come riferimento, valutando l’eventuale implementazione di nuovi dati e la correzione delle performance generali.
Conclusione
Il tuo successo come Data Scientist dipenderà in larga misura dalla tua abilità nel:
- applicare i giusti strumenti, nel momento migliore, nell’ordine più corretto, per rispondere alle giuste domande.
Siamo giunti alla conclusione di questo breve, ma inteso, viaggio.
Il nostro percorso ci ha fatto aquisire molteplici conoscenze.
Giusto per fare un recap, ecco i punti chiave.
Abbiamo imparato a pensare come un data scientist:
- come definire un problema di business o di ricerca
- come raccogliere e analizzare i dati
- come costruire un modello
- come sfruttare i feedback dopo il rilascio
Siamo stati in grado di capire l’importanza di:
- fare le giuste domande
- scegliere l’aproccio analitico migliore
La lista continua. Sappiamo ora lavorare in modo metodico con i dati:
- individuare quelli richiesti
- raccoglierli nel modo migliore
- comprenderli a fondo
- manipolarli come meglio necessario
E infine, conosciamo ora come derivare le risposte dal nostro lavoro, attraverso:
- la fase di model deployment
- la valutazione delle performance del modello
- l’ottenimento di feedback
- l’uso dei feedback per migliorare il modello
Ogni fase, come sicuramente ricorderai, è iterativa.
Saluti
Abbiamo seguito questo percorso assieme.
Tante sono le cose che abbiamo scoperto, e molte quelle che vogliamo scoprire.
The more you know, the more you’ll want to know.
John Rollins – IBM Analytics
Mi è davvero piaciuto accompagnarti nelle fasi iterative della data science methodology, anche se ora è arrivato il momento di salutarci.
Eppure mi sembra di vedere nei tuoi occhi quella luce scintillante…
La conosco bene.
E’ il desiderio di conoscenza!
Non fermarti e seguimi in questa avventura. C’è ancora tanto da scoprire.
Un caldo abbraccio, Andrea.
PS. Per approfondire: Why we need a methodology for data science