Panoramica
L’orchestratore dei carichi di lavoro MLOps aiuta a ottimizzare la messa in produzione dei modelli di machine learning (ML) e ad applicarvi le best practice di architettura. Questa soluzione AWS è un framework estensibile che fornisce un'interfaccia standard per la gestione delle pipeline di ML per i servizi ML di AWS e di terze parti.
Il modello della soluzione consente di addestrare modelli, caricare i modelli addestrati (detto anche “importa il tuo modello [BYOM]”), configurare l'orchestrazione della pipeline e monitorarne le operazioni. Usando questa soluzione, è possibile aumentare l'efficienza e l'agilità del team consentendogli di ripetere processi di successo su larga scala.
Vantaggi
Utilizza Amazon SageMaker Model Dashboard per visualizzare le risorse Amazon SageMaker create nell'ambito della soluzione (ad esempio 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 (proprietario della soluzione o ingegnere DevOps) avvia la soluzione nell'account AWS e seleziona le opzioni desiderate (ad esempio, utilizzando il registro dei modelli Amazon SageMaker o fornendo un bucket Amazon Single Storage Service [Amazon S3] esistente).Fase 2
L'orchestratore carica le risorse richieste per la pipeline di destinazione (ad esempio, l'artefatto del modello, i dati di addestramento o il file in formato .zip degli algoritmi personalizzati) nel bucket delle risorse di S3. Se si utilizza il registro dei modelli Amazon SageMaker, l'orchestratore (o una pipeline automatizzata) deve registrare il modello con tale registro.Fase 3a
La soluzione fornisce una AWS CodePipeline su un singolo account inviando una chiamata API al Gateway Amazon API oppure eseguendo il commit del file mlops-config.json al repository Git.
Fase 3b
In base al tipo di pipeline, la funzione AWS Lambda dell'orchestratore crea un pacchetto del modello AWS CloudFormation di destinazione e i relativi parametri e configurazioni utilizzando il corpo di una chiamata API o il file mlops-config.json, che successivamente utilizza come fase di origine per l'istanza CodePipeline.Fase 4
Nella fase DeployPipeline , si prende il pacchetto del modello CloudFormation e i relativi parametri e 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 (il proprietario della soluzione o l'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 (ad esempio, utilizzando il registro di modelli SageMaker o fornendo un bucket S3 esistente), quindi avvia la soluzione nel proprio account AWS.
Fase 2
L'orchestratore carica le risorse necessarie per la pipeline di destinazione (ad esempio, l'artefatto del modello, i dati di addestramento o il file in formato .zip degli algoritmi personalizzati) nel bucket delle risorse di S3 nell'account AWS dell'orchestratore. Se si utilizza il registro dei modelli SageMaker, l'orchestratore (o una pipeline automatizzata) deve registrare il modello con tale registro.
Fase 3a
La soluzione esegue il provisioning di un'istanza CodePipeline multi-account inviando una chiamata API al Gateway API oppure eseguendo il commit del file mlops-config.json al repository Git.
Fase 3b
In base al tipo di pipeline, la funzione Lambda dell'orchestratore crea un pacchetto del modello CloudFormation di destinazione e i relativi parametri/configurazioni per ciascuna fase utilizzando il corpo di una chiamata API o il file mlops-config.json, che successivamente utilizza come fase di origine per l'istanza CodePipeline.Fase 4
Nella fase DeployDev, si prende il modello CloudFormation pacchettizzato e i relativi parametri e 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 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 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