MLOps e GenAIOps per carichi di lavoro di intelligenza artificiale in Azure
Le operazioni del carico di lavoro di intelligenza artificiale sono incentrate sulla cura dei dati e sull'utilizzo di tali dati. Le operazioni garantiscono efficienza nel raggiungere e mantenere la qualità, l'affidabilità, la sicurezza, l'etica e altri standard prioritari per il carico di lavoro.
Le attività del carico di lavoro possono essere suddivise in tre aree principali: sviluppo di applicazioni, gestione dei dati e gestione dei modelli di intelligenza artificiale. Ogni categoria deve adottare metodologie operative comprovate del settore, ad esempio DevOps, DataOps, MLOps e GenAIOps.
Le attività DevOps coprono l'intera gestione del ciclo di vita dello sviluppo di applicazioni tramite pipeline e monitoraggio automatizzati di integrazione continua e distribuzione continua (CI/CD). Tuttavia, per i carichi di lavoro di intelligenza artificiale, la pipeline di dati è uno dei componenti principali. DataOps, una specializzazione di DevOps, è incentrata sulla gestione del ciclo di vita dei dati semplificando processi come l'estrazione dei dati, la trasformazione e il caricamento (ETL/ELT). I professionisti di DataOps misurano in genere le prestazioni del flusso di dati e l'efficacia della pulizia dei dati e monitorano la pipeline per rilevare anomalie.
I carichi di lavoro di intelligenza artificiale sono intrinsecamente non deterministici. Molti modelli di intelligenza artificiale sono soggetti a produrre risposte diverse per la stessa indagine durante l'inferenza. Questi carichi di lavoro necessitano di processi in grado di gestire e adattarsi all'imprevedibilità degli output di intelligenza artificiale. DataOps si estende in MLOps, che operazionalizza i flussi di lavoro di Machine Learning per il training e il test del modello. GenAIOps, un subset specializzato di MLOps, è destinato a soluzioni di intelligenza artificiale generative. Implica attività come l'individuazione dei modelli e l'affinamento dei modelli con training preliminare con dati arricchiti.
Le attività operative spesso si sovrappongono e le diverse metodologie si applicano a diversi gradi. Ad esempio, nell'intelligenza artificiale discriminante, DataOps svolge un ruolo importante, mentre le attività DevOps sono meno importanti. Viceversa, nell'intelligenza artificiale generativa, l'eccellenza operativa si basa maggiormente su DevOps rispetto a DataOps.
Indipendentemente dal fatto che l'obiettivo complessivo sia la distribuzione delle funzionalità con operazioni efficienti per tutto il ciclo di vita dello sviluppo. I risultati previsti sono:
- Processi ripetibili con risultati coerenti.
- Accuratezza sostenuta dei modelli nel tempo.
- Governance efficace che riduce al minimo i rischi.
- Processi di gestione delle modifiche per l'adattamento alla deriva del modello.
L'automazione e il monitoraggio sono le strategie operative chiave per raggiungere questi obiettivi.
È anche necessario stabilire processi standardizzati per i componenti di intelligenza artificiale, per operazioni di routine, non pianificate e di emergenza e disporre di meccanismi di rilevamento appropriati. Senza questi processi, si corre il rischio di:
- Errori ripetuti e non disproducibilità nell'elaborazione dei dati, nell'hosting di modelli, nella gestione dei dati a terra e in altre attività.
- Dati di bassa qualità o non aggiornati usati per il training e il perfezionamento del modello.
- Impatto sulla fiducia degli utenti finali nel sistema, nel peggiore dei casi che causa problemi legali, di conformità o di sicurezza.
È necessario implementare processi stabiliti con il set corretto di strumenti. Sono disponibili strumenti specializzati per la gestione dei flussi di lavoro di intelligenza artificiale/Machine Learning in ambienti diversi.
Questo articolo è incentrato sulla strategia di progettazione per le operazioni e fornisce consigli sugli strumenti.
Consigli
Ecco il riepilogo delle raccomandazioni fornite in questo articolo.
Suggerimento | Descrizione |
---|---|
Progettare un ciclo di vita efficiente delle operazioni del carico di lavoro. | In base ai componenti del carico di lavoro di intelligenza artificiale diverse fasi operative, verranno applicate al ciclo di vita. È importante comprendere le procedure consigliate rilevanti per lo scenario e gli strumenti disponibili per implementarli. Dedicare il tempo necessario per ottenere informazioni e implementare le raccomandazioni chiave per tutti i componenti del carico di lavoro. ▪ DataOps ▪ MLOps ▪ GenAIOps ▪ Monitoraggio |
Automatizzare tutto. | L'automazione garantisce la ripetibilità e l'efficienza nel ciclo di vita di un carico di lavoro. Anche se i processi DevOps sono un collaboratore chiave a questo scopo, è necessario eseguire passaggi aggiuntivi per compilare, testare, convalidare e distribuire i modelli in modo efficiente. ▪ Automazione |
Usare le pipeline di distribuzione laddove possibile. | Le pipeline di distribuzione consentono di distribuire distribuzioni di infrastrutture ripetibili o di integrare il codice in modo continuo. Sono anche un ottimo strumento per la creazione e/o la convalida di modelli prima di promuoverli nell'ambiente di produzione. L'implementazione di pipeline di distribuzione consente di migliorare l'affidabilità e l'esperienza utente complessiva del carico di lavoro. ▪ Pipeline di distribuzione |
Evitare la deriva e il decadimento nei modelli. | È necessario proteggersi dal decadimento e dalla deriva del modello, pur avendo un processo strutturato che consente di accettare nuove modifiche del modello in modo controllato. Seguendo le raccomandazioni relative alla manutenzione del modello, è possibile mantenere la conformità, evitare esperienze utente impreviste e fornire un servizio più aggiornato. ▪ Manutenzione dei modelli |
Ciclo di vita delle operazioni del carico di lavoro
Questa immagine illustra le fasi operative per i modelli di intelligenza artificiale, tra cui la raccolta dei dati, la pulizia dei dati per eliminare le incoerenze o gli errori e trasformare i dati in un formato analizzabile. Queste fasi sono rilevanti per il training di modelli discriminanti e dati di base nei modelli generativi. Tuttavia, il caso d'uso specifico dei modelli generativi di training non viene illustrato in questa immagine. Questo caso d'uso non rientra nell'ambito di questo articolo.
Le fasi di MLOps e GenAIOps sono simili. La differenza principale è che, nel caso di GenAIOps, lo stato attivo passa dal training alla selezione del modello corretto, alla progettazione dei prompt e all'incorporamento di conoscenze specifiche del dominio tramite l'ottimizzazione o l'implementazione della generazione aumentata di recupero (RAG).
Anche le fasi per la distribuzione e il monitoraggio sono abbastanza simili.
Le sezioni seguenti descrivono le procedure operative comuni. Coprono ogni fase del ciclo di vita, dalla preproduzione alla produzione.
DataOps
I dati vengono aggregati da varie origini dati di produzione e quindi pre-elaborati per rimuovere errori e incoerenze e per gestire i valori mancanti. Infine, viene trasformato e normalizzato in un formato adatto per il training o l'arricchimento. Gli aspetti della progettazione sono descritti negli articoli Dati di training e Dati di base.
Le operazioni sui dati durante questa fase devono essere efficienti perché la gestione di grandi volumi di dati da più origini e pipeline di dati complesse può risultare complessa. Gli approcci da adottare devono garantire che questa fase produa dati di alta qualità. Monitorare questa fase per tenere traccia dello stato di avanzamento verso la barra di qualità accettabile.
È anche necessario assicurarsi che i dati siano sicuri, dato che i dati provengono dall'ambiente di produzione. Assicurarsi che gli ambienti inferiori, ad esempio Sviluppo/Test, siano sicuri come la produzione per evitare eventuali problemi di sicurezza.
Nota
Affrontare i dati di scarsa qualità investendo nella pulizia completa dei dati durante le fasi iniziali. Sfruttare i modelli di analisi noti, ad esempio medallion, mesh di dati e archivi di funzionalità, per eseguire attività di elaborazione upstream. Se le fasi upstream sono inefficaci, è necessario migliorare la qualità durante le fasi downstream, con conseguente aumento dei costi del carico di lavoro perché la preparazione dei dati avviene durante ogni fase.
Per informazioni sulle attività di elaborazione dei dati, vedere gli articoli seguenti:
Strumenti
È consigliabile standardizzare gli strumenti di orchestrazione dei dati del carico di lavoro. Gli strumenti devono essere in grado di fornire una pipeline di dati in grado di raggruppare le attività e che dispone di automazione predefinita.
Una pipeline di Azure Data Factory può essere una scelta iniziale. Può connettersi ed elaborare molte origini dati in modo efficiente. È anche possibile prendere in considerazione Azure Synapse Analytics, che combina Big Data e data warehousing e supporta data lake, Apache Spark e Azure Synapse SQL. Si integra anche con Data Factory per ETL.
Per preparare i dati di training, le pipeline di Azure Machine Learning offrono funzionalità specializzate che possono automatizzare attività come la raccolta e l'elaborazione dei dati.
Le tecnologie open source come Pandas (per la preparazione dei dati) e Scrapy sono scelte popolari.
MLOps
Il training del modello è il processo di selezione degli algoritmi appropriati e di fornire loro dati cronologici pre-elaborati e osservazioni per consentire al modello di apprendere modelli ed eseguire stime.
Il training del modello (progettazione delle funzionalità) e l'ottimizzazione degli iperparametri sono processi iterativi e sono costosi. Durante ogni iterazione, i data scientist tengono traccia dei risultati con combinazioni di dati, codice e parametri. Usare pipeline ripetibili per tenere traccia degli esperimenti con il minimo sforzo manuale fino a raggiungere il livello di accuratezza corretto.
Un'altra sfida operativa è il provisioning e il ridimensionamento di risorse di calcolo specializzate in cui vengono eseguiti esperimenti. Inoltre, è consigliabile creare pacchetti e pubblicare modelli in modo efficiente.
I team possono iniziare con lo sviluppo basato sull'interfaccia utente per ridurre le sfide e, man mano che diventano più sicuri, passare a un approccio basato su codice.
Strumenti
È consigliabile usare strumenti che consentono di tenere traccia degli esperimenti di Machine Learning acquisendo dettagli come versioni del codice, ambienti, parametri, esecuzioni e risultati. MLflow è un framework open source di questo tipo. È consigliabile usare le aree di lavoro di Azure Machine Learning, compatibili con MLflow e offrire un flusso di lavoro semplificato che consente ai data scientist di gestire la produttività e la riproducibilità nei progetti. Per gestire lo sviluppo di codice con il rilevamento del controllo del codice sorgente, integrare la pipeline di Machine Learning con il controllo del codice sorgente come GitHub o usare condivisioni file.
L'ambiente di calcolo dell'hosting può anche influenzare la scelta di un agente di orchestrazione del flusso di lavoro. Se l'applicazione è ospitata in servizio Azure Kubernetes (servizio Azure Kubernetes), è consigliabile usare Kubeflow.
Se si sta valutando Azure Machine Learning, è consigliabile iniziare con il punto di vista di Azure Well-Architected Framework in Machine Learning per assicurarsi di comprendere in che modo il prodotto può essere utile per i problemi di qualità del framework ben progettato del carico di lavoro.
Parte del vantaggio del processo è ottimizzare il tempo personale. I data scientist hanno in genere bisogno di strumenti e SDK specifici per condurre in modo efficace analisi esplorativa dei dati (EDA) e sperimentazione dalle loro workstation. Valutare se le opzioni predefinite in Azure Machine Learning sono adatte. In caso contrario, archiviare la configurazione della workstation o mantenere le immagini vm approvate per questo lavoro. Un esempio di immagine che è possibile usare come punto di partenza è Data Science Virtual Machine (DSVM).One example of an image that you can use as a starting point is the Data Science Virtual Machine (DSVM).
In alcuni casi, l'uso delle macchine virtuali potrebbe non essere consentito dai criteri. Cercare alternative, ad esempio l'aggiunta di Microsoft Dev Box e Desktop virtuale Azure. È anche possibile prendere in considerazione l'uso di Docker per eseguire il bootstrap dei computer che contengono immagini predefinite.
Tuttavia, man mano che questa fase matura e sono necessari esperimenti estesi, passare alle istanze di calcolo gestite e preferire le opzioni integrate come parte del flusso di lavoro. Valutare se è possibile usare istanze di calcolo di Azure Machine Learning per il training e l'inferenza a scopo di sviluppo e test. I cluster di calcolo possono gestire set di dati di grandi dimensioni e modelli complessi.
Azure Machine Learning offre soluzioni basate su codice tramite l'SDK e opzioni a basso codice, ad esempio Machine Learning automatizzato e Progettazione visiva. Python SDK offre diversi modi per eseguire il training dei modelli, ognuno con funzionalità distinte. Machine Learning supporta anche tecnologie avanzate di ottimizzazione e elaborazione distribuita come ORTModule, DeepSpeed e LoRA di ONNX Runtime Training per velocizzare il processo di training.
GenAIOps
Le attività principali durante questa fase iniziano con l'individuazione e la valutazione dei modelli esistenti per identificare uno sottoposto a training preliminare per il caso d'uso specifico. Si tratta di un processo iterativo. Dopo aver trovato un modello appropriato, può trarre vantaggio dalla affinamento per il grounding specifico del dominio, che comporta anche passaggi iterativi e richiede un certo livello di orchestrazione.
L'integrazione e la distribuzione di modelli richiedono strumenti e procedure specializzati che vanno oltre le funzionalità MLOps tradizionali, tra cui l'orchestrazione di modelli, indici vettoriali, richieste e blocchi di codice.
Strumenti
Per gestire le attività di individuazione, sfruttare i cataloghi di modelli che includono modelli di vari provider. Il catalogo dei modelli di nel portale di Azure AI Foundry consente di valutare tra raccolte curate e distribuire modelli in modo efficiente.
Il flusso dei prompt di Azure Machine Learning può essere utile per lo sviluppo di codice di orchestrazione, l'abilitazione di prototipi, esperimenti, iterazioni e progettazione prompt. Questi flussi possono essere distribuiti agli endpoint gestiti di Azure Machine Learning. Valutare se è possibile eseguire e distribuire i flussi con la tecnologia della pipeline CI/CD esistente.
Distribuzione
Durante questa fase, il modello viene distribuito in una piattaforma di hosting e inferenza o nel livello di servizio dei carichi di lavoro di intelligenza artificiale. Le API devono essere in pacchetto come contenitore scalabile. La piattaforma contenitore può essere una piattaforma di calcolo gestita o di hosting personalizzata. Le procedure operative devono garantire una distribuzione sicura e abilitare i rollback.
Iniziare con la piattaforma distribuita come servizio (PaaS) e soluzioni serverless come il servizio Azure OpenAI per semplificare l'adozione e la gestione. Prendere in considerazione l'uso dell'API serverless di Azure Machine Learning per aggregare l'accesso agli endpoint. I cluster di calcolo gestiti sono un'opzione valida per le esigenze avanzate. L'hosting automatico nel servizio Azure Kubernetes è un'altra opzione. Assicurarsi di ridimensionare correttamente il calcolo e mantenere l'isolamento corretto da altri carichi di lavoro. È anche possibile prendere in considerazione opzioni come l'hosting completo del modello come infrastruttura distribuita come servizio (IaaS). IaaS offre flessibilità, ma può aggiungere carico operativo. Queste opzioni sono descritte in Piattaforma applicazioni.
Questa fase presenta l'ultima possibilità di intercettare i problemi prima di spostare il modello nell'ambiente di produzione. I processi di test devono includere i passaggi di convalida per assicurarsi che il modello sia configurato per fornire stime come previsto.
È consigliabile integrare il modello nell'ambiente di produzione esistente seguendo i processi di esposizione progressiva e usando distribuzioni side-by-side. Il modello canary è un modo comune per implementare nuovi modelli. Con questo metodo, la base utente viene aumentata gradualmente. La distribuzione blu-verde è un altro metodo.
Strumenti
È possibile usare le pipeline di Azure Machine Learning o Azure Pipelines per distribuire i modelli per l'inferenza. Machine Learning offre diverse funzionalità per operazioni semplificate, tra cui il provisioning dei nodi, gli aggiornamenti del sistema operativo, la scalabilità automatica, il monitoraggio e le reti virtuali isolate.
Machine Learning supporta anche la distribuzione blu-verde, che consente a un singolo endpoint di contenere più distribuzioni.
Se si usano altre piattaforme di hosting, ad esempio App Azure Container o servizio app Azure, si è responsabili delle operazioni, incluso il provisioning e il ridimensionamento. Usare Azure DevOps, pipeline GitHub o la tecnologia CI/CD scelta in questi casi.
Monitoraggio
Il monitoraggio è una strategia chiave e viene applicata in tutte le fasi. Si tratta di un processo in corso e funge da input per i controlli di qualità che assicurano che i carichi di lavoro di intelligenza artificiale vengano testati rigorosamente per mantenere la coerenza e l'affidabilità nel ciclo di vita dello sviluppo. I modelli devono essere monitorati sia dal punto di vista operativo che da quello di data science.
È consigliabile disporre di un processo di monitoraggio dei cicli interni DataOps che misura la prossimità a una barra di qualità di accettazione e verifica la presenza di anomalie.
Per i modelli con training preliminare, è anche importante monitorare la deriva e le prestazioni dei dati, con particolare attenzione alla pertinenza. Valutare gli input (prompt) e gli output (completamenti) per assicurarsi che siano pertinenti e accurati. Inoltre, tenere presente i rischi per la sicurezza, ad esempio i tentativi di modificare il comportamento del modello tramite prompt dannosi. Assicurarsi che sia presente un'accurata con modalità tenda razione che controlla i dati in entrambe le direzioni e filtra il contenuto non appropriato. Queste considerazioni sono descritte nell'area di progettazione ResponsibleAI.
Dopo la distribuzione, le operazioni di monitoraggio sono necessarie per risolvere problemi come il decadimento del modello. I modelli possono diventare obsoleti a causa di modifiche apportate ai dati o alle modifiche esterne che possono causare la generazione di risultati irrilevanti da parte del modello. Come misura proattiva, usare processi automatizzati per il monitoraggio continuo e valutare e ripetere il training per mantenere l'accuratezza e la pertinenza. Inoltre, è necessario monitorare le metriche dell'infrastruttura e del carico di lavoro, come si farebbe con qualsiasi altro carico di lavoro, per garantire prestazioni e affidabilità ottimali. Per altre informazioni, vedere Test del decadimento del modello.
Strumenti
Investire in strumenti che semplificano la raccolta delle metriche dagli endpoint di inferenza, ad esempio l'agente di raccolta dati di Azure Machine Learning.
È anche necessaria l'osservabilità delle prestazioni del modello, la deriva dei dati e la sicurezza e la qualità per l'intelligenza artificiale generativa.
Vedi questi articoli per ulteriori informazioni:
Automation
I carichi di lavoro di intelligenza artificiale sono complessi perché il ciclo di vita complessivo prevede molti ruoli, modifiche frequenti e passaggi correlati. I processi manuali possono essere soggetti a errori e incoerenze. L'automazione nell'hosting del modello di elaborazione dati consente di garantire la ripetibilità e l'efficienza. L'automazione non è sempre necessaria, ma è un modo efficace per gestire queste complessità. Ecco alcuni casi d'uso in cui l'automazione può ridurre i rischi:
A differenza della distribuzione di codice tradizionale, i modelli e le soluzioni non deterministici in intelligenza artificiale/Machine Learning richiedono sperimentazione iterativa e training. Quando più team collaborano, l'automazione, come modo per applicare processi standardizzati, può contribuire a mantenere la coerenza, la riproducibilità e la collaborazione efficace tra data scientist, ingegneri e team operativi.
Il ciclo di vita del modello prevede due tipi principali di training:
Il training online incorpora spesso i dati recenti nel modello, talvolta quotidianamente, per garantire che le decisioni siano basate sulle informazioni più recenti. Questo training è integrato nel carico di lavoro in modo che il modello venga costantemente aggiornato come parte del processo regolare.
Il training offline esegue il training del modello meno frequentemente, consentendo un divario più lungo tra gli aggiornamenti. Il processo di training è separato dal carico di lavoro principale e viene eseguito in modo asincrono. Dopo che il nuovo modello è pronto, viene quindi integrato nel sistema.
L'affidabilità può essere compromessa se gli aggiornamenti non sono frequenti. Se un aggiornamento non viene eseguito, può essere posticipato senza problemi gravi. Questo concetto si applica anche ai dati di base. Ad esempio, se si usa RAG, è necessario decidere se è necessario usare dati recenti o se i dati leggermente meno recenti sono sufficienti. Entrambi gli scenari comportano il bilanciamento della necessità di informazioni aggiornate con la praticità della frequenza di aggiornamento. È consigliabile eseguire il training online tramite l'automazione a causa della frequenza e dell'affidabilità necessarie. Per il training offline, a causa della frequenza richiesta, è necessario giustificare l'automazione eseguendo un'analisi dei costi-benefici. Inoltre, è possibile eseguire il training offline usando risorse meno costose, ad esempio hardware offline.
I processi DevOps tradizionali sono in genere influenzati da modifiche strutturali. Tuttavia, nell'intelligenza artificiale e nell'apprendimento automatico, i modelli vengono sottoposti a training sui dati di produzione. Il decadimento del modello rappresenta un rischio significativo e può causare una riduzione delle prestazioni nel tempo, se non viene monitorato. La raccolta e l'analisi automatizzate delle metriche delle prestazioni, degli avvisi e della ripetizione del training del modello sono necessarie per mantenere l'efficacia del modello. Usare l'automazione in modo da consentire di rilevare le modifiche apportate ai dati e alle dipendenze del modello per ottenere una chiara comprensione dello stato corrente in qualsiasi momento.
È possibile eseguire il training dei modelli con due approcci distinti.
- I modelli vengono sottoposti a training nell'ambiente di sviluppo con dati di produzione completi e solo l'artefatto viene alzato di livello tramite ambienti. Questo approccio può ridurre i costi di calcolo, ma richiede una maggiore sicurezza per gestire i dati di produzione negli ambienti inferiori e potrebbe non essere possibile in tutte le organizzazioni.
- Il training del modello viene eseguito in ogni ambiente. L'innalzamento di livello del codice può contribuire alla stabilità perché il codice di training viene esaminato e testato negli ambienti inferiori, ma aumenta il costo del calcolo.
Entrambi gli approcci hanno pro e contro. La scelta dell'approccio appropriato dipende dalle priorità dell'organizzazione e dalle procedure SDLC (Software Development Life Cycle) dell'organizzazione. Indipendentemente dal metodo, i test approfonditi e la valutazione del modello prima della distribuzione di produzione sono essenziali
Il codice di automazione deve incorporare la derivazione dei dati per supportare la verificabilità fornendo un record chiaro delle fasi di elaborazione dei dati. Questo record consente di gestire le aspettative e di illustrare il modo in cui sono state prese decisioni in modo da poter affrontare eventuali problemi relativi ai risultati.
Pipeline di distribuzione
Nei carichi di lavoro di Intelligenza artificiale/Machine Learning lo sviluppo di modelli implica la creazione, la convalida e la promozione di modelli per modellare le piattaforme di hosting. È importante avere pipeline di distribuzione che semplificano flussi di lavoro complessi correlati all'elaborazione dei dati, alla progettazione delle funzionalità, al training dei modelli o all'aumento e alla distribuzione nell'ambiente di produzione. Data la natura non deterministica dell'IA, che rende opachi i processi, è necessario incorporare test qualitativi nelle pipeline di rilascio e nei sistemi di monitoraggio.
Anche se MLOps e GenAIOps potrebbero richiedere attività di intelligenza artificiale distinte e tecnologie di base potrebbero differire, i concetti sottostanti rimangono simili a quelli di DevOps. È consigliabile applicare le procedure consigliate dai processi DevOps esistenti. Integrare le attività di intelligenza artificiale nelle pipeline esistenti del carico di lavoro.
In genere, i carichi di lavoro di intelligenza artificiale implicano distribuzioni di codice tradizionali. È possibile scegliere di gestire la distribuzione del modello insieme al codice o separatamente nel proprio ciclo di vita. L'approccio precedente è preferibile. Prepararsi a creare un pacchetto di modelli ed endpoint di inferenza con la distribuzione del carico di lavoro per mantenere le operazioni di intelligenza artificiale incentrate principalmente sulla preparazione dei dati, il training/ottimizzazione, la gestione dei dati a terra e il monitoraggio.
Rivalutare il modo in cui è possibile personalizzare gli asset seguenti per coprire l'intero ciclo di vita di MLOps e GenAIOps, dalla preproduzione alla produzione:
- Strumenti IaC (Infrastructure-as-Code)
- Pipeline CI/CD
- Stack di osservabilità per il rilevamento e l'identificazione dei problemi
Strumenti
È possibile estendere i flussi di lavoro di Azure Pipelines e GitHub Actions, comunemente usati per CI/CD, ai modelli di Machine Learning. Consentono di distribuire l'infrastruttura di Machine Learning, i componenti del carico di lavoro personalizzati, il codice di orchestrazione e i modelli. Combinare le pipeline di Azure Machine Learning con le pipeline di Azure DevOps o GitHub. Per altre informazioni, vedere Usare Azure Pipelines con Azure Machine Learning.
Due fattori principali influenzano la scelta della giusta combinazione di strumenti: casi d'uso e funzionalità. Ad esempio, le pipeline di Azure Machine Learning sono ideali per l'orchestrazione eseguita dai data scientist. Include un set di funzionalità avanzato che supporta il riutilizzo, la memorizzazione nella cache e altro ancora. Per le scelte degli strumenti, vedere Quale tecnologia della pipeline di Azure è consigliabile usare?
Manutenzione del modello
Il panorama dell'IA/ML è competitivo con l'innovazione continua. Nuovi modelli emergono spesso, vengono individuati nuovi casi d'uso e nuove origini dati diventano disponibili. Di conseguenza, il decadimento del modello è una sfida comune.
Per evitare la riduzione delle prestazioni del modello o la deriva nel tempo, è necessario implementare processi automatizzati per il monitoraggio continuo, la valutazione e la ripetizione del training. Ad esempio:
Gestire un catalogo di modelli. Automatizzare il processo di individuazione di nuovi modelli e aggiornamento del catalogo.
Adattarsi ai nuovi casi d'uso. Man mano che vengono aggiunti nuovi casi d'uso ai requisiti del carico di lavoro, prevedere le query e regolare la logica di elaborazione dei dati di conseguenza.
Incorporare nuove origini dati. Se le nuove origini dati possono potenzialmente migliorare la potenza predittiva o la pertinenza del modello, aggiornare la pipeline di inserimento dati per connettersi ed eseguire il pull dei dati da tali origini.
Valutare la conformità ai requisiti normativi. Quando ci si adatta alle nuove funzionalità, assicurarsi che le modifiche rimangano valide entro i vincoli degli standard di conformità aziendali o esterni.
Implementare un processo formale per tenere traccia del miglioramento continuo e incorporare l'auto-miglioramento come sottoprocesso all'interno di tale ciclo.
Evoluzione continua
Esaminare e migliorare regolarmente le operazioni e incoraggiare l'innovazione.
Il modello di maturità MLOps avanza dai processi manuali all'automazione completa. Iniziare con compilazioni e monitoraggio manuali e incorporare compilazioni automatizzate di applicazioni, ambienti di training e distribuzione in fasi giustificate da metriche complete. Per altre informazioni, vedere Modello di maturità MLOps.
I livelli di maturità GenAIOps passano dai modelli di base alla distribuzione strutturata, usando progressivamente tecniche di ottimizzazione automatizzate. Per altre informazioni, vedere Avanzare il livello di maturità per GenAIOps.