Panoramica

Machine Learning Operations (MLOps) Workload Orchestrator semplifica l'implementazione del modello ML e applica le migliori pratiche per la scalabilità, l'affidabilità e l'efficienza. Questa soluzione AWS è un framework estensibile con un'interfaccia standard per la gestione delle pipeline di ML per i servizi ML di AWS e di terze parti.
Questa soluzione include un modello AWS CloudFormation. Questo modello consente l'addestramento dei modelli, il caricamento di modelli pre-addestrati (noto anche come bring your own model o BYOM), la configurazione dell'orchestrazione della pipeline e il monitoraggio del funzionamento della pipeline. Implementando questa soluzione, il tuo team può aumentare la propria agilità ed efficienza, ripetendo processi di successo su larga scala.
Vantaggi

Avvia una pipeline preconfigurata tramite una chiamata API o un bucket Amazon S3.
Automatizza il monitoraggio dei modelli con Amazon SageMaker BYOM e fornisci un endpoint di inferenza serverless con rilevamento della deriva.
Utilizza Amazon SageMaker Model Dashboard per visualizzare, cercare ed esplorare le risorse Amazon SageMaker create nell'ambito della soluzione (inclusi modelli, endpoint, model card e processi di trasformazione in batch).
Specifiche tecniche

Questa architettura può essere implementata automaticamente consultando la guida all'implementazione e il modello AWS CloudFormation allegato. Per supportare molteplici casi d'uso ed esigenze aziendali, questa soluzione offre due modelli AWS CloudFormation:
- Utilizza il modello per singolo account per implementare tutte le pipeline della soluzione all'interno dello stesso account AWS. Questa opzione è consigliabile per carichi di lavoro di sperimentazione, sviluppo e/o produzione su piccola scala.
- Utilizza il modello multi-account per effettuare il provisioning di più ambienti (ad esempio sviluppo, staging e produzione) tra svariati account AWS. In questo modo, potrai trarre vantaggio da una governance migliore, da un livello più elevato di controllo e sicurezza dell'implementazione della pipeline di ML, di una sperimentazione sicura e di un'innovazione più rapida, garantendo al contempo la sicurezza dei dati e dei carichi di lavoro di produzione e la disponibilità necessaria per aiutare a garantire la continuità aziendale.
-
Opzione 1: implementazione su un singolo account
-
Opzione 2 - Implementazione multi-account
-
Opzione 1: implementazione su un singolo account
-
Fase 1
L'orchestratore, che potrebbe essere un ingegnere DevOps o un altro tipo di utente, avvia questa soluzione nel proprio account AWS e seleziona le opzioni preferite. Ad esempio, può utilizzare Amazon SageMaker Model Registry o un bucket Amazon Simple Storage Service (Amazon S3) esistente.
Fase 2
L'orchestratore carica le risorse richieste, come ad esempio l'artefatto del modello, i dati di addestramento o il file in formato .zip degli algoritmi personalizzati, nel bucket delle risorse di Amazon S3. Se si utilizza il registro dei modelli SageMaker, l'orchestratore (o una pipeline automatizzata) deve registrare il modello con tale registro.
Fase 3a
Un'istanza AWS CodePipeline di account singoli è sottoposta al provisioning dall'invio di una chiamata API ad Amazon API Gateway o dal caricamento di un file mlops-config.json nel bucket Amazon S3 di configurazione.
Fase 3b
A seconda del tipo di pipeline, la funzione AWS Lambda Orchestrator impacchetta il modello CloudFormation di destinazione e i relativi parametri e configurazioni utilizzando il corpo della chiamata API o il file mlops-config.json. L'orchestratore utilizza quindi questo modello e le configurazioni in pacchetti come fase di origine per l'istanza CodePipeline.
Fase 4
Nella fase DeployPipeline, si prende il pacchetto del modello CloudFormation e i relativi parametri o configurazioni e si procede all'implementazione della pipeline di destinazione all'interno dello stesso account.
Fase 5
Una volta effettuato il provisioning della pipeline di destinazione, gli utenti possono accedere alla relative funzionalità. Viene inviata una notifica del Servizio di notifica semplice Amazon (Amazon SNS) all'indirizzo e-mail indicato nei parametri relativi all'avvio della soluzione. -
Opzione 2 - Implementazione multi-account
-
Fase 1
L'orchestratore, che potrebbe essere un ingegnere DevOps con accesso da amministratore all'account dell'orchestratore, fornisce le informazioni su AWS Organizations (ad esempio, numeri degli account e ID delle unità organizzative di sviluppo, staging e produzione).
Specifica inoltre le opzioni desiderate, che potrebbero includere l’utilizzo del registro di modelli SageMaker o la fornitura di un bucket Amazon S3 esistente, quindi avvia la soluzione nel proprio account AWS.
Fase 2
L'orchestratore carica le risorse necessarie per la pipeline di destinazione, come ad esempio l'artefatto del modello, i dati di addestramento e/o il file in formato .zip degli algoritmi personalizzati, nel bucket della risorse di Amazon S3 nell'account AWS dell'orchestratore. Se si utilizza il registro dei modelli di SageMaker, l'orchestratore (o una pipeline automatizzata) deve registrare il modello con il Model Registry.
Fase 3a
Il provisioning di un'istanza CodePipeline con più account viene effettuato inviando una chiamata API ad API Gateway o caricando il file mlops-config.json nel bucket di configurazione Amazon S3.Fase 3b
A seconda del tipo di pipeline, la funzione Lambda Orchestrator impacchetta il target
Modello CloudFormation e relativi parametri e configurazioni utilizzando il corpo della chiamata API o il file mlops-config.json. L'orchestratore utilizza quindi questo modello e le configurazioni in pacchetti come fase di origine per l'istanza CodePipeline.
Fase 4
Nella fase DeployDev, si prende il modello CloudFormation pacchettizzato e i relativi parametri o configurazioni e si procede all'implementazione della pipeline di destinazione all'interno dell'account di sviluppo.
Fase 5
Una volta effettuato il provisioning della pipeline di destinazione nell'account di sviluppo, lo sviluppatore può procedere con l'iterazione della pipeline.Fase 6
Al termine dello sviluppo, l'orchestratore (o un altro account autorizzato) approva manualmente l'operazione DeployStaging per passare alla fase successiva, DeployStaging.
Fase 7
Nella fase DeployStaging si procede con l'implementazione della pipeline di destinazione all'interno dell'account di staging utilizzando la rispettiva configurazione.Fase 8
I tester eseguono svariati test sulla pipeline implementata.Fase 9
Una volta che la pipeline supera i test di qualità, l'orchestratore può approvare l'operazione DeployProd.Fase 10
Nella fase DeployProd si procede all'implementazione della pipeline di destinazione (con le configurazioni di produzione) all'interno dell'account di produzione.Fase 11
La pipeline di destinazione è disponibile all'interno della produzione. Una notifica Amazon SNS viene inviata all'indirizzo e-mail fornito nei parametri di avvio della soluzione.
Contenuti correlati

In collaborazione con i team AWS Partner Solutions Architect e Biblioteca di soluzioni AWS, Cognizant ha costruito la soluzione MLOps Model Lifecycle Orchestrator basata a sua volta sulla soluzione Orchestratore dei carichi di lavoro MLOps.
- Data di pubblicazione