Nel 2018, nei circoli professionali e durante conferenze tematiche dedicate all'AI, è emersa la nozione di MLOps, che si è rapidamente consolidata nel settore e ora si sviluppa come un'area autonoma. In futuro, MLOps potrebbe diventare uno dei settori più richiesti nell'IT. Cos'è esattamente e come si applica, lo esploreremo nel seguito.

Cosa sono gli MLOps
MLOps (integrazione delle tecnologie e dei processi di machine learning con le modalità di implementazione dei modelli sviluppati nei processi aziendali) è un nuovo modo di collaborazione tra rappresentanti del business, scienziati, matematici, esperti di machine learning e ingegneri IT nella creazione di sistemi di intelligenza artificiale.
In altre parole, è un modo per trasformare i metodi e le tecnologie di machine learning in uno strumento utile per affrontare le sfide aziendali.
È importante capire che la catena di produttivizzazione inizia molto prima della creazione del modello. Il primo passo consiste nella definizione dell'obiettivo aziendale, delle ipotesi sul valore che si può estrarre dai dati e dell'idea aziendale relativa al suo utilizzo.
Il concetto di MLOps è emerso come analogia del concetto di DevOps applicato ai modelli e alle tecnologie di machine learning. DevOps è un approccio allo sviluppo software che consente di aumentare la velocità di implementazione delle modifiche mantenendo flessibilità e affidabilità attraverso una serie di metodologie, tra cui lo sviluppo continuo, la suddivisione delle funzioni in microservizi indipendenti, il testing automatizzato e l'implementazione di modifiche, il monitoraggio globale delle prestazioni e un sistema di risposta rapida per eventuali malfunzionamenti.
DevOps ha definito il ciclo di vita del software e nella comunità di esperti è nata l'idea di applicare la stessa metodologia ai big data. DataOps è un tentativo di adattare e ampliare le metodologie considerando le peculiarità dell'archiviazione, della trasmissione e dell'elaborazione di grandi quantità di dati su piattaforme diversificate e interconnesse.
Con la nascita di una certa massa critica di modelli di machine learning implementati nei processi aziendali, è stata osservata una forte somiglianza tra il ciclo di vita dei modelli matematici di machine learning e il ciclo di vita del software. L'unica differenza è che gli algoritmi dei modelli sono creati utilizzando strumenti e metodi di machine learning. Di conseguenza, è nata l'idea di applicare e adattare approcci di sviluppo software già noti ai modelli di machine learning. Pertanto, nel ciclo di vita dei modelli di machine learning si possono individuare le seguenti fasi chiave:
- definizione dell'idea aziendale;
- addestramento del modello;
- test e implementazione del modello nel processo aziendale;
- operatività del modello.
Quando, durante il funzionamento, si presenta la necessità di modificare o riaddestrare il modello con nuovi dati, il ciclo si riavvia: il modello viene perfezionato, testato e viene implementata una nuova versione.
Nota. Perché 'riaddestrare' e non 'riformare'? Il termine 'riaddestramento del modello' ha due significati: tra gli esperti, significa un difetto del modello, quando il modello predice bene, riproducendo sostanzialmente il parametro previsto nel set di addestramento, ma funziona molto peggio su un set di dati esterno. Naturalmente, tale modello è considerato difettoso, poiché tale imperfezione ne impedisce l'uso.
Nel ciclo di vita è logico utilizzare strumenti DevOps: testing automatizzato, implementazione e monitoraggio, strutturando il calcolo dei modelli in singoli microservizi. Tuttavia, ci sono anche diverse peculiarità che ostacolano l'applicazione diretta di questi strumenti senza un'adeguata integrazione ML.

Come far funzionare i modelli e generare profitto
Come esempio, nel quale dimostreremo l'applicazione dell'approccio MLOps, consideriamo il classico caso di automazione di chat di supporto per un prodotto bancario (o qualsiasi altro). Di solito, il processo aziendale di supporto tramite chat appare come segue: il cliente invia un messaggio di domanda nella chat e riceve la risposta di un esperto all'interno di un albero di dialogo predefinito. L'automazione di tale chat viene solitamente affrontata mediante set di regole definite da esperti, molto laboriosi da sviluppare e mantenere. L'efficacia di tale automazione, a seconda della complessità del compito, può variare tra il 20% e il 30%. È naturale quindi pensare che sia più vantaggioso implementare un modulo di intelligenza artificiale — un modello sviluppato utilizzando machine learning, che:
- è in grado di elaborare un numero maggiore di richieste senza l'intervento dell'operatore (a seconda del tema, in alcuni casi l'efficacia può raggiungere il 70-80%);
- si adatta meglio a formulazioni non standard nel dialogo — è capace di identificare l'intento e il reale desiderio dell'utente anche sulla base di richieste poco formulate;
- è in grado di determinare quando la risposta del modello è adeguata e quando ci sono dubbi sulla 'consapevolezza' di tale risposta, richiedendo di porre una domanda di chiarimento aggiuntiva o di passare all'operatore;
- può essere ulteriormente addestrata in modo automatizzato (invece di un gruppo di sviluppatori che adatta e corregge costantemente gli scenari di risposta, l'addestramento è effettuato da uno specialista in Data Science, utilizzando le librerie di machine learning appropriate).

Come far funzionare un modello così avanzato?
Come per qualsiasi altra attività, prima di sviluppare un tale modulo è necessario definire il processo aziendale e descrivere formalmente il compito specifico che intendiamo risolvere utilizzando il metodo di machine learning. È a questo punto che inizia il processo di operazionalizzazione, indicato dall'abbreviazione Ops.
Il passaggio successivo prevede che lo specialista in Data Science, in collaborazione con un ingegnere dei dati, verifichi la disponibilità e la sufficienza dei dati e l'ipotesi aziendale sulla fattibilità dell'idea imprenditoriale, sviluppando un prototipo del modello e valutando la sua reale efficacia. Solo dopo la conferma da parte dell'azienda può iniziare la transizione dallo sviluppo del modello all'integrazione del modello nei sistemi che svolgeranno un processo aziendale specifico. Una pianificazione integrata dell'implementazione, una profonda comprensione ad ogni passo di come il modello verrà utilizzato e quale effetto economico porterà, è un punto cruciale nei processi di integrazione degli approcci MLOps nel panorama tecnologico dell'azienda.
Con lo sviluppo delle tecnologie AI, aumenta rapidamente il numero e la varietà di compiti che possono essere risolti con il machine learning. Ogni processo aziendale di questo tipo rappresenta un risparmio per l'azienda attraverso l'automazione del lavoro di posizioni di massa (call center, verifica e ordinamento di documenti, ecc.), un'espansione della base clienti grazie all'aggiunta di nuove funzionalità attraenti e convenienti, un risparmio di risorse attraverso un utilizzo ottimale e una ridistribuzione delle risorse e molto altro. In ultima analisi, ogni processo è orientato alla creazione di valore e, di conseguenza, deve generare un effetto economico specifico. È qui che diventa fondamentale definire chiaramente l'idea aziendale e calcolare il profitto previsto dall'implementazione del modello all'interno della struttura generale della creazione di valore dell'azienda. Si verificano situazioni in cui l'implementazione del modello non si giustifica e il tempo speso dagli esperti di machine learning risulta costare molto di più rispetto al posto di lavoro di un operatore che svolge quel compito. È per questo che è fondamentale identificare queste situazioni nelle fasi iniziali della creazione dei sistemi AI.
Di conseguenza, il modello inizia a generare profitti solo quando durante il processo MLOps è stata correttamente formulata la questione aziendale, sono state stabilite le priorità e nelle fasi iniziali dello sviluppo è stato definito il processo di integrazione del modello nel sistema.
Un nuovo processo – nuove sfide
Una risposta esaustiva alla domanda fondamentale per le aziende sulla misura in cui i modelli ML siano applicabili alla risoluzione dei problemi, e la questione della fiducia nell'AI — è una delle sfide principali nel processo di sviluppo e implementazione degli approcci MLOps. Inizialmente, le aziende ricevono con scetticismo l'integrazione del machine learning nei processi — è difficile fidarsi dei modelli in quei contesti dove tradizionalmente operavano delle persone. Per le aziende, i programmi appaiono come una 'scatola nera' la cui rilevanza delle risposte deve ancora essere dimostrata. Inoltre, esistono requisiti rigorosi da parte delle autorità di regolamentazione statali nel settore bancario, nelle telecomunicazioni e in altri ambiti. Tutti i sistemi e gli algoritmi integrati nei processi bancari sono soggetti ad audit. Per affrontare questa questione, per dimostrare all'azienda e ai regolatori la validità e correttezza delle risposte dell'intelligenza artificiale, insieme al modello vengono implementati strumenti di monitoraggio. Inoltre, esiste una procedura di validazione indipendente, obbligatoria per i modelli normativi, che è conforme ai requisiti della Banca Centrale. Un gruppo di esperti indipendenti esegue l'audit dei risultati ottenuti dal modello tenendo conto dei dati in ingresso.
La seconda chiamata consiste nella valutazione e nella gestione dei rischi modellistici durante l'implementazione di un modello di apprendimento automatico. Se anche un umano non può rispondere con certezza alla domanda se l'abito fosse bianco o blu, è giusto che anche l'intelligenza artificiale abbia il diritto di sbagliare. È inoltre importante considerare che i dati possono cambiare nel tempo, e i modelli devono essere riaddestrati per fornire risultati sufficientemente precisi. Per evitare che il processo aziendale ne risenta, è necessario gestire i rischi modellistici e monitorare il funzionamento del modello, riaddestrandolo regolarmente con nuovi dati.

Tuttavia, dopo la fase iniziale di sfiducia, inizia a manifestarsi un effetto contrario. Più modelli vengono implementati con successo nei processi, maggiore è l'appetito delle aziende per l'uso dell'intelligenza artificiale: emergono sempre nuove sfide che possono essere risolte tramite metodi di apprendimento automatico. Ogni compito avvia un intero processo, che richiede competenze specifiche:
- i data engineer preparano e trattano i dati;
- i data scientist applicano strumenti di apprendimento automatico e sviluppano il modello;
- l'IT integra il modello nel sistema;
- l'ML engineer determina come integrare correttamente il modello nel processo, quale strumentazione IT utilizzare in base ai requisiti di utilizzo del modello tenendo conto del flusso di richieste, dei tempi di risposta, ecc.
- l'ML architect progetta come realizzare fisicamente il prodotto software nel sistema industriale.
L'intero ciclo richiede un gran numero di specialisti altamente qualificati. A un certo punto del processo di sviluppo e penetrazione dei modelli ML nei processi aziendali, si scopre che scalare linearmente il numero di specialisti in proporzione alla crescita dei compiti diventa costoso e inefficace. Di conseguenza, sorge la questione dell'automazione del processo MLOps: definire alcune classi standard di compiti di apprendimento automatico, sviluppare pipeline modello di trattamento dei dati e riaddestramento. Nella situazione ideale, per affrontare tali compiti sono necessari professionisti che padroneggiano le competenze all'incrocio tra Big Data, Data Science, DevOps e IT. Pertanto, la maggiore problematica nel settore della Data Science e la sfida principale nell'organizzazione dei processi MLOps è la mancanza di tale competenza nel mercato attuale della formazione. Gli specialisti che soddisfano tali requisiti sono attualmente rari nel mercato del lavoro e sono molto ricercati.
Riguardo alle competenze
In teoria, tutti i compiti MLOps possono essere affrontati con strumenti DevOps tradizionali senza ricorrere a un'espansione specializzata del modello di ruoli. Tuttavia, come già accennato, il data scientist deve essere non solo un matematico e un esperto di analisi dei dati, ma anche un guru dell'intero pipeline: la progettazione dell'architettura, la programmazione dei modelli in diverse lingue in base all'architettura, la preparazione della vetrina dei dati e il deployment dell'applicazione stessa ricadono sulle sue spalle. Tuttavia, creare l'infrastruttura tecnologica nel processo MLOps richiede fino all'80% della quantità di lavoro, il che significa che un matematico qualificato, ovvero un Data Scientist di qualità, dedicherà solo il 20% del suo tempo alla sua specializzazione. Pertanto, la suddivisione dei ruoli tra gli specialisti coinvolti nell'implementazione dei modelli di apprendimento automatico diventa vitale.
Quanto dettagliate debbano essere le suddivisioni dei ruoli dipende dalle dimensioni dell'azienda. È una cosa quando in una startup c'è un solo specialista, un operatore instancabile che svolge il ruolo di ingegnere, architetto e DevOps. È un'altra cosa quando in una grande azienda tutti i processi di sviluppo dei modelli sono concentrati su alcuni esperti di Data Science di alto livello, mentre un programmatore o un esperto di database — competenza più comune e meno costosa nel mercato del lavoro — può occuparsi della maggior parte delle attività di routine.
Pertanto, da dove si colloca il confine nella scelta degli specialisti per garantire il processo MLOps e come è organizzato il processo di operazionalizzazione dei modelli sviluppati, influenzano direttamente la velocità e la qualità dei modelli sviluppati, la produttività del team e il clima interno.
Cosa ha già realizzato il nostro team
Non molto tempo fa abbiamo iniziato a costruire la struttura delle competenze e i processi MLOps. Ma già ora, i nostri progetti per la gestione del ciclo di vita dei modelli e per l'applicazione dei modelli come servizio sono in fase di test MVP.
Abbiamo anche definito la struttura di competenze ottimale per le grandi imprese e l'organizzazione del coinvolgimento tra tutti i partecipanti al processo. Sono stati organizzati team Agile che affrontano le esigenze di un ampio spettro di clienti aziendali e sono stati stabiliti processi di interazione con i team di progetto per la creazione delle piattaforme e delle infrastrutture, che costituiscono le fondamenta dell'edificio MLOps in costruzione.
Questioni per il futuro
MLOps è un settore in crescita, che sta affrontando una carenza di competenze e che aumenterà il suo ritmo in futuro. Per ora, è meglio partire da esperienze e pratiche DevOps. L'obiettivo principale di MLOps è un utilizzo più efficace dei modelli ML per risolvere le sfide aziendali. Tuttavia, emergono molte domande:
- Come ridurre il tempo necessario per far entrare i modelli in produzione?
- Come ridurre le friction burocratiche tra team di diverse competenze e aumentare l'orientamento alla collaborazione?
- Come monitorare i modelli, gestire le versioni e organizzare un monitoraggio efficace?
- Come creare un ciclo di vita veramente ciclico per un moderno modello ML?
- Come standardizzare il processo di apprendimento automatico?
Le risposte a queste domande influenzeranno notevolmente la velocità con cui MLOps svelerà completamente il suo potenziale.
Fonte: habr.com
