5 - 2021 Magazine Bimestrale di AgileForItaly [http://www.agileforitaly.com] disponibile su https://agileitalia.agileforitaly.com Magazine Bimestrale AgileForItaly AgileItalia MAGAZINE Agile & Data Science Team working in ambito Data Science Data Science (em)powered by Agile di Simone Merello di Pierpaolo Cimirro MLOps E’ possibile fare Intelligenza Artificiale di Matteo Testi usando Scrum? L’evoluzione del nostro pensiero aziendale verso di Giacomo Giovenzana la metodologia agile che diventa stile di vita Agile in Data Science aziendale Quattro pillole dalle trincee di Gianluca Tiesi di Daniele Miorandi Agile e mondo dei dati: ossimoro o connubio AgileBIM vincente? di Andrea Mengarelli e di Stefano Gatti Felice Pescatore Dalla sperimentazione Sulla transizione alla produzione con verso l’AGILE Machine l’MLOps Learning: cosa può di Andrea Gioia funzionare e cosa no Lean Leader di Carlo Metta Collaborazione armoniosa tra Data Data Governance nei Scientists e Ingegneri team di Data Science Software di Giulio Nicelli di Piero Cornice Essere un data Agile Data Science: scientist Scrum vs Kanban, il racconto di un’esperienza di Antonio Di Cecco di Davide Fiacconi, Fabio Muro Come facilitare la nascita di Community Oltre l’IT: Piero Savastano Of Practice sulla Data a cura di Vito Semeraro Science di Diego Sanvito AgileForItaly
#CHISIAMO Tiziano Interlandi, Agile Coach e Software Engineer. Batterista e co-fonico della Secchezza Delle Fauci. Co-fondatore di Agile For Italy. Pierpaolo Cimirro Product Owner. Co- fondatore di Agile For Italy. Davide Casari, Product Owner, Salesforce Specialist, co-fondatore di Vhagin, il gin dell’Agilista. Co-fondatore di Agile For Italy. Vi domanderete il perché di questa cosa. AgileItalia Pensiamo che in Italia sia necessaria una divulgazione massiccia su Agile. Fondatori ed Editori Come paese brilliamo di inventiva e capacità tecnica, ci manca Tiziano Interlandi, Pierpaolo Cimirro e Davide Casari però la struttura manageriale per portare questo paese ad un livello successivo. Sito Agile è un abilitatore. Abilita le persone a creare prodotti https://agileitalia.agileforitaly.com migliori, dominare la complessità ed introdurre una disciplina positiva, fatta di raggiungimento di obbiettivi. Mail Ci sono tanti entusiasti in Italia. Agile in Italia sta esplodendo. [email protected] Vogliamo aggregare e filtrare per tempo questa onda dando a tutti accesso alle informazioni ma anche una corretta e Slack strutturata informativa di qualità. agileforitaly.slack.com (canale aperto) Spesso siamo caustici, ma non confondentela con arroganza. Abbiamo i nostri modi, un po’ da badile e trattore. Ma ci piace Facebook così, genuino. agileitalia Cerchiamo di aggregare la conoscenza su Agile con tutto ciò che gira intorno: mondi, universi di informazioni, tecniche e LinkedIn pratiche difficili da sintetizzare e vogliamo far emergere le agileitalia realtà pratiche che sappiamo essere molte ma ancora da Twitter scoprire. Questo non sarebbe possibile senza ... agileitaliamagazine AgileForItaly 3A g i l e I t a l i a vuoi contribuire? scrivi ad [email protected]
Contents 17. Team working in ambito Data Science di Simone Merello 23. MLOps di Matteo Testi 27. L’evoluzione del nostro pensiero aziendale verso la metodologia agile che diventa stile di vita aziendale di Gianluca Tiesi 33. Agile e mondo dei dati: ossimoro o connubio vincente? di Stefano Gatti 39. Dalla sperimentazione alla produzione con l’MLOps di Andrea Gioia 48. Lean Leader: Collaborazione armoniosa tra Data Scientists e Ingegneri Software di Piero Cornice 56. Agile Data Science: Scrum vs Kanban, il racconto di un’esperienza di Davide Fiacconi, Fabio Muro 63. Oltre l’IT: Piero Savastano a cura di Vito Semeraro 69. Data Science (em)powered by Agile di Pierpaolo Cimirro 79. E’ possibile fare Intelligenza Artificiale usando Scrum? di Giacomo Giovenzana 88. Agile in Data Science Quattro pillole dalle trincee di Daniele Miorandi 92. AgileBIM di Andrea Mengarelli, Felice Pescatore 105. Sulla transizione verso l’AGILE Machine Learning: cosa può funzionare e cosa no di Carlo Metta 111. Data Governance nei team di Data Science di Giulio Nicelli 115. Essere un data scientist di Antonio Di Cecco 118. Come facilitare la nascita di Community Of Practice sulla Data Science di Diego Sanvito AgileForItaly thanks to la maggior parte delle foto all’interno di agileitalia sono un regalo di Unplash e dei suoi contributori. A questo link i fotografi che ci hanno aiutato https://unsplash.com/collections/v0DPGz1wvAY/2021_5
La Community delle Communities italiane PODCAST E CANALE YOUTUBE PODCAST Youtube Tiziano, Davide e Pierpaolo Rivedi gli eventi del Meetup e parlano di tematiche delle iniziative di AgileForItaly agili davanti ad una birra. Interviste e racconti dalla trincea. Segui il podcast su Spotify, Apple Podcast, Spreaker. Agile For Italy Lean Beer Agileforitalymilano 5A g i l e I t a l i a
In questo numero Tiziano Interlandi Pierpaolo Cimirro Davide Casari {Editori & Autori ,, { { Giulio Nicelli Vito Semeraro Piero Savastano Simone Merello {Autori ,, ,, Diego Sanvito Gianluca Tiesi Stefano Gatti Andrea Gioia ,,, , Piero Cornice Carlo Metta Davide Fiacconi Fabio Mauro Giacomo Giovenzana ,,,, , Antonio Di Cecco Daniele Miorandi Matteo Testi Felice Pescatore Andrea Mengarelli ,,, ,
Ad Oggi... 12 120 61 Numeri Articoli Autori Vuoi contribuire anche tu come autore? Se vuoi contribuire come autore leggi attentamente il disclaimer su https://agileitalia.agileforitaly.com mail https://sessionize.com/call-for-agile-for-italy/ [email protected];[email protected] https://www.linkedin.com/in/tizianointerlandi/ 7A g i l e I t a l i a
Il valore etico della Qualità La passione per la QUALITA’ del GRUPPO GALGANO è insita nel nost�o DNA dal 1962. Con le nost�e a�ività di Consulenza di Direzione e For�azione Manageriale, lavoriamo a fianco di aziende di og�i se�ore e dimensione g�azie ad un team di consulenti realizzatori for�emente orientati ai risultati. La nost�a missione è far crescere le persone, t�asferendo know‐how innovativo, che aiuti a sviluppare la competitività delle aziende nost�e clienti “Non si può fare Qualità senza coinvolgere la mente e il cuore delle persone” Via della Moscova 10, 20121 Milano Tel 02.39.605.1 - [email protected] - www.galganogroup.com
Live happily ever after without projects il nuovo libro di Dimitri Favre compralo su Amazon I am a passionate and experienced IT professional with strong executive and technical background. I’m a lean thinker and an agile addicted: I am continuously searching and uncovering better ways of developing IT solutions. I am a #noprojects enthusiast and I wish people live happily ever after without (software) projects. I grew up on a wide front of technologies, covering the most popular development platforms, systems and applications. I developed strong skills in architectural design, with a vision that cover both the whole and the finer details. Specialties: Agile and Transformation Coaching, Process Improvement, Team Organization, IT System and software architecturestures There is a problem between software and projects. Software projects fail, and even when they succeed, there’s no guarantee that the resulting product will delight customers.In the digital age, organizations need to shift from a project-centric mindset to a customer-centric one, in which products are first-class citizens. This mindset shift is at the heart of #noprojects, a deliberate act of continuous product management.The book analyzes the mismatch between software and projects, then describes the four pillars (and the companion principles) of a #noprojects organization;- Experiments over projects- Stable teams over temporary endeavor- Outcomes over execution- Products over softwareThrough this book, you will learn how to stop focusing on projects, create digital products that your customers will love, and live happily ever after. 9A g i l e I t a l i a
11A g i l e I t a l i a
13A g i l e I t a l i a
Editoriale Scrum Master, Agile Coach e Product Owner soffrono essenzialemente di una sindrome ossessivo- compulsiva (sconosciuto) AgileForItaly
Editoriale di AgileForItaly Un dato ... tanti ‘‘valori’’ Se io prendessi il numero 50 e iniziassi a farmi delle domande per indurci quasi a pensare che il 50% rappresenta la massima potrei precipitare in un vortice surrealista: ma 50 cosa? È poco percentuale raggiungibile. o tanto? È positivo o negativo? Ma stiamo parlando di valore Tutto questo non è frutto di deviata fantasia o brutti sogni ma è assoluto oppure di percentuale? E’ il valore di partenza oppu- la realtà di evoluzione prodotto che quotidianamente viviamo re il valore massimo o magari l’ultimo valore ottenuto? Quanto perché i numeri, e la grandissima quantità di informazione che tempo ci abbiamo impiegato per calcolarlo? E a che costo? Gli sottendono, sono l’elemento principale per essere informati “altri”, la concorrenza, che valore raggiungono? Siamo avanti ri- e per le decisioni. Chi conosce la differenza tra Data Driven e spetto agli “altri” o dobbiamo inseguire e migliorare? Data Informed? Se cominciassimo a contestualizzare questo numero all’interno Da questa considerazione è evidente come sia fondamentale: di un dataset informativo e magari aggiungessimo l’unità di mi- • ⦁conoscere bene i dati e saperli interpretare; sura o la qualificazione riusciremmo sicuramente a fare un pas- • strutturare dei solidi processi di Data Governance; so avanti e azzardare il concetto di dato e informazione: “siamo • migliorare sempre più la rappresentazione dei dati per faci- arrivati ad avere il 50% di tutto il dataset disponibile”, “l’accuracy del modello è del 50%”, “abbiamo bisogno di 50 server per far litarne la comprensione; girare l’algoritmo”, “con il nostro modello siamo riusciti a su- • aumentare l’expertise di trovare degli insights nascosti nei perare il precedente livello di qualcosa che era fermo a 45”, “siamo i primi ad arrivare a 50”, viceversa “siamo ancora a 50!!”. dati producendo altri dati; • perseguire il miglioramento continuo sfruttando gli abilita- Se questo 50 lo calassimo all’interno di un contesto di Data Science avremmo ulteriori interpretazioni: qualsiasi Data Scien- tori tecnologici e le tecniche di AI e Data Science; tist, a prescindere da tutto, dirà che un modello che performa • divulgare la cultura del dato e dell’algoritmo (negli indicatori principali) al 50% è scadente e deve essere mi- e soprattutto gliorato … c’è la possibilità di arrivare al 100%; un Data Engineer • c⦁ ostruire team solidi e performanti che abbiano la capacità potrebbe concentrarsi sul 50% rispetto al consumo di risorse del modello, l’effort che ci è voluto a realizzarlo e a manute- di individuare nuove percorsi di business. nerlo; un sales dirà che sicuramente si può provare a propor- In questo numero cerchiamo di approfondire il binomio Dati e re l’algoritmo al mercato e se il 50% dovesse essere un valore Data Science (come elementi dal potenziale altissimo) e Agile non raggiunto da nessuno automaticamente diventerà il mi- come metodologia per sprigionare, canalizzare e governare il glior modello del mondo e quasi per magia il 50% sarà venduto potenziale dei dati. Agile ci aiuta a valorizzare i diversi punti di come 100% e oltre; un esperto di marketing cercherà il wor- vista e molteplici possibili interpretazioni favorendo la conver- ding della scala di valori per orientare il pensiero di chi ascolta: genza decisionale che è il principale elemento che garantisce 50% alto, 70% altissimo, 90% eccellente, 100% irraggiungibile; l’execution. un esperto di Data Viz inventerà le forme e i colori più strani 15A g i l e I t a l i a
Le Community italiane che supportano AE Conference All'interno delle community locali ci sono ricchezze ed esperienze che vanno sostenute e raccontate Visione Agile - Cosenza LinkedIn : visioneagile Facebook : visioneagile Scrum Agile Milano SAM Meetup : Scrum-Agile-Milano-SAM Agile Talks Roma Meetup : Agile_Talks Agile For Italy - Milano Meetup : AgileForItalyMilano sito: https://www.agileforitaly.com Agile Marketing Italia LinkedIn : Agile Marketing Italia https://www.linkedin.com/ groups/13607881/ Limited WIP Society Meetup: https://www.meetup.com/ Limited_WIP_Society School Of AI sito: http://www.schoolofai.it/ Talent Garden Cosenza sito: https://talentgarden.org/it/ coworking/cosenza/
Team working in ambito Data Science Simone Merello Inizia la sua carriera come ricercatore in ambito ML presso l’università NTU di Singapore. Successivamente esce dall’ambito accademico per diventare prima Research Scientist ed ora Head of Deep AI presso Perceptolab. 17A g i l e I t a l i a
Sin dai primi approcci con il mondo della Data se che sono state utili in passato e che saranno Science viene spesso presentato il classico wor- probabilmente utili per risolvere problemi simili kflow basato su una serie di passi: (1) collezio- in futuro, evitando quindi di ripartire “da zero”. nare i dati, (2) pulirli / aggregarli / trasformarli per ottenere dei valori il più connessi possibile Nasce quindi l’idea di avere accesso ad un Data con il task corrente, (3) esplorare i valori ottenu- Lake che sia costantemente popolato con una ti, (4) addestrare uno o più modelli ed infine (5) serie di features aggiornate ai valori attuali. applicare il miglior modello ottenuto per risol- Questo è il primo punto di contatto per spez- vere il task iniziale. zare il classico workflow della Data science ed assegnarlo a due figure ben distinte: Data en- Questa visione della data science è molto con- gineers e Data scientists. I Data Engineers sa- cisa, al prezzo di tralasciare molti dettagli che ranno le persone su cui fare riferimento per la sono però fondamentali nella pratica. Salta su- parte di gestione dei dati. Questi si occupano bito all’occhio che il workflow precedente non di creare e mantenere una serie di pipelines di fornisce nessun particolare su come coopera- ingestion (ETL pipelines) che forniscono dati ai re per svolgere tutti i passaggi: sembra che una modelli durante le fasi di training e di inferenza. singola persona debba farsi carico di ogni singo- I Data scientist sono i consumatori di questi dati la operazione dalla collezione dei dati all’appli- allo scopo di creare, aggiornare modelli o rica- cazione del modello finale, ma ciò risulterebbe vare insights. La collaborazione tra queste due senza dubbio infattibile e poco professionale. figure è fondamentale ed i risultati del progetto dipendono fortemente dalla loro interazione. Partiamo dal principio: collezionare i dati. Nel- la realtà applicativa i dati sono la materia prima I Data Engineers devono provvedere dati di otti- più preziosa a disposizione di un’azienda. Vor- ma qualità, uniti ad una chiara descrizione della remmo perciò assicurarci che essi siano sem- loro provenienza: per un Data scientist deve es- pre condivisi, catalogati e facilmente accessibi- sere chiaro che cosa una feature rappresenta, se li. Ma non solo i dati grezzi: l’obiettivo è quello un dato potrà esser usato o meno per creare un di condividere anche le procedure per pulire / modello (magari perchè non sarà disponibile al aggregare / trasformare i dati ed i risultati del- momento dell’inferenza) e quanto è costoso uti- le analisi esplorative. L’implementazione di ogni lizzare quella feature per fare inferenza (in ter- singolo passaggio del classico workflow di data mini di tempo, costi computazionali e manuten- science non dovrebbe essere svolta al solo fine zione della dipendenza). D’altro canto, spesso risolvere il task corrente ma dovrebbe mirare i Data scientist tramite le loro analisi scoprono alla creazione di “blocchi” che siano abbastanza che avere una determinata feature può essere flessibili da essere riutilizzati. Così facendo, ogni di prezioso aiuto per il progetto, perciò dovran- volta che ci viene presentata una nuova chal- no interagire con i Data Engineers per verificar- lenge possiamo attingere ad una serie di risor- ne la fattibilità.
https://www.tecton.ai/blog/what-is-a-feature-store/ Un framework molto usato per costruire ETL pi- Recentemente, è stata creata una soluzione più pelines è Apache Airflow. Airflow permette di specializzata per gestione delle features deno- schedulare ad intervalli temporali ben defini- minata “Feature Stores”. Un Feature store rap- ti centinaia (o migliaia) di pipelines aventi po- presenta un sistema centralizzato che nasce tenzialmente dipendenze tra loro. E’ possibile per la gestione di dati usati specificamente per monitorare ogni singola l’esecuzione delle pi- progetti di Data Science. pelines, gli eventuali Service Level Agreement da rispettare e ri-schedulare i workflow su date passate nel caso qualcosa vada storto. 19A g i l e I t a l i a
Come Apache Airflow, i Feature stores orche- atures usate per la sperimentazione, calcolate strano pipelines di Trasformazione dei dati, sia- seguendo la stessa procedura. no essi dati batch o streaming. Ciascuna featu- re, sia essa creata o consumata in “streaming” o Si aggiunge inoltre una parte di monitoring allo memorizzata e processata in batch viene gesti- scopo di controllare la qualità e la correttezza di ta con tecnologie specifiche per garantire bas- ciò calcolato: possiamo controllare che le fea- sa latenza ed uno storage scalabile. Le features tures calcolate rientrino in uno schema ben de- vengono messe a disposizione dei Data Scien- finito, o che la distribuzione dei valori non vari tist che potranno creare nuovi modelli partendo nel tempo (il cosiddetto “Distribution shift” noto da esse. La peculiarità offerta dai Feature sto- per peggiorare le performances dei modelli con res è quella di avere un sistema centralizzato il tempo). Non di minore importanza è la parte che fornisca i dati sia durante la fase di speri- di “Registry” che consente di trasformare il Fe- mentazione che durante quella di produzione, ature store in un effettivo “Catalogo” dei dati a ottenendo quindi la garanzia di ritrovare in pro- disposizione. duzione esattamente gli stessi valori delle fe-
I dati non sono l’unico aspetto del workflow su collaborazione nel team tramite la condivisione cui porre la nostra attenzione, anche la fase di ed il confronto di singoli esperimenti, i punti di sperimentazione ha i suoi punti deboli. Una del- forza e di debolezza di ciascun modello al fine le difficoltà maggiormente riscontrate è quel- di estrapolare la soluzione migliore. Vorremmo la di tenere traccia di ciò che sta accadendo. inoltre memorizzare tutte le informazioni ne- Quando si ha a che fare con più progetti cia- cessarie a riprodurre un esperimento. La ripro- scuno dei quali connesso a multipli esperimen- ducibilità rappresenta un punto di partenza, che ti, persone, dati e modelli diversi risulta mol- possiamo utilizzare per eventuali miglioramen- to difficile tenere a mente lo stato attuale e la ti. Vorremmo fare in modo che i risultati di ogni direzione di sviluppo per ciascun progetto. Ci esperimento siano (come per i dati) condivisi, piacerebbe avere un modo semplice per trac- catalogati e facilmente accessibili in modo che ciare tutti gli esperimenti eseguiti ma siccome anch’essi entrino a far parte di quella “knowled- il risultato di un esperimento dipende da dati, ge base” condivisa che ci permette di non ripar- codice, modelli, infrastruttura ed altro ci ponia- tire da zero ogni nuovo progetto. Ed infine vor- mo multipli obiettivi. Prima di tutto vorremmo remmo gestire l’infrastruttura su cui avvengono catalogare cosa è già stato fatto, cosa potreb- gli esperimenti, al fine di dare le giuste risorse be essere utile fare e vorremmo poter valutare computazionali a ciascuno di essi. quanto siamo soddisfatti con i risultati ottenuti finora. In secondo luogo, vorremmo favorire la 21A g i l e I t a l i a
Vi sono molte piattaforme che aiutano nella ge- luppare modelli di Machine Learning. Con Ku- stione di questi aspetti, risulta però molto dif- beflow è possibile gestire pipelines per creare ficile trovare una singola soluzione che soddi- o aggiornare modelli, fare sperimentazione tra- sfi perfettamente i bisogni del team. Spesso si mite Jupyter notebooks, avviare lavori di hyper- opta per adottare una moltitudine di strumenti parameter tuning e creare i servizi di inferenza. che risultano di difficile integrazione, poco ge- La parte di pipelines, la più connessa con l’o- stibili e ancor peggio, difficili da abbandonare biettivo di questo articolo, permette di eseguire una volta adottati. Il mio consiglio a tal riguardo una serie di passi (docker container) connessi è di valutare con cautela prima di adottare que- tra loro ed eseguiti in un certo ordine. Una pi- ste piattaforme e di utilizzare questi strumenti peline è connessa con tutte le sue esecuzioni, per risolvere problematiche di cui siamo già a che tengono traccia di tutti gli input ed output conoscenza, evitando di concentrarsi su “even- (anche intermedi) avvenuti durante il processo. tuali ipotetici scenari futuri”. Kubeflow mette a disposizione un “Artifact sto- re” contenente i risultati di ciascuna esecuzione Una delle piattaforme più famose è Kubeflow. di una pipeline. Questo, rappresenta un secon- Kubeflow nasce per trasformare un cluster di do fondamentale punto di contatto per la col- macchine in una piattaforma “all-in-one” per svi- laborazione di un data science team. Abbiamo una lista di modelli, ciascuno connesso alle sue performance ed alla procedura che lo ha crea- to. Risulta quindi molto semplice per un ML En- gineer selezionare un modello, e creare un ser- vizio di inferenza basato su di esso, conoscendo gli input, il preprocessing e l’output atteso. Un progetto di Data Science richiede molti step, ciascuno altamente specializzato ed i migliori risultati vengono fuori solo grazie ad una stretta collaborazione tra tutte le parti. I Data lake o gli Artifact Store possono essere punti di contatto tra i team e molte piattaforme sono state recen- temente costruite per favorire la collaborazione ma le tecniche di lavoro Agile sono ancora fon- damentali per la cooperazione tra tutte le parti.
MLOps Matteo Testi Matteo Testi is an entrepreneur with a strong background in Computational Neuroscience and Data Science with a focus on Deep Learning models and Cloudera Ecosystem. He founded Deep Learning Italia the biggest e-learning platform in the Artificial Intelligence area in the Italian language. He was one of the technical writers for the Artificial Intelligence Italian white paper. In January 2018 he founded Icaro Artificial Intelligence solution a Fintech company with a focus on Deep Learning models for Asset Allocation. https://www.linkedin.com/in/matteo-testi/ https://www.deeplearningitalia.com/ 23A g i l e I t a l i a
Un modello di machine learning (ML) è un to automatico sono stati semplificati da tools software “compilato” di dati [1]. Questo punto come Seldon Core (Cox et al., 2018), KFServing propone di studiare le somiglianze rispetto al (KFServing, 2019), Kubeflow (Kubeflow, 2018) e software tradizionale. Come un software tradi- MLFlow (Zaharia et al., 2018). Una delle grandi zionale, un modello ML distribuito in produzio- sfide in MLOps è progettare sistemi in grado di ne subisce inevitabilmente il processo DevOps, monitorare in real-time l’andamento del model- un processo il cui scopo è quello di “shorten lo e generare avvisi quando la prestazione del the system development life cycle and provide modello sta cambiando (Diethe et al.,2019)[5]. continuous delivery with high software quality” Per questo motivo proviamo a identificare le at- [2]. Il termine “MLOps” viene utilizzato quando tività chiave per il successo di una applicazione questo processo DevOps è specificamente ap- di ML: plicato al machine learning [3]. Diverso da un software tradizionale, la qualità di un modello 1. Comprensione dei problemi aziendali ML (ad esempio, accuratezza, correttezza e ro- Stabilire la comprensione del business e i criteri bustezza) è spesso un riflesso della qualità dei di successo per risolvere il problema. dati, scelta del modello dall’ ottimizzazione de- gli iper-parametri. MLOps mira a comprendere, 2. Funzionalità e archiviazione del set di dati misurare e migliorare la qualità dei modelli ML Stabilire la comprensione del business e i criteri [4]. di successo per risolvere il problema. Quindi il ciclo di vita di un progetto di machine • Estrazione dati: selezionare e integrare i dati learning è costituito da molte fasi complesse, come per esempio la preparazione dei dati, la rilevanti per l’attività ML. scelta del modello e la messa in produzione. • Analisi dei dati: analisi esplorativa dei dati L’attenzione del mondo accademico è incentra- ta sulle prime fasi di vita di un progetto come per comprendere lo schema. Preparare i dati la preparazione dei dati e la scelta del modello. per la progettazione del modello. Le fasi rimanenti nel ciclo di vita di un progetto di machine learning vengono spesso trascurate 3. Pulizia dei dati nonostante siano fondamentali per il successo L’output di questo passaggio è il dataset predi- di tali modelli in applicazioni industriali. Proprio sposto per essere passato al modello di ML. per questo, negli ultimi anni, il problema di come Ad esempio, i valori Null vengono trasformati in distribuire e scalare i modelli di apprendimen- zero o gli outlier vengono esclusi dal set di dati.
4. Metodologia analitica ML • Un modello incorporato in un dispositivo pe- Selezionare i migliori algoritmi ML per risolvere riferico o mobile. il problema. Il machine learning è sperimentale, bisogna provare diverse funzionalità, algoritmi e • Parte di un sistema di previsione batch. configurazioni di parametri e iperparametri per trovare il modello migliore per risolvere il pro- 7. Continuous delivery (CD) blema. L’obiettivo della fase di test prima della produ- L’obiettivo principale è tenere traccia di tutti gli zione è valutare il livello di affidabilità di un mo- esperimenti e mantenere la riproducibilità mas- dello per l’implementazione in produzione [6]. simizzando la riutilizzabilità del codice. L’obiettivo della fase di distribuzione è consen- tire un’implementazione senza interruzioni con 5. Modello di training e test la possibilità di implementare nuovi modelli con Una volta scelti i migliori modelli ML, dobbiamo il minor rischio possibile. Le migliori pratiche nel fare diversi training sul nostro dataset. Il model- Continuous delivery di servizi software preve- lo viene valutato su un set di test di controllo dono l’utilizzo di tecniche di distribuzione sicu- per controllare la qualità del risultato. Una volta re, come i test A/B. completata questa iterazione, salviamo i pesi dei migliori modelli e li distribuiamo utilizzando 8. Continuous training (CT) l’infrastruttura API. Durante il Continuous training, dobbiamo con- tinuare a impostare il set di dati nello stesso 6. Continuous Integration (CI) modo in cui addestriamo il nostro modello. Ciò La Continua Integrazione sta nel testare, e con- significa rilevare il valore anomalo per capire validare il codice, set di dati, schemi di dati e quando la distribuzione dei dati diverge dai dati modelli. Il modello convalidato viene distribuito di addestramento. CT si occupava di riqualifica- in un ambiente per preparare le funzioni di pre- re automaticamente i dati e servire i modelli. visioni o classificazione. Questa distribuzione può essere una delle seguenti: 25A g i l e I t a l i a • Microservizi con API REST
9. Continuos Monitoring (CM) In conclusione, implementare modelli di ML in L’obiettivo principale durante la fase di monito- produzione è difficile e soprattutto non significa raggio è gestire i rischi dei modelli in produzio- solo distribuire il modello con delle API. Piutto- ne controllando le varie metriche e prestazioni sto, significa implementare una pipeline ML in [7, 8] e avvisando un operatore sull’andamento grado di automatizzare il training e l’implemen- del modello. tazione di nuovi modelli. L’impostazione di un sistema CI/CD consente di testare e distribuire 10. Explaining models automaticamente nuove implementazioni di pi- L’explainability del modello consente all’utente peline. Il CM ti permette di avere sempre una di creare fiducia nelle previsioni/classificazioni valutazione in termini di metriche per valutare fatte dal sistema di ML, migliorando la traspa- i vari modelli e l’explainability ti aiuta a capire renza e l’affidabilità di tali sistema. L’utente può meglio come il modello sta ragionando [9]. verificare quali fattori hanno contribuito a deter- minate previsioni/classificazioni, introducendo un livello di responsabilità. MLOps automation pipeline [9] [1] A. Karpathy. Software 2.0. https://medium.com/@karpathy/software-2-0-a64152b37c35, 2017. [2] L. Bass, I. Weber, and L. Zhu. DevOps: A software architect’s perspective. Addison-Wesley Professional, 2015. [3] S. Alla and S. K. Adari. What Is MLOps? In Beginning MLOps with MLFlow, pages 79–124. Springer, 2021. [4] C. Renggli, L. Rimanic, N. Merve Gurel, B, Karlas, W. Wu, C. Zhang. A Data Quality-Driven View of MLOps, 2021 [5] J. Klaise, A. Van Loovern, C. Cox, G. Vacanti, A. Coca. Monitoring and explainability of models in production, 2020 [6] J. M. Zhang, M. Harman, L. Ma, and Y. Liu. Machine learning testing: Survey, landscapes and horizons, 2019. [7] J. G. Moreno-Torres, T. Raeder, A.-R. Rocio, N. Chawla, and F. Herrera. A unifying view on dataset shift in classi_cation. Pattern Recognition, 45, 2012. [8] R. Alaiz-Rodr_guez and N. , Japkowicz. Assessing the impact of changing environments on classi _er performance. In Proceedings of the 21st Conference on Advances in Artificial Intelligence, Canadian AI '08. Springer, 2008. [9] https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning#devops_versus_ mlops
L’evoluzione del nostro pensiero aziendale verso la metodologia agile che diventa stile di vita aziendale Gianluca Tiesi Co-founder e General Manager presso TI&SI Srl da quasi 20 anni. PMP e Data Scientist che applica, diffonde e infonde il lean thinking. Istruttore Subacqueo. 27A g i l e I t a l i a
Data Science così da aiutarlo nelle sue scelte. Un software per costruire un modello predittivo e proporre La traduzione letterale, com’è facile intuire, è contenuti interessanti, sulla base del compor- scienza dei dati ma la data science è qualco- tamento di altri utenti considerati simili. Milioni, sa di molto più ampio e complesso, un mondo miliardi, quadrilioni di bit che rimbalzano da una aperto che riserva ancora straordinarie sorprese parte all’altra del continente solo per proporti che neanche noi addetti ai lavori riusciamo ad la mountain bike dei tuoi sogni. Ma allora è sta- immaginare. Banalmente, la data science è la tistica sui grandi numeri ? No, è molto più che scienza che estrae valore dai dati restituendolo un semplice shaker dove aggiungere jigger di sotto forma di conoscenza. Si tratta di un valore dati per ottenere freschi cocktail di conoscen- per così dire “nuovo” poiché sarebbe stato inim- za. La data science, tecnicamente, comprende maginabile produrlo qualche decennio fa senza la preparazione dei dati per l’analisi, inclusa la l’apporto delle tecnologie moderne. E così sia- pulizia, l’aggregazione e la loro manipolazione mo passati dalla magnificente macchina di Alan per eseguire analisi avanzate sugli stessi. Tutto Turing, con la quale riuscì a decodificare i codici questo fa riferimento solo ad una parte di set up segreti nazisti durante la Seconda Guerra Mon- paragonabile all’impastare la malta prima nella diale, all’applicazione Altanex di Google che edificazione della cattedrale della conoscenza. elabora il comune linguaggio naturale (NLP), Tutto il resto è vera scienza del sapere che com- le diffuse applicazioni in campo medico, indu- bina più campi, tra cui statistica, metodi scienti- striale, fino al mega computer di bordo Dojo fici, artificial intelligence e analisi dei contenuti, con il quale Tesla sarà in grado di gestire enormi per estrarre valore dai dati, così come l’enolo- quantità di dati video in pochissimo spazio fisico go esperto estrae pregevoli vini da uve pigiate. a supporto del sistema Autopilot. Il data scientist è il nostro enologo con il gu- sto e l’olfatto da sommelier. È grazie alle sue Avrai notato che il tuo marketplace preferito ti competenze, al suo istinto ma soprattutto alla propone sempre prodotti che rientrano nella sua esperienza che la conoscenza prende for- sfera dei tuoi desiderata o comunque offerte in ma e sorprende suggerendo nel merchandising linea con le tue esigenze. Anche se non hai cer- di posizionare la birra nel percorso che porta ai cato quella mountain bike, la tua curiosità non pannolini perché risulta, grazie ad una regola riesce a cedere alla tentazione di cliccare su associativa di data mining applicata nell’analisi quel link e dopo qualche minuto magari la hai di milioni di scontrini, che un carrello su 50 è ri- anche aquistata. Il merito è dei recommendation empito da giovani papà che, “mandati a compra- engine programmati come motori di filtraggio re” i pannolini per proteggere il popò del proprio dei contenuti al fine di creare delle raccoman- bebè, non rinunciano ad un rilassante boccale dazioni personalizzate specifiche per l’utente, di bionda.
La data science è empirica allo stato puro. teoria SCRUM. Queste macchine entrano a far parte del team e con esso imparano a percepi- Basti pensare alle soluzioni offerte dall’artifi- re, comprendere, agire e apprendere e da mac- cial intelligence, “macchine” in grado di agire chine incapaci diventano con l’esperienza cer- con livelli di intelligenza simili a quelli umani velli esperti. Si, perché man mano raggiungono ma con una capacità di calcolo di gran lunga capacità che attivano processi pensanti basa- superiore. Ebbene, queste macchine sono pro- ti proprio sui tre pilastri dell’empirismo Scrum: grammate per apprendere dall’esperienza. Si, trasparenza di azione, ispezione dei progressi e proprio quell’empirismo che è alla base della adattamento alle deviazioni indesiderate. 29A g i l e I t a l i a
Ma può un computer pensare Agile? Il pensiero agile non si impone, non si partecipa Non lo so. Si potrebbe pensare di addestrarlo né si può upgradare con una semplice certifica- allo scopo. In realtà, solo il pensiero mi intristi- zione. Il pensiero agile è e non può non essere, è sce. Sono macchine e, pur sforzandomi, rifiuto ingenerato e imperituro. Non nasce all’improv- il pensiero estremo di dover attivare procedure viso e non muore alla chiusura di un progetto. etiche di dismissione (eutanasia del pc), diritti È un approccio, uno stile di vita, un credo. Dalla civili o magari aver a che fare con il sindacato mia esperienza, era ciò che cercavamo da anni dell’intelligence device. Ma le stesse possono e non riuscivamo a infondere tecnicamente ma offrire un enorme contributo anche con appli- soprattutto far accettare per le rigide norme cazioni supportate dalla data science. Ad esem- ISO. Avevamo apprezzato e voluto conseguire pio nella temporizzazione dello scrum planning la certificazione etica SA8000 nel 2005, erava- sulla base della complessità dell’incremento mo solo circa 500 aziende in tutta Italia. Un im- che si intende apportare e delle esperienze let- pegno sulla responsabilità sociale che prevede te attraverso gli incrementi andati a buon fine due ispezioni annuali di cui una non annunciata. e non. Si potrebbero programmare macchine in Eravamo convinti, come lo siamo tutt’ora, che è grado di attivare e gestire interessanti processi possibile perseguire l’oggetto sociale senza mai di lean thinking che si modificano con l’espe- perdere di vista le responsabilità sociali nei con- rienza. Ma rimangono sistemi di supporto che fronti dei dipendenti che veicolavamo creando non potranno mai sostituirsi alle capacità tecni- e mantenendo un ambiente friendly, condivi- che e percettive del “nostro enologo/somme- dendo le scelte aziendali e mettendo in campo lier”. azioni a favore della conciliazione fra tempi di vita e di lavoro.
Nel 2009 attivammo azioni di smart working (al una divertente barzelletta senza mai perdere di tempo telelavoro) insieme al self-managed del- vista lo sprint goal ma continuando a scambia- le turnistiche di lavoro anche per le attività di re informazioni, considerazioni e continui fee- help desk e di rilevazione dati sul campo (field dback ad ogni passo riuscendo a tirar fuori un metodologico). Il risultato era la creazione di un mini cluster di sezioni elettorali in pochissime team responsabile delle attività aziendali con ore contro la stima che Piepoli stesso aveva elevato grado decisionale (empowered) che si considerato attendibile in 2 giorni pieni duran- muoveva come un banco di pesci per il perse- te il planning meeting. Solo allo sprint review, il guimento dell’obiettivo condiviso e con capaci- buon grande Prof. Piepoli abbandonò lo scietti- tà di adattamento esemplari. Le performance, in cismo sulle modalità adottate rimanendo esta- continua crescita, consentirono l’acquisizione di siato dai risultati ma soprattutto dalla serenità nuovi clienti e fra questi conquistammo la fidu- con la quale erano stati conseguiti. E’ da allora cia di guru del calibro di Nicola Piepoli e Renato che Piepoli si riferisce al “nostro Agile” quando Mannheimer ma anche di importanti clienti isti- dice “facciamolo alla calabrese” che suona un tuzionali e non come ISTAT, Doxa e Kantar. L’a- po come il meme Chiellinkiet coniato dai tede- zione per piccoli passi (ora sprint) era già nelle schi per descrivere lo spirito con cui la nazio- nostre corde e la grande forza si riscontrava nel nale italiana ha vinto gli europei, riferendosi a repentino adattamento ai cambiamenti di qual- Chiellini che scherza divertito con gli avversari siasi natura. Ma l’energia propulsiva è, e con- al sorteggio “palla o porta”, a Mancini che ab- tinua ad essere, l’armonia e la trasparenza del braccia ad ogni goal l’amico di mille avventure o team. Già, “del team”. Perché esiste un proget- ancora a Insigne che per, festeggiare l’accesso to eterno dell’azienda agile portato avanti dal in finale, indossa la maglia numero quattro del team azienda composto da chiunque vi operi a compagno infortunato mentre tutto il gruppo si vario titolo, da chi cura la pulizia dei nostri spa- abbraccia cantando in coro: «Olè olè olè Spi- zi al CEO, da chi carica i distributori di bevan- na». Allo stesso modo, la mia azienda punta sul- de a chi opera nella divisione di R&D. L’armonia la probabilità soggettiva. Quella misura del gra- favorisce la trasparenza, rende produttiva ogni do di fiducia che un individuo coerente assegna azione di ispezione e stimola ogni cambiamen- al verificarsi di un dato evento in base alle sue to interattivo, incrementale e soprattutto adat- conoscenze, attualizzando concetti rivoluzio- tativo. Ricordo, durante una fase di set up dei nari del 1900 (De Finetti) ma in chiave olistica: sistemi per le proiezioni elettorali in RAI, Nicola la probabilità soggettiva del team. Il risultato, Piepoli osservare all’opera il nostro team di svi- al pari dell’Italia, una serie positiva di successi, luppo che lavorava serenamente concedendosi goal dopo goal. le pause di caffè e trovando il tempo anche per 31A g i l e I t a l i a
da Dicembre 2021 La prima conferenza interamente dedicata alle esperienze pratiche in cui un gruppo di esperti dalle aziende viene intervistato da un gruppo di intervistatori che provengono dalle aziende https://agile-experience.agileforitaly.com/
Agile e mondo dei dati: ossimoro o connubio vincente? Stefano Gatti Laureatosi in Ingegneria Elettronica nel 1994 ha cominciato la sua carriera lavorativa in una realtà italiana di produzione di articoli sportivi e successivamente in Pirelli Cavi si è occupato della parte organizzativa e di prodotto dell’area italiana. Con l’avvento del nuovo millennio è finalmente tornato ad occuparsi di database e di dati in una azienda ad alta crescita, Lince, nel settore della business information. Ha continuato a occuparsi di progetti relativi a dati e tecnologia in diversi settori nel mondo dei servizi finanziari per Banche e Imprese. In particolare ha lavorato per più di 10 anni in Cerved, leader italiano della Credit information, come Head of Innovation & Data Sources. In questo ruolo ha supportato l’evoluzione dell’azienda in ambito big data sia attraverso team di data experts e data scientists interni sia attraverso il paradigma dell’Open Innovation con investimenti strategici in start-up e aziende innovative. Attualmente lavora in Nexi, leader italiano dei servizi e infrastrutture per il pagamento digitale, come Head of Data & Analytics. Da data lover, come ama definirsi, supporta in particolare tutti i ruoli il cui nome incomincia con la parola “data” ad essere sempre più valorizzati e ascoltati in azienda. 33A g i l e I t a l i a
Cominciamo con una confessione: non troverete la Ormai, tutti convengono sull’utilità che dati e algoritmi risposta alla domanda nel resto del mio intervento! possono fornire alle organizzazioni anche grazie Essendo però convinto che le domande siano più alle numerose aziende che hanno costruito valore importanti delle risposte, provo a condividere alcune economico e sociale su questi asset (Google, Uber, riflessioni sul tema, nate in diversi momenti del Spotify, Zillow, Facebook: impossibile non conoscerle). mio percorso professionale. Mi sono imbattuto nel Ma perchè abbiamo tanti casi di fallimenti? Penso che mondo agile & lean, quasi per caso, verso la fine del le parole chiave dal punto di vista strategico siano tre 2008, cercando di capire cosa non funzionasse nella e tutte facciano parte del lessico agile: integrazione, metodologia tradizionale waterfall soprattutto nei facilitazione e agilizzazione. In generale le aziende di progetti complessi. Da quel momento ho avuto diversi successo che hanno saputo sfruttare dati e algoritmi a ruoli all’interno sia di progetti agili che di processi di dovere sono riuscite a farlo molto bene con queste tre transizione all’interno di realtà aziendali medio grandi. cose: Dati e metodologie organizzative, soprattutto quelle agili, sono state al centro della mia attività e di quelle dei • INTEGRARE dati e algoritmi nei loro processi team che ho facilitato, provando ad utilizzare diverse aziendali. A volte hanno costruito addirittura i loro forme di leadership, in alcuni casi innovative. processi attorno a dati e algoritmi in maniera nativa. Molte delle cose che ho appreso nascono da vita vissuta • FACILITARE i team che lavorano su dati e algoritmi e soprattutto da errori commessi: per esempio lo sforzo a lavorare bene in azienda e sviluppare le proprie di “incastrare” lo sviluppo di un innovativo algoritmo per competenze aumentando in un circolo virtuoso gli la gestione del credito all’interno della realizzazione, asset dell’azienda stessa e della comunità. Vogliamo in modalità scrum, di un portale web piuttosto che il parlare di quanti progetti, spesso open source, lavoro di creare e dividere in sprint un backlog fatto in sono nati con il forte contributo di data-expert che larga misura di feature selection algoritmiche insieme lavoravano o lavorano in aziende di successo? La ad un giovane data product owner. Negli ultimi anni storia dello sviluppo del cloud pubblico e di hadoop l’evoluzione e l’estensione delle pratiche agili ad ambiti (https://it.wikipedia.org/wiki/Apache_Hadoop) su diversi da quello software ha favorito lo sviluppo di tutti. dibattiti relativi ad agile e mondo dei dati. Una classica ricerca su google fornisce sicuramente buoni risultati ma • AGILIZZARE i loro progetti di sviluppo prodotti se devo consigliare un libro, seppur non recentissimo, applicando in primis un approccio iterativo che fornisce una buona fotografia anche pratica del facendosi guidare dai dati. Per esempio l’A/B testing tema mi sento di raccomandare il lavoro di Russel (https://en.wikipedia.org/wiki/A/B_testing) è una Jurney in “Agile data science 2.0” (2017) e il suo efficace metodologia sempre più usata per direzionare “manifesto for agile data science (https://www.oreilly. l’evoluzione di prodotti o servizi in ottica agile. com/radar/a-manifesto-for-agile-data-science/).
Ma non tutti i progetti di dati e algoritmi sono uguali La seconda classe, meno intuitiva perché più interna sia per struttura che per contesto di riferimento. Si ai confini aziendali ma anche la casistica più diffusa, potrebbero usare diverse classificazioni ma quella è quella dei progetti “strategy-oriented”. Ad oggi ritengo migliore, per efficacia e semplicità, li suddivide questa tipologia è orientata, per esempio, a guidare le in due gruppi. strategie commerciali delle aziende promuovendo il La prima tipologia, quella più intuitiva, si riferisce ai marketing dei prodotti piuttosto che la fidelizzazione progetti “product oriented”, cioè uno sviluppo di dati e dei clienti (Churn prevention). Sempre di più la data algoritmi all’interno di un prodotto o un servizio al Cliente science raggiunge le direzioni esecutive delle aziende finale. Esempi di questo tipo possono essere i sistemi con attività a supporto delle previsioni del mercato di suggerimento in un e-commerce o in un servizio di in cui si muovono le aziende piuttosto che relativi streaming video (Amazon e Netflix sono due esempi possibili scenari futuri (what-if-analysis). Sempre di più classici) piuttosto che il credit scoring in un sistema di gli algoritmi allargano la loro zona di competenza per digital lending o il sistema di visione artificiale per la supportare la strategia e l’operatività di aree aziendali, guida assistita. Tutti casi in cui il prodotto finale non è il per esempio le risorse umane o l’ufficio legale, “solo” algoritmo ma quest’ultimo interagisce in maniera impensabili fino a qualche anno fa. Questi tipi di progetti forte con lo sviluppo e l’uso del prodotto finale stesso. sono spesso poco programmabili in termini temporali In questo caso il sistema analitico interagisce con il perché legati ad eventi esterni, per esempio il lancio sul Cliente retroazionando i dati in modalità near-real-time mercato di un prodotto innovativo, la discesa in campo o real-time. di un competitor, il cambio di una strategia operativa, e lavorano con dati che tipicamente sono meno real- time rispetto a quelli dei progetti product-oriented. 35A g i l e I t a l i a
Ciascuna delle due tipologie ha peculiarità specifiche all’interno del team o invece utilizzare risorse esterne ad anche nelle modalità organizzative dei team che li alta specializzazione insieme a strumenti che possono seguono. Le problematiche più importanti nascono facilitare lo sviluppo di un progetto o di un programma quando all’interno di un team di data expert si aziendale. In molti momenti il leader si trasforma in sovrappongono le due tipologie diverse di progetti. Infatti coach che valorizza e supporta la crescita professionale le progettualità strategy-oriented, che per loro natura delle persone, spesso molto giovani. sono più brevi rispetto a quelle orientate al prodotto si Dall’altro la leadership si distribuisce, a seconda dei adattano meglio a metodologie lean-kanban. In questo casi e degli argomenti, molto di più all’interno dei team. caso l’utilizzo di board task-oriented di team facilita Come ci hanno insegnato le pratiche agili in questi il tutto per gestire da una parte le priorità in continuo contesti diventa molto più efficace una scelta dal basso cambiamento e per facilitare l’intercambiabilità tra per la profonda importanza che la conoscenza dei dati e i membri del team stesso. A seconda dei casi e della della tecnologia ha all’interno della fattibilità di un’idea predominanza di una delle due tipologie è valida sia la o anche di una parte di progetto. Le migliori soluzioni strategia di inserire tra i task della board anche quelli di arrivano spesso quando all’interno del team si ha una progetti product-oriented sia di non inserirli adeguando profonda conoscenza del business dell’organizzazione periodicamente la velocity del team in funzione delle o si trova un equilibrio creativo e positivo con chi effettive persone che ci lavorano. conosce le dinamiche del mercato di riferimento. Ci sono anche altri aspetti importanti che vanno CONTINOUS LEARNING tenuti in considerazione per facilitare le attività di data science all’interno delle organizzazioni: aspetti più soft La tematica dell’apprendimento è molto forte nella data ma che hanno un impatto forte nel mondo dei dati per science per le rapide innovazioni che sono avvenute e la forte evoluzione e crescita degli ultimi 20 anni. Gli avverranno in futuro. Il data expert mette giustamente aspetti più importanti sono tre e hanno a che vedere al centro della sua evoluzione professionale la con attività che nel mondo “non-agile” sono accostate possibilità di dedicare una parte significativa del suo prevalentemente a figure manageriali ma che a mio tempo allo studio delle continue innovazioni e della modo di vedere si distribuiscono sempre di più anche relativa applicabilità nel proprio contesto. Per questo, all’interno dei team ed in particolare parliamo di: da una lato è fondamentale “difendere” il tempo del team per l’apprendimento e la sperimentazione sul LEADERSHIP campo e dall’altro è importante che queste attività vengano condivise all’interno dei confini aziendali. Da un lato in un mondo in evoluzione e cambiamento In Nexi, l’azienda in cui lavoro, abbiamo creato uno esponenziale la figura del manager tradizionale è strumento, la Data & AI Academy, dove ciascun esperto completamente superata a favore di un leader che di una specifica tecnologia o pratica eroga in maniera è da una parte facilitatore di relazioni con il resto tradizionale (frontale) o informale (lunch o coffee dell’azienda e dall’altra parte molto aperto alla novità seminar) conoscenza verso chi, all’interno dell’azienda è esterna in ottica di open innovation. In questo senso interessato ad apprendere. Questo strumento favorisce il leader, per esempio, deve essere in grado, con una il coinvolgimento sia del discente che del docente, a dialettica continua con il team, di trovare il giusto volte invertendo i ruoli, in un circolo virtuoso. compromesso tra realizzare i progetti completamente
COMMUNITY è facile realizzare all’interno della realtà lavorativa. E come sempre la creazione di una community ha Altra tematica strategica, che è largamente usata in più a che fare con la pratica che con la teoria per cui, ambito agile, e si rivela molto importante per chi lavora come l’agile ci insegna, preferisco non dilungarmi in nella data science è quello della community. Una delle dissertazioni ma vi esorto a provare. problematiche organizzative che si incontrano più frequentemente nelle aziende che hanno incominciato Arrivato al termine di questa mia “metabolizzazione” di a investire in tecnologia e talenti in ambito dati è esperienze personali che mi auguro possa essere di l’isolamento di queste figure all’interno di silos o di aree qualche aiuto mi sento di manifestare, non una certezza di business aspetto che tende a sfavorire l’integrazione assoluta, ma qualcosa in più di una speranza. Non e la loro evoluzione professionale. Oltre ai molto citati posso certo dire che agile e dati sia o possa diventare modelli organizzativi (es: hub & spoke) che aiutano un connubbio vincente, ma sicuramente molti spunti e ad alleviare queste problematiche, la creazione e il strumenti che arrivano da questo mondo mi sono stati supporto di community che superano le gerarchie molto utili come data lover e come team leader. Di aziendali e uniscono informalmente e periodicamente conseguenza credo che sia necessario studiarli, capirli esperti dati all’interno delle organizzazioni sono molto e usarli all’interno del proprio percorso professionale efficaci. Mettere a fattor comune problemi, difficoltà se, tutti, non solo gli esperti del settore, si dovranno tecnico-organizzative, ma anche successi e sfide confrontare sempre di più in futuro con l’affascinante in corso, aiuta ciascuno di noi ad affrontare con più mondo di dati e algoritmi. Se avete esperienze e ottimismo le difficoltà quotidiane e soprattutto a creare osservazioni al riguardo, il continuous learner che è quelle relazioni che sono il più potente mezzo per creare in me è molto desideroso di discuterne: scrivetemi e valore e raggiungere quella “data democratization” di continuiamo a parlarne, provare e imparare! cui si parla tanto in termini astratti ma che non sempre 37A g i l e I t a l i a
Il tema dell’algorithm economy è oggi centrale per le imprese che vogliano essere davvero competitive. La “cultura del dato” ha fatto passi in avanti importanti e la data strategy è tra le aree di investimento principali di molte imprese; inoltre, i dati sono cresciuti a dismisura e sempre di più occorrono figure che sappiano estrarne valore e capacità decisionale. Questi sono gli esperti di cui parla questo libro: non solo i professionisti che si trovano già nei team che realizzano progetti di intelligenza artificiale, ma anche ruoli che stanno ora facendo capolino perché tali progetti siano affrontati in modo innovativo - data scientist, data-engineer, data-scouter, data legal & security expert, chief data officer, chief AI officer... Quali competenze, quali skills devono possedere? Quali strumenti devono padroneggiare? E come integrare il fondamentale fattore umano? Questo testo offre una visione complessiva sul tema, affrontando in modo snello, ma con la giusta profondità, i diversi argomenti, proponendo case histories e interviste. Un libro per capire una professionalità emergente, e forse anche la direzione del lavoro del futuro prossimo. Il dialogo continua su #aiexpert. compralo su Amazon https://www.amazon.it/AI-expert-Architetti- del-futuro/dp/8891782416
Dalla sperimentazione alla produzione con l’MLOps Andrea Gioia Da sempre amo la tecnologia e le sue applicazioni legate al mondo della gestione dei dati. A livello professionale sono Partner e CTO in Quantyca, azienda di consulenza tecnologica specializzata in data e metadata management, e co- founder di blindata.io, soluzione SAAS per supportare processi di Data Governance e Compliance. Nel tempo libero, oltre ad essere un pessimo giocatore di scacchi, organizzato due meetup: Data Engineer Milano Meetup e Pie & AI Meetup. Quest’ultimo in particolare è dedicato all’MLOps tema trattato nel presente articolo 39A g i l e I t a l i a
È tempo di far quadrare i conti dell’ AI per meglio comprendere quali sono le cause di questi problemi di scarsa produttività. L’utilizzo dell’intelligenza artificiale (AI) si sta sempre di più diffondendo anche al di fuori delle grandi Fino a qualche anno fa la causa principale poteva multinazionali che per prime hanno visto l’opportunità essere individuata nella difficoltà nel reperire persone investendo fortemente su questo tipo di tecnologie. con le giuste competenze. Il data scientist doveva I progressi negli ultimi anni nel campo dell’AI sono avere infatti conoscenze approfondite di business, stati continui e hanno toccato molteplici campi quali statistica, programmazione, gestione di dati, legali e di la computer vision e il processamento del linguaggio comunicazione. Non stupisce quindi che queste figure naturale, solo per citare gli esempi più noti. I possibili casi fossero estremamente rare. In realtà lo sono ancora d’uso sono innumerevoli e trasversali ai tutti i mercati. oggi. I tempi sono però cambiati e il mercato dell’AI Non c’è quindi da stupirsi se sempre più aziende si è molto maturato. Per moltissime classi di problemi stanno dotando di team di data scientist per cercare di esiste un’ampia letteratura, molteplici librerie che cavalcare l’onda lunga dell’AI che sembra destinata a implementano gli algoritmi state-of-the-art e spesso diventare elemento chiave per competere sul mercato anche servizi managed di AI offerti dai principali [1]. cloud providers. Il lavoro del data scientist in forza alla maggior parte delle organizzazioni si è quindi Tuttavia i risultati ottenuti a fronte degli investimenti estremamente semplificato. Spesso si tratta più di un effettuati sono spesso ben al di sotto del potenziale della lavoro di selezione e tuning dell’esistente piuttosto tecnologia e delle aspettative. Il principale sintomo che di ideazione e sviluppo da zero di nuove soluzioni. di questo problema è l’esiguo numero di soluzioni di Tuttavia per passare da un’ idea ad una soluzione di AI che arrivano in produzione (output) e spesso anche AI in produzione le attività da considerare oltre alla l’effettivo impatto a livello di business di queste ultime realizzazione dell’algoritmo in sé sono molteplici [3] (outcome) [2]. Se questi risultati non ottimali possono essere accettati Componenti di un sistema di AI (Source: Hidden Technical come una tassa necessaria da pagare per avviare Debt in Machine Learning Systems - Sculley et al) l’integrazione di una nuova tecnologia complessa all’interno dell’organizzazione col passare del tempo Proprio quest’ultime costituiscono ad oggi il principale diventa sempre più pressante trovare un modello collo di bottiglia e sono quelle su cui si concentra operativo che giustifichi gli investimenti. Per questo l’MLOps con un approccio olistico finalizzato ad motivo molte aziende si trovano oggi ad interrogarsi su ottimizzare l’intero processo e non solo una sua fase, la come industrializzare i processi di sviluppo di soluzioni sperimentazione, per quanto importante. di AI al fine di migliorare efficacia ed efficienza dei loro team di data scientist. L’insieme delle pratiche e dei tool finalizzati a standardizzare e rendere riproducibile il processo di sviluppo di soluzioni di AI in tutte le sue fasi, dalla definizione del problema fino ad arrivare al passaggio in produzione, prende generalmente il nome di MLOps. Dove intervenire L’MLOps cerca di risolvere i problemi legati alle difficoltà che molte organizzazioni hanno nello sviluppare e portare in produzione soluzioni di AI. Prima di parlare di MLOps è necessario quindi spendere qualche parola
Processo di sviluppo Una volta definito il workflow è necessario scegliere il modello operativo per organizzare le attività lungo Il processo di sviluppo di soluzioni di AI è costituito da tutto il lifecycle di progetto. Data la natura iterativa ed due parti: il workflow o lifecycle e il modello operativo. incrementale dei processi di sviluppo di soluzioni di AI è Il workflow descrive le fasi in cui si articola il processo naturale utilizzare approcci agili allo sviluppo (SCRUM, e per ognuna di queste specifica attività e obiettivi. Kanban) o versioni opportunamente modificate di Il modello operativo invece descrive la struttura quest’ultimi. Molto interessante in questo senso è organizzativa (ruoli, responsabilità, ...) e come muoversi Data Driven Scrum [6] che adatta Scrum a processi all’interno del workflow (cerimonie, check point, ...). di AI partendo ad esempio dalla definizione di sprint a lunghezza variabile a seconda del task lavorato dal Non avere un processo chiaramente definito e team (capability-based iterations). procedere con un approccio ad-hoc alla realizzazione dei progetti di AI può andare bene quando il volume di Il miglior processo da adottare dipende dal contesto e attività è molto basso (poche soluzioni stabili in termine poiché ogni organizzazione è differente non esiste una di requisiti) ma sicuramente non scala con la crescita soluzione migliore delle altre. Spesso i team adottano dei team e della domanda interna di soluzioni di AI. versioni customizzate dei modelli di processo proposti in letteratura. Generalmente si parte da approcci semplici Esistono svariati framework che descrivono processi per che riproducono le modalità che già si utilizzano lo sviluppo di soluzioni di AI. I più popolari sono il Cross internamente nei processi tradizionali di sviluppo Industry Standard Process for Data Mining (CRISP-DM) software per poi farli evolvere in modo incrementale [4] e il Team Data Science Process (TDSP) [5]. nel tempo al fine di adattarli al meglio alle peculiarità dei progetti di AI e alla struttura organizzativa in cui i Al netto di qualche naturale differenza nella terminologia team di data scientist si inseriscono. e nel livello di dettaglio i workflow definiti all’interno di questi framework sono simili tra loro. Riportiamo qui a Molte delle pratiche e tool di MLOps che vedremo titolo d’esempio quello utilizzato da CRISP-DM. in seguito possono essere utilizzate in modo tattico all’interno di team che lavorano senza seguire un processo specifico. I benefici però sono limitati in quanto non usate in modo sinergico per ottimizzare un processo standardizzato. MLOps: principi chiave Tre sono i principi chiave su cui si basano le pratiche di MLOps per ottimizzare i processi di sviluppo di progetti di AI: riproducibilità, collaborazione e automazione. CRISP-DM Process Diagram L’MLOps mira innanzitutto a garantire la riproducibilità (Source: Wikimedia) dei processi. Un prodotto di AI deve poter essere cioè ricostruito in ogni momento successivo alla sua prima implementazione da zero con variazioni marginali nelle performance di inferenza. Può sembrare un principio scontato ad un software engineer. I data scientist hanno però il compito non banale di gestire oltre al codice anche dati, modelli e le dipendenze tra questi tre oggetti per garantire una completa riproducibilità del processo. La riproducibilità permette di ridurre gli errori, accelerare i tempi di sperimentazione, favorire il riuso, e creare fiducia nella validità dei risultati ottenuti da parte di tutti gli stakeholders. Senza riproducibilità inoltre non sarebbe possibile abilitare pratiche adeguate per supportare i rimanenti principi di collaborazione e automazione. 41A g i l e I t a l i a
L’MLOps mira a facilitare la collaborazione tra i data MLOps Stack scientist e più in generale tra tutti gli stakeholder coinvolti nel processo. La collaborazione tra data Molteplici sono le pratiche messe a disposizione scientist è fondamentale per condividere velocemente dall’MLOps per supportare le varie fasi di progetto in le esperienze e innescare processi di apprendimento linea con quelli che sono i principi fondanti elencati di gruppo. La collaborazione con gli altri stakeholder in precedenza (riproducibilità, collaborazione e è invece imprescindibile per eliminare in un ottica automazione). sistemica le frizioni tra i vari team che rallentano il processo (efficenza) e riducono il valore prodotto Vediamo quali sono le principali partendo dalla fase di (efficacia). business validation fino ad arrivare a quella di serving in produzione. L’MLOps mira infine ad automatizzare il processo in tutte le sue fasi riducendo sprechi e rischi. Grazie Nella fase di business validation è importante dotarsi di una all’automazione è possibile dedicare maggiori risorse procedura per definire in modo condiviso la value alla soluzione dei problemi in esame invece che in proposition della soluzione che si sta per implementare attività ripetitive a basso valore aggiunto. e la sua reale fattibilità. E’ un passaggio critico che non va sottovalutato. Troppo spesso i progetti di AI MLOps vs ModelOps, DevOps e DataOps non arrivano in produzione perchè si scopre nel corso degli sviluppi che i dati necessari non sono disponibili/ Come il DevOps, l’MLOps si fonda sulla comprensione utilizzabili o ancora peggio perchè il problema che si sta che separare i processi di sviluppo da quelli di rilascio affrontando non è rilevante per il business. Molti team e gestione in produzione crea un collo di bottiglia che utilizzano in questa fase di inception un project canvas riduce produttività, qualità, trasparenza e agilità nella adattato alle specificità dei progetti di ML per validare realizzazione di prodotti software. I prodotti di AI sono il business case [7]. a tutti gli effetti prodotti software tuttavia a differenza di questi ultimi sono costruiti non solo per mezzo Nella fase di sperimentazione quattro sono gli di codice ma anche di algoritmi (modelli) e dati. Le elementi principali da considerare: risorse di sviluppo, pratiche DevOps devono quindi essere estese per poter versionamento, orchestrazione delle pipeline e tracking essere applicate ai processi di sviluppo di questo tipo degli esperimenti. di prodotti. In generale possiamo pensare il DataOps e il ModelOps come l’estensione delle pratiche DevOps Per quanto riguarda le risorse di sviluppo è importante rispettivamente al mondo dei dati e degli algoritmi. definire un template di progetto per semplificare la L’MLOps è un’integrazione armonica di queste tre collaborazione (es. Cookiecutter Data Science Project pratiche specificatamente finalizzata alla realizzazione Template [8]) e dotarsi di un’infrastruttura che permetta di sistemi di AI. l’isolamento degli ambienti (es. Docker + Conda) e un facile accesso alle risorse di storage e computazione necessarie (es. Kubernetes). AI System Per quanto riguarda il versionamento è importante tenere traccia di tutte le modifiche effettuate non solo al codice ma anche ai dati e ai modelli prodotti a seguito del training per garantire la riproducibilità dell’intero processo. Per il versionamento dei modelli esistono svariati tool specifici ma nulla vieta di riutilizzare il repository degli artefatti già in uso per gli altri deliverable software. Per il versionamento dei dati è invece necessario appoggiarsi a tool specifici per questo task o a soluzioni custom implementate ad- hoc. Spesso l’attività di versionamento dei dati viene trascurata limitando la completa riproducibilità del processo.
Per quanto riguarda l’orchestrazione è importante Per quanto riguarda il monitoraggio è importante innanzitutto comprendere che il codice che costruisce raccogliere informazioni non solo sull’operatività dei il modello a partire dai dati può e deve essere strutturato modelli ma anche sulle loro performance di inferenza. come una sequenza di task autonomi. L’approccio A differenza del software tradizionale i modelli di AI monolitico in cui la logica dei singoli task e mischiata dipendono dai dati utilizzati durante il training e sono alla logica di orchestrazione non favorisce il testing, perciò estremamente sensibili al contesto. Quando il riuso e la collaborazione. Da qui segue la necessità questo nel tempo varia le performance del modello di munirsi di un tool di orchestrazione tra i molteplici tendono a degradare (model drift) esponendo il presenti sul mercato. sistema a problemi che possono avere seri impatti sul business. Oltre a tracciare le performance di inferenza Per quanto riguarda il tracking degli esperimenti è (monitoraggio reattivo) è anche possibile prevenire il importante definire una procedura e selezionare il model drift tramite tecniche di analisi dei dati di input miglior tool a supporto per tracciare le performance dei passati al modello al fine di individuare scostamenti vari modelli generati durante la fase di sperimentazione. significativi rispetto alle caratteristiche del dataset Solo così è possibile procedere in modo sistematico utilizzato durante il training (monitoraggio proattivo) evitando di ripetere più volte le stesse prove durante la fase di sperimentazione e dotandosi di dati di Per quanto riguarda la gestione delle feature è tracciamento importanti in una fase successiva per importante garantire l’uniformità delle trasformazioni capire quali strade si sono seguite per arrivare al risultato effettuate sui dati di input per generare i dati passati e come eventualmente procedere per migliorarlo. effettivamente al modello, le feature appunto, tra l’ambiente di sperimentazione e quello di produzione. Nella fase rilascio infine quattro sono gli elementi Il feature store, una delle pratiche più recenti nel principali da considerare: ambienti di serving, mondo dell’MLOps assolve appunto a questo monitoraggio, gestionedellefeatureedocumentazione. compito centralizzando il calcolo delle feature [9]. La centralizzazione di queste attività di feature engineering Per quanto riguarda l’ambiente di serving è importante oltre a favorire la consistenza tra ambienti favorisce definire le principali modalità con cui le inferenze anche il riuso. verranno erogate in ambiente di produzione e predisporre un opportuna infrastruttura a supporto. Per quanto riguarda la documentazione è importante Tre sono le principali modalità di serving: embedded definire dei template standard per documentare i (quando il modello è usato come libreria all’interno del modelli e più in generale l’intera pipeline che li genara. sistema che lo usa), batch (quando il modello esegue La documentazione deve descrivere in modo chiaro per in modo schedulato inferenze su molteplici dati di input tutti gli stakeholders il modello, i dati usati per il training in una volta sola) e online (quando il modello è esposto e il contesto di applicabilità. Le model card sono un come un servizio e può essere invocato per inferenze esempio di template di documentazione per modelli di puntuali). Le infrastrutture a supporto di questi tre AI proposto da Google [10]. Le DAG card sono invece modelli di serving vanno standardizzate e predisposte in un esempio interessante di estensione delle model ambiente di produzione al fine di facilitare l’automazione card per documentare non solo il modello ma l’intera della delivery dei modelli e della loro gestione post go- pipeline che lo genera e farlo in modo il più possibile live. automatizzato partendo dal codice [11]. 43A g i l e I t a l i a
Per cominciare quando si è in grado di garantire la riproducibilità nella costruzione dei modelli (Continuous Integration). L’MLOps è una disciplina giovane, in continua Il secondo quando si è in grado di automatizzare il evoluzione ed estremamente articolata. Le pratiche qui re-training dei modelli in ambiente di produzione brevemente descritte sono le più diffuse ma non sono (Continuous Training). Il terzo infine quando si è le sole. Ancora di più sono i tool a supporto di queste in grado di rilasciare automaticamente modelli e pratiche. Decidere da dove cominciare ed orientarsi nel relative pipeline di training in produzione (Continuous processo di adozione può non essere banale. E’ utile delivery). Alcune pratiche di MLOps sono specifiche prevedere un approccio iterativo di miglioramento per raggiungere gli obiettivi di un determinato livello continuo per piccoli passi. In generale il punto di di maturità altre sono trasversali. Mentre il primo livello partenza è un assessment delle pratiche e dei tool già di maturità (Continuous Integration) ha senso per tutti i presenti e utilizzati nel processo di sviluppo software al team di data scientist a prescindere dalla complessità fine di capitalizzare l’as-is adattandolo per quello che è dell’organizzazione e dal volume della domanda di possibile alle peculiarità dei progetti di AI. soluzioni di AI i seguenti livelli potrebbero avere senso ed essere economicamente giustificabili solo in alcuni Una volta definito un processo standard basato su contesti. competenze e tool che già si hanno in casa si può definire un processo di identificazione dei pain points e delle Un’ultima avvertenza prima di partire possibili opzioni per risolverli o quanto meno mitigarli. Tra le varie aree di potenziale miglioramento individuate Arrivati alla fine di questa breve introduzione al mondo (improvement backlog) si procede quindi a selezionare dell’MLOps in cui abbiamo presentato motivazioni, per priorità quelle più interessanti e procedere ad una principi, pratiche e percorso di adozione è doveroso sperimentazione delle varie opzioni individuate per ritornare al punto di partenza e fare un’importante risolvere il problema funzionali a scegliere la miglior considerazione sui dati. I dati sono il principale input soluzione per il contesto in cui si opera. Il processo al processo di sviluppo di sistemi di AI. Vale pertanto di miglioramento viene iterato estendendo in modo il principio di trash-in/trash-out secondo il quale, a agile ad ogni step l’adozione delle pratiche di MLOps. prescindere dalla qualità del team di data scientist e Si è così ragionevolmente sicuri di adottare pratiche delle pratiche di MLOps utilizzate, la performance e tool con i tempi necessari ad integrarle nell’attività finale è sempre influenzata in modo determinante dalla quotidiana senza perdere di vista l’obiettivo finale che qualità dei dati che si hanno a disposizione. Questa è quello di rilasciare in produzione modelli in modo più influenza è tanto più determinante quanto più i volumi efficace ed efficiente. di dati mediamente utilizzabili per addestrare i modelli sono piccoli (sotto i 10.000 data point), situazione molto La responsabilità di gestire l’improvement backlog è di comune nella maggior parte delle organizzazioni [13]. tutti i team di data scientist. L’implementazione delle Non deve quindi stupire il fatto che proprio i dati siano attività contenute nel backlog di miglioramento può citati spesso come uno dei principali freni al successo essere invece spalmata su tutti i team o concentrata delle iniziative di AI ancor prima e di più che il modello su un team (interno o esterno) dedicato a questo tipo di operativo dei team di data scientist [14]. Per questo attività. In entrambi i casi è sempre consigliato prevedere motivo prima di partire con iniziative di in-sourcing del budget esplicitamente dedicato a questo tipo di di data scientist e definizione di pratiche di MLOps è attività per poterle monitorare poi in modo trasparente necessario sempre capire qual è la qualità dei dati a e valutare gli effettivi ritorni. monte su cui si andrà a lavorare. L’investimento dovrà quindi essere calibrato di conseguenza ripartendo il Il percorso budget in modo opportuno tra l’area dati e l’ area di AI. Il percorso di miglioramento continuo nell’adozione delle pratiche di MLOps può essere suddiviso in tre distinti livelli di maturità [12]. Il primo livello si raggiunge
Qualche consiglio per approfondire Per chi fosse interessato ad approfondire le tematiche presentate in questo articolo oltre ai link riportati nella bibliografia suggeriamo queste risorse di carattere generale: • Data Science Process Alliance per tematiche relative alla gestione di progetti di AI • Ml-ops.org per tematiche relative al mondo dell’MLOps • MLOps Community per entrare in contatto con la comunità MLOps a livello mondiale e rimanere sempre aggiornati • PIE ⦁ &⦁ AI per entrare in contatto con la comunità MLOps italiana tramite un meetup dedicato specificatamente a questo tema Bibliografia • [1] Artificial Intelligence in Italia: il mercato cresce (+15%) nonostante la pandemia • [2] Failure rates for analytics, AI, and big data projects = 85% – yikes! • [3] Hidden Technical Debt in Machine Learning Systems • [4] CRISP-DM 1.0: Step-by-step data mining guide • [5] Team Data Science Process • [6] Data Driven Scrum Guide: how it works • [7] The Machine Learning Canvas • [8] Cookiecutter Data Science Project Template • [9] featurestore.org • [10] Model Cards for Model Reporting • [11] “DAG Card” Is the New “Model Card” • [12] MLOps: Continuous delivery and automation pipelines in machine learning • [13] MLOps: From Model-centric to Data-centric AI • [14 Build 3 Operations Management Skills for AI Success 45A g i l e I t a l i a
Product Management Day Un grande palco digitale calcato da alcuni dei maggiori esperti del settore: Per la prima volta in Italia, una giornata interamente dedicata al Product Management. Un evento gratuito con grandi nomi, • ● Kate Leto approfondimenti e networking. • ● Gabriele Giaccari • ● Antonio Civita Ogni giorno il centro del nostro lavoro è il prodotto digitale: ma come nasce, quali sono gli step, le competenze e le metodologie ● E tanti tanti altri! che ci permettono di lanciarlo sul mercato e farlo crescere? Pronti a vivere la prima edizione del Product Management Day! Attraverso i talk dei nostri relatori percorreremo le varie fasi di cui si compone il Product Management, dal discovery al Hai domande o dubbi? Scrivici a info@productmanagementday. delivery: l’analisi, la validazione, il design, la prioritizzazione, la com pianificazione, la misurazione, la costruzione, l’ottimizzazione, la crescita. Scopriremo le Il #PMDay è organizzato da 20tab, una delle software house più ultime novità del settore e ci confronteremo sull’attuale panorama innovative del panorama nazionale, con il supporto dei partner più nazionale einternazionale. autorevoli del settore. Usi ogni giorno le parole data-driven, sprint e stime? Sei un • ● Italian Agile Movement imprenditore, un product • ● Agile Talks manager, un designer, un tecnico o un consulente di growth • ● Design Sprint Italia marketing? • ● STRTGY • ● AgileItalia Allora sei nel posto giusto! • ● #StopCoding Il Product Management Day è il 26 novembre 2021, in live Tutte le info su www.productmanagementday.com streaming. Partecipa alla prima conferenza italiana sul Product Management! Iscriviti gratuitamente qui: www.eventbrite.it/e/biglietti-product-management- day-153616245325 47A g i l e I t a l i a
Lean Leader Collaborazione armoniosa tra Data Scientists e Ingegneri Software Piero Cornice Piero Cornice è un ingegnere software appassionato di Data Science e Machine Learning. Dopo aver lavorato nei rami dell’Embedded e del Cloud, e come Technical Lead per aziende grandi e medie, ha deciso di tornare nel mondo delle startup per contribuire all’integrazione tra Ingegneria del Software, Data Science e ricerca accademica. https://www.linkedin.com/in/pierocornice/
Negli ultimi anni il numero di startup che offrono tre condizioni talvolta ignorate o trascurate. prodotti basati su tecniche di Data Science e Machine Learning è aumentato in modo vertiginoso. A ciò La prima condizione è che il problema che si vuole hanno contribuito sia la crescente sensibilizzazione risolvere sia adatto, e non adattato, al Machine e alfabetizzazione tecnologica, sia la disponibilità di Learning. A causa della pressione del mercato, che strumenti software che aiutano ad automatizzare parti tende a preferire prodotti “intelligenti” - spesso senza del processo di sviluppo, abbassando così la barriera un preciso motivo - esiste la possibilità concreta che d’accesso a tali tecniche e favorendone l’adozione un’azienda preferisca sviluppare una soluzione ML al di fuori delle università e delle grandi aziende. Tali quando potrebbe risolvere lo stesso problema in modo fenomeni hanno dato considerevole risalto al Machine più semplice ed economico. Learning, associandolo ad una maggiore accuratezza e affidabilità rispetto alle tecniche statistiche “tradizionali”. La seconda condizione è che si sia disposti a gestire Allo stesso tempo, tuttavia, hanno aumentato le un progetto di ML secondo canoni diversi da un aspettative nei confronti delle aziende, che si trovano tradizionale progetto software. In particolare, come talvolta a dover pubblicizzare le proprie soluzioni, vedremo, un progetto ML ha delle fasi di sviluppo che spesso impropriamente, come “basate su Intelligenza richiedono parametri e iterazioni diverse da quello che Artificiale” per rimanere competitive in un mercato ci si aspetterebbe da un progetto software tradizionale. sempre più fluido. La terza condizione, infine, è che ci sia un’apertura I recenti sviluppi nell’ambito della Data Science, e alla ricerca accademica. Il motivo principale è che, a del Machine Learning in particolare, hanno senz’altro fronte dei risultati talvolta spettacolari dei sistemi di ampliato l’orizzonte del possibile. Come è naturale, le ML (si pensi a GPT-3 e AlphaGo Zero), gli algoritmi che aziende che vogliono basare la propria offerta in tale vi stanno alla base sono spesso difficili da spiegare: le senso cercano di assumere una combinazione di data cose funzionano ma non sappiamo perché. In questo scientists e ingegneri software: i primi per ricercare senso stiamo vivendo un’epoca simile all’inizio della e sviluppare modelli di ML, i secondi per creare e rivoluzione scientifica, quando gli studiosi cercavano mantenere l’infrastruttura di produzione. Basandomi genuinamente di spiegare i fenomeni naturali integrando sulla mia esperienza da ingegnere software e leader l’osservazione diretta con il metodo empirico. In modo tecnico in startup piccole e medie, in questo articolo simile, certi processi decisionali mirati a identificare il descriverò alcuni problemi nati dalla coesistenza di modello migliore passano per una serie di iterazioni data scientists e ingegneri software nello stesso team. di “trial and error” fino a raggiungere l’accuratezza Infine parlerò del modello Lean Leader, rivelatosi desiderata, piuttosto che per uno studio rigoroso dei particolarmente efficace nel favorire la collaborazione meccanismi che stanno alla base dei vari modelli. Oltre a tra queste due figure professionali. favorire l’innovazione, la collaborazione continua con la ricerca accademica può migliorare la consapevolezza e Nonostante la continua richiesta di data scientists e la “esplicabilità” (explainability) di un modello, snellendo ingegneri software specializzati (Data/ML Engineers), i e irrobustendo sia i processi decisionali che quelli di processi di sviluppo e gestione di prodotti commerciali sviluppo: questo perché esistono specifiche linee di basati su Machine Learning sono ancora immaturi ricerca per comprendere e modellare, ad esempio, i rispetto a quelli dei software tradizionali. La mia processi che avvengono nelle reti neurali [1] [2]. spiegazione è che l’adozione delle tecniche di Data Science, e in particolare di Machine Learning, pongono 49A g i l e I t a l i a
Figura 1 - Principali fasi di un progetto Machine Learning Non voglio addentrarmi nelle considerazioni legate scelta delle features, o i dati stessi non siano ottimali e alla prima condizione, in quanto la valutazione se debbano essere riveduti, facendo retrocedere al primo adottare o meno soluzioni ML dipende fortemente dal stadio. Analogamente, il deployment di un modello contesto e dalla realtà di un’azienda. Ritengo tuttavia può far emergere dei casi limite che non erano stati che la collaborazione con l’accademia e la gestione considerati in fase di training e validazione, per cui si dei progetti ML siano due aspetti fondamentali e rende necessario tornare alla seconda fase. Infine, e fortemente legati tra loro. Il loro punto d’incontro - e di soprattutto, il monitoraggio continuo delle performance scontro - è proprio la collaborazione tra data scientist e dei modelli in produzione può verosimilmente ingegneri software. richiedere una nuova iterazione di training/validation, o addirittura la revisione dei dati e delle feature stessi. Ciò Per capire le peculiarità di tale interazione, partiamo può accadere per i fenomeni di “concept drift” e “data dal descrivere a grandi linee le caratteristiche di un drift”, cioè quando il mapping tra input e output cambia progetto di Machine Learning che, una volta isolato nel tempo (ad esempio il significato di una parola che il problema da risolvere, si sviluppa principalmente si evolve può invalidare i risultati di un modello NLP) in quattro fasi: 1) collezione e labelling dei dati, 2) oppure quando la distribuzione dei dati varia nel training e validazione del modello, 3) deployment in tempo. È dunque fondamentale che un sistema di ML produzione, e infine 4) monitoraggio del sistema. Anche sia strutturato in modo da reagire prontamente a tali se le ultime due fasi possono sembrare simili a quelle cambiamenti: questa è una differenza sostanziale con di un tradizionale progetto software, il caso del ML i progetti software tradizionali, dove il monitoraggio è presenta caratteristiche particolari in quanto ciascuno funzionale principalmente a identificare bug, problemi stadio fornisce dei feedback che possono riportare lo di performance, o la necessità di nuove funzionalità. sviluppo ad una qualsiasi delle fasi precedenti. Infatti In altre parole, l’assenza un feedback continuo non solo è normale che, durante la seconda fase, dall’ambiente di produzione rischia di compromettere si abbia bisogno di reiterate più volte la scelta di un la correttezza basilare di un sistema di ML. modello; è anche possibile accorgersi che il labelling, la
Nella mia esperienza, la gestione di un progetto condizione imprescindibile nello sviluppo di prodotti ML non può prescindere dalla consapevolezza di basati su ML. tali peculiarità. Tale consapevolezza si dovrebbe riflettere principalmente nei ruoli del Project Manager Per chiarire questo punto si pensi allo scenario in cui e dell’ingegnere software: il primo ha il compito di data scientists e ingegneri lavorino in team separati. educare gli stakeholders alle caratteristiche di un Un workflow che potrebbe naturalmente emergere prodotto basato su ML, ad esempio al fatto che la messa vede i primi sviluppare modelli analitici per poi passare in produzione di un modello è un punto di partenza, il testimone agli ingegneri con il compito di adattare più che di arrivo. Il ruolo dell’ingegnere software tali modelli all’ambiente di produzione. Questi ultimi si assume invece diverse declinazioni, come dimostra la troveranno a manipolare del codice non performante, nascita di specializzazioni quali il Data Engineering e il non scalabile, e non mantenibile. In altre parole, la Machine Learning Engineering. Personalmente sono soluzione migliore per gli uni non è necessariamente poco interessato alle etichette: quello che invece trovo ideale per gli altri. Ad esempio, un modello di machine importante è l’impatto che gli ingegneri possono avere learning con ottime caratteristiche può essere troppo in un team multifunzionale che comprende anche dei complesso o costoso da implementare, o comunque data scientists. La collaborazione quotidiana e costante non consentire un’implementazione efficiente. tra ingegneri e ricercatori è infatti, a mio avviso, la Figura 2 - Workflow sequenziale tra data scientists e ingegneri software 51A g i l e I t a l i a
Search
Read the Text Version
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124