Perché usare MLOps? - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Perché usare MLOps?

Quando passi dalla gestione di singoli progetti di intelligenza artificiale e machine learning (IA/ML) all'utilizzo di IA/ML per trasformare la tua azienda su larga scala, il settore delle operazioni ML (MLOps) può rivelarsi utile. MLOps tiene conto degli aspetti unici dei progetti AI/ML nella gestione dei progetti, in CI/CD e nel controllo della qualità, aiutandoti a migliorare i tempi di consegna, ridurre i difetti e rendere più produttiva la scienza dei dati. MLOps si riferisce a una metodologia basata sull'applicazione di DevOps pratiche ai carichi di lavoro di machine learning. Per una discussione DevOps sui principi, vedere il white paper Introduzione a DevOps on AWS. Per ulteriori informazioni sull'implementazione tramite AWS i servizi, consulta Practicing CI/CD on AWS e Infrastructure as Code.

Ad esempio DevOps, MLOps si basa su un approccio collaborativo e semplificato al ciclo di vita di sviluppo dell'apprendimento automatico, in cui l'intersezione di persone, processi e tecnologia ottimizza le end-to-end attività necessarie per sviluppare, creare e gestire carichi di lavoro di apprendimento automatico.

MLOps si concentra sull'intersezione tra scienza dei dati e ingegneria dei dati in combinazione con le DevOps pratiche esistenti per semplificare la distribuzione dei modelli durante il ciclo di vita dello sviluppo dell'apprendimento automatico. MLOps è la disciplina che integra i carichi di lavoro ML nella gestione di release, in CI/CD e nelle operazioni. MLOps richiede l'integrazione dello sviluppo del software, delle operazioni, dell'ingegneria dei dati e data science.

Problematiche legate a MLOps

Sebbene MLOPS possa fornire strumenti preziosi per la scalabilità del business, potresti incontrare alcuni problemi durante l'integrazione di MLOps nei carichi di lavoro di machine learning.

Gestione progettuale

  • I progetti di machine learning coinvolgono i data scientist, i quali ricoprono un ruolo relativamente nuovo e spesso non integrato adeguatamente in team interfunzionali. Questi nuovi membri del team spesso parlano un linguaggio tecnico molto diverso da quello dei proprietari dei prodotti e degli ingegneri del software, il che aggrava il problema comune di tradurre le normative aziendali in requisiti tecnici.

Comunicazione e collaborazione

  • Aumentare la visibilità sui progetti di machine learning e consentire la collaborazione tra diverse parti interessate, come ingegneri dei dati, data scientist, ingegneri di machine learning, DevOps sta diventando sempre più importante per garantire risultati di successo.

Il codice è tutto

  • Utilizzo di dati di produzione nelle attività di sviluppo, cicli di vita di sperimentazione più lunghi, dipendenza dalle pipeline di dati, riqualificazione delle pipeline di implementazione e metriche univoche per la valutazione delle prestazioni di un modello:

  • i modelli hanno spesso un ciclo di vita indipendente dalle applicazioni e dai sistemi con cui si integrano.

  • L'intero end-to-end sistema è riproducibile tramite codice e artefatti con versioni diverse. DevOps i progetti utilizzano Infrastructure-as-Code (IaC) e Configuration-as-Code (CaC) per creare ambienti e Pipelines-as-Code (PaC) per garantire modelli CI/CD coerenti. Le pipeline devono integrarsi con i flussi di lavoro di addestramento su big data e ML. Ciò significa spesso che la pipeline è una combinazione di uno strumento CI/CD tradizionale e un altro motore del flusso di lavoro. Molti progetti di machine learning sono soggetti a violazione delle policy, quindi potrebbe essere necessario che anche la pipeline applichi tali policy. Dati di input distorti producono risultati anomali, il che rappresenta una preoccupazione sempre più grande per le parti interessate aziendali.

CI/CD

  • In MLOps, i dati di origine sono input di primo livello, insieme al codice sorgente. Ecco perché MLOps richiede il controllo delle versioni dei dati di origine e l'avvio dell'esecuzione della pipeline quando i dati di origine o di inferenza cambiano.

  • Le pipeline devono inoltre modificare i modelli ML, insieme agli input e ad altri output, per garantire la tracciabilità.

  • I test automatizzati devono includere la corretta convalida del modello ML durante le fasi di costruzione e produzione del modello.

  • Le fasi di creazione possono includere l'addestramento e la riqualifica del modello, un processo che richiede molto tempo e risorse. Le pipeline devono essere sufficientemente granulari da eseguire un ciclo di addestramento completo solo quando i dati di origine o il codice ML cambiano, ma non quando variano i componenti correlati.

  • Poiché il codice di machine learning rappresenta in genere una piccola parte di una soluzione globale, una pipeline di implementazione può includere anche le fasi aggiuntive necessarie per confezionare un modello da utilizzare come API da parte di altre applicazioni e sistemi.

Monitoraggio e registrazione

  • Le fasi di progettazione delle funzionalità e di addestramento dei modelli sono necessarie per acquisire le metriche di addestramento dei modelli e gli esperimenti sui modelli. L'ottimizzazione di un modello di machine learning richiede la manipolazione della forma dei dati di input e degli iperparametri dell'algoritmo, nonché l'acquisizione sistematica di tali esperimenti. Il tracciamento degli esperimenti aiuta i data scientist a lavorare in modo più efficace e fornisce un'istantanea riproducibile del loro lavoro.

  • I modelli ML implementati richiedono il monitoraggio dei dati trasmessi al modello per l'inferenza, oltre alle metriche standard di stabilità e prestazioni degli endpoint. Il sistema di monitoraggio deve inoltre acquisire la qualità dell'output del modello, valutata mediante metriche ML appropriate.

Vantaggi di MLOps

L'adozione delle pratiche MLOps time-to-market consente di velocizzare i progetti di machine learning offrendo i seguenti vantaggi.

  • Produttività: la fornitura di ambienti self-service con accesso a set di dati selezionati consente ai data engineer e ai data scientist di muoversi più velocemente e di perdere meno tempo con dati mancanti o non validi.

  • Ripetibilità: l'automazione di tutte le fasi in MLDC aiuta a garantire un processo ripetibile, incluso il modo in cui il modello viene addestrato, valutato, sottoposto al controllo delle versioni e distribuito.

  • Affidabilità: l’integrazione delle pratiche CI/CD consente non solo una rapida implementazione, ma anche di aumentare la qualità e la coerenza.

  • Verificabilità: il controllo delle versioni di tutti gli input e gli output, dagli esperimenti di data science ai dati di origine fino al modello addestrato, permette di dimostrare esattamente come il modello è stato creato e dove è stato implementato.

  • Qualità dei dati e dei modelli: MLOps consente di applicare policy che proteggono dalle distorsioni del modello e tengono traccia delle modifiche alle proprietà statistiche dei dati e alla qualità del modello nel tempo.