Costruire una piattaforma per le operazioni di machine learning (MLOps) nel panorama in rapida evoluzione dell'intelligenza artificiale (AI) e dell'apprendimento automatico (ML) per le organizzazioni è essenziale per colmare senza soluzione di continuità il divario tra la sperimentazione e l'implementazione della scienza dei dati, soddisfacendo al contempo i requisiti relativi alle prestazioni del modello, sicurezza e conformità.
Al fine di soddisfare i requisiti normativi e di conformità, i requisiti chiave durante la progettazione di tale piattaforma sono:
- Deriva dei dati degli indirizzi
- Monitorare le prestazioni del modello
- Facilitare la riqualificazione automatica del modello
- Fornire un processo per l'approvazione del modello
- Conserva i modelli in un ambiente sicuro
In questo post mostriamo come creare un framework MLOps per soddisfare queste esigenze utilizzando una combinazione di servizi AWS e set di strumenti di terze parti. La soluzione prevede una configurazione multiambiente con riqualificazione automatizzata del modello, inferenza batch e monitoraggio Monitor modello Amazon SageMaker, versione del modello con Registro dei modelli SageMakere una pipeline CI/CD per facilitare la promozione del codice e delle pipeline ML tra gli ambienti utilizzando Amazon Sage Maker, Amazon EventBridge, Servizio di notifica semplice Amazon (Amazon S3), Terraforma HashiCorp, GitHube Jenkins CI/CD. Costruiamo un modello per prevedere la gravità (benigna o maligna) di una lesione di massa mammografica addestrata con il Algoritmo XGBoost utilizzando quelli disponibili al pubblico Massa mammografica dell'UCI set di dati e distribuirlo utilizzando il framework MLOps. Le istruzioni complete con il codice sono disponibili nel Repository GitHub.
Panoramica della soluzione
Il seguente diagramma dell'architettura mostra una panoramica del framework MLOps con i seguenti componenti chiave:
- Strategia multi-account – Due ambienti diversi (sviluppo e produzione) sono configurati in due diversi account AWS seguendo le best practice AWS Well-Architected e un terzo account è configurato nel registro del modello centrale:
- Ambiente di sviluppo – Dove un Dominio Amazon SageMaker Studio è configurato per consentire lo sviluppo del modello, l'addestramento del modello e il test delle pipeline ML (training e inferenza), prima che un modello sia pronto per essere promosso ad ambienti superiori.
- Ambiente di produzione – Dove le pipeline ML dello sviluppo vengono promosse come primo passaggio e pianificate e monitorate nel tempo.
- Registro centrale dei modelli - Registro dei modelli di Amazon SageMaker è configurato in un account AWS separato per tenere traccia delle versioni del modello generate negli ambienti di sviluppo e produzione.
- CI/CD e controllo della sorgente – La distribuzione di pipeline ML tra ambienti viene gestita tramite CI/CD configurato con Jenkins, insieme al controllo della versione gestito tramite GitHub. Le modifiche al codice unite al ramo git dell'ambiente corrispondente attivano un flusso di lavoro CI/CD per apportare le modifiche appropriate all'ambiente di destinazione specificato.
- Previsioni in batch con monitoraggio del modello – La pipeline di inferenza creata con Pipeline di Amazon SageMaker viene eseguito su base pianificata per generare previsioni insieme al monitoraggio del modello utilizzando SageMaker Model Monitor per rilevare la deriva dei dati.
- Meccanismo di riqualificazione automatizzato – La pipeline di addestramento creata con SageMaker Pipelines viene attivata ogni volta che viene rilevata una deriva dei dati nella pipeline di inferenza. Dopo l'addestramento, il modello viene registrato nel registro centrale dei modelli per essere approvato da un approvatore del modello. Una volta approvata, la versione aggiornata del modello viene utilizzata per generare previsioni tramite la pipeline di inferenza.
- Infrastruttura come codice – L'infrastruttura come codice (IaC), creata utilizzando Terraforma HashiCorp, supporta la pianificazione della pipeline di inferenza con EventBridge, l'attivazione della pipeline del treno basata su un Regola EventBridge e inviare notifiche utilizzando Servizio di notifica semplice Amazon (SNS Amazon) Argomenti.
Il flusso di lavoro MLOps include i seguenti passaggi:
- Accedi al dominio SageMaker Studio nell'account di sviluppo, clona il repository GitHub, segui il processo di sviluppo del modello utilizzando il modello di esempio fornito e genera le pipeline di training e inferenza.
- Esegui la pipeline del treno nell'account di sviluppo, che genera gli artefatti del modello per la versione del modello addestrato e registra il modello nel registro dei modelli SageMaker nell'account del registro del modello centrale.
- Approvare il modello nel registro dei modelli SageMaker nell'account del registro dei modelli centrale.
- Inserisci il codice (pipeline di training e inferenza e il codice IaC Terraform per creare la pianificazione EventBridge, la regola EventBridge e l'argomento SNS) in un ramo di funzionalità del repository GitHub. Crea una richiesta pull per unire il codice nel ramo principale del repository GitHub.
- Attiva la pipeline CI/CD Jenkins, configurata con il repository GitHub. La pipeline CI/CD distribuisce il codice nell'account di produzione per creare pipeline di training e inferenza insieme al codice Terraform per eseguire il provisioning della pianificazione EventBridge, della regola EventBridge e dell'argomento SNS.
- L'esecuzione della pipeline di inferenza è pianificata su base giornaliera, mentre la pipeline del treno è impostata per essere eseguita ogni volta che viene rilevata una deriva dei dati dalla pipeline di inferenza.
- Le notifiche vengono inviate tramite l'argomento SNS ogni volta che si verifica un errore con il treno o la pipeline di inferenza.
Prerequisiti
Per questa soluzione, dovresti avere i seguenti prerequisiti:
- Tre account AWS (account di sviluppo, produzione e registro del modello centrale)
- Un dominio SageMaker Studio configurato in ciascuno dei tre account AWS (vedi Effettua l'onboarding in Amazon SageMaker Studio oppure guarda il video Accedi rapidamente ad Amazon SageMaker Studio per le istruzioni di configurazione)
- Jenkins (usiamo Jenkins 2.401.1) con privilegi amministrativi installato su AWS
- Terraform versione 1.5.5 o successiva installata sul server Jenkins
Per questo post, lavoriamo in us-east-1
Regione in cui distribuire la soluzione.
Fornisci chiavi KMS negli account di sviluppo e produzione
Il nostro primo passo è creare Servizio di gestione delle chiavi AWS (AWS KMS) negli account dev e prod.
Crea una chiave KMS nell'account di sviluppo e concedi l'accesso all'account di produzione
Completa i seguenti passaggi per creare una chiave KMS nell'account di sviluppo:
- Nella console AWS KMS, scegli Chiavi gestite dal cliente nel pannello di navigazione.
- Scegli Crea chiave.
- Nel Tipo di chiave, selezionare simmetrico.
- Nel Utilizzo chiave, selezionare Crittografare e decrittografare.
- Scegli Avanti.
- Inserisci il numero dell'account di produzione per consentire all'account di produzione di accedere alla chiave KMS fornita nell'account di sviluppo. Questo è un passaggio obbligatorio perché la prima volta che il modello viene addestrato nell'account di sviluppo, gli artefatti del modello vengono crittografati con la chiave KMS prima di essere scritti nel bucket S3 nell'account del registro del modello centrale. L'account di produzione deve accedere alla chiave KMS per decrittografare gli artefatti del modello ed eseguire la pipeline di inferenza.
- Scegli Avanti e finisci di creare la tua chiave.
Una volta effettuato il provisioning della chiave, dovrebbe essere visibile sulla console AWS KMS.
Crea una chiave KMS nell'account prodotto
Segui gli stessi passaggi della sezione precedente per creare una chiave KMS gestita dal cliente nell'account di produzione. Puoi saltare il passaggio per condividere la chiave KMS con un altro account.
Configura un bucket S3 degli artefatti del modello nell'account del registro del modello centrale
Crea un bucket S3 a tua scelta con la stringa sagemaker
nella convenzione di denominazione come parte del nome del bucket nell'account del registro del modello centrale e aggiornare la policy del bucket sul bucket S3 per concedere le autorizzazioni sia agli account dev che a quelli prod per leggere e scrivere artefatti del modello nel bucket S3.
Il codice seguente è la policy del bucket da aggiornare sul bucket S3:
Configura i ruoli IAM nei tuoi account AWS
Il prossimo passo è configurare Gestione dell'identità e dell'accesso di AWS (IAM) nei tuoi account AWS con autorizzazioni per AWS Lambda, SageMaker e Jenkins.
Ruolo di esecuzione Lambda
Impostare Ruoli di esecuzione Lambda negli account dev e prod, che verranno utilizzati dalla funzione Lambda eseguita come parte del file Passaggio Lambda di SageMaker Pipelines. Questo passaggio verrà eseguito dalla pipeline di inferenza per recuperare l'ultimo modello approvato, utilizzando il quale vengono generate le inferenze. Crea ruoli IAM negli account di sviluppo e produzione con la convenzione di denominazione arn:aws:iam::<account-id>:role/lambda-sagemaker-role
e allega le seguenti policy IAM:
- Politica 1 – Creare una policy in linea denominata
cross-account-model-registry-access
, che dà accesso al pacchetto di modelli impostato nel registro dei modelli nell'account centrale: - Politica 2 - Allegare AmazonSageMakerFullAccess, che è un Policy gestita da AWS che garantisce l'accesso completo a SageMaker. Fornisce inoltre l'accesso selezionato ai servizi correlati, come Ridimensionamento automatico dell'applicazione AWS,Amazon S3, Registro dei contenitori Amazon Elastic (Amazon ECR), e Log di Amazon CloudWatch.
- Politica 3 - Allegare AWSLambda_FullAccess, che è una policy gestita da AWS che garantisce l'accesso completo a Lambda, alle funzionalità della console Lambda e ad altri servizi AWS correlati.
- Politica 4 – Utilizza la seguente policy di attendibilità IAM per il ruolo IAM:
Ruolo di esecuzione di SageMaker
I domini SageMaker Studio impostati negli account dev e prod dovrebbero avere ciascuno un ruolo di esecuzione associato, che può essere trovato nella pagina impostazioni dominio scheda nella pagina dei dettagli del dominio, come mostrato nello screenshot seguente. Questo ruolo viene utilizzato per eseguire lavori di formazione, lavori di elaborazione e altro all'interno del dominio SageMaker Studio.
Aggiungi le seguenti policy al ruolo di esecuzione SageMaker in entrambi gli account:
- Politica 1 – Creare una policy in linea denominata
cross-account-model-artifacts-s3-bucket-access
, che dà accesso al bucket S3 nell'account del registro del modello centrale, che memorizza gli artefatti del modello: - Politica 2 – Creare una policy in linea denominata
cross-account-model-registry-access
, che dà accesso al pacchetto del modello nel registro del modello nell'account del registro del modello centrale: - Politica 3 – Creare una policy in linea denominata
kms-key-access-policy
, che dà accesso alla chiave KMS creata nel passaggio precedente. Fornire l'ID account in cui viene creata la policy e l'ID della chiave KMS creata in tale account. - Politica 4 - Allegare AmazonSageMakerFullAccess, che è un Policy gestita da AWS che garantisce l'accesso completo a SageMaker e l'accesso selezionato ai servizi correlati.
- Politica 5 - Allegare AWSLambda_FullAccess, che è una policy gestita da AWS che garantisce l'accesso completo a Lambda, alle funzionalità della console Lambda e ad altri servizi AWS correlati.
- Politica 6 - Allegare CloudWatchEventsAccesso completo, che è una policy gestita da AWS che garantisce l'accesso completo a CloudWatch Events.
- Politica 7 – Aggiungi la seguente policy di attendibilità IAM per il ruolo IAM di esecuzione SageMaker:
- Policy 8 (specifica per il ruolo di esecuzione SageMaker nell'account prodotto) – Creare una policy in linea denominata
cross-account-kms-key-access-policy
, che dà accesso alla chiave KMS creata nell'account dev. Ciò è necessario affinché la pipeline di inferenza possa leggere gli artefatti del modello archiviati nell'account del registro del modello centrale in cui gli artefatti del modello vengono crittografati utilizzando la chiave KMS dall'account dev quando la prima versione del modello viene creata dall'account dev.
Ruolo Jenkins su più account
Configura un ruolo IAM chiamato cross-account-jenkins-role
nell'account di produzione, che Jenkins assumerà per distribuire le pipeline ML e l'infrastruttura corrispondente nell'account di produzione.
Aggiungi le seguenti policy IAM gestite al ruolo:
CloudWatchFullAccess
AmazonS3FullAccess
AmazonSNSFullAccess
AmazonSageMakerFullAccess
AmazonEventBridgeFullAccess
AWSLambda_FullAccess
Aggiorna la relazione di fiducia sul ruolo per concedere autorizzazioni all'account AWS che ospita il server Jenkins:
Aggiorna le autorizzazioni sul ruolo IAM associato al server Jenkins
Supponendo che Jenkins sia stato configurato su AWS, aggiorna il ruolo IAM associato a Jenkins per aggiungere le seguenti policy, che forniranno a Jenkins l'accesso per distribuire le risorse nell'account prod:
- Politica 1 – Creare la seguente policy in linea denominata
assume-production-role-policy
: - Politica 2 – Allega il
CloudWatchFullAccess
policy IAM gestita.
Configurare il gruppo di pacchetti di modelli nell'account del registro di modello centrale
Dal dominio SageMaker Studio nell'account del registro dei modelli centrale, crea un gruppo di pacchetti di modelli denominato mammo-severity-model-package
utilizzando il seguente frammento di codice (che puoi eseguire utilizzando un notebook Jupyter):
Configura l'accesso al pacchetto modello per i ruoli IAM negli account dev e prod
Fornisci l'accesso ai ruoli di esecuzione SageMaker creati negli account dev e prod in modo da poter registrare le versioni del modello all'interno del pacchetto del modello mammo-severity-model-package
nel registro centrale dei modelli da entrambi gli account. Dal dominio SageMaker Studio nell'account del registro del modello centrale, esegui il codice seguente in un notebook Jupyter:
Sistema Jenkins
In questa sezione configuriamo Jenkins per creare le pipeline ML e la corrispondente infrastruttura Terraform nell'account di produzione tramite la pipeline CI/CD Jenkins.
- Nella console CloudWatch, crea un gruppo di log denominato
jenkins-log
all'interno dell'account di produzione a cui Jenkins invierà i log dalla pipeline CI/CD. Il gruppo di log deve essere creato nella stessa regione in cui è configurato il server Jenkins. - Installa i seguenti plugin sul tuo server Jenkins:
- Configura le credenziali AWS in Jenkins utilizzando il ruolo IAM su più account (
cross-account-jenkins-role
) accantonato nell'account di produzione. - Nel Configurazione del sistemascegli AWS.
- Fornisci le credenziali e il gruppo di log CloudWatch creato in precedenza.
- Configura le credenziali GitHub in Jenkins.
- Crea un nuovo progetto in Jenkins.
- Inserisci un nome per il progetto e scegli Conduttura.
- Sulla Generale scheda, selezionare Progetto GitHub ed entra nella biforcazione Repository GitHub URL.
- Seleziona Questo progetto è parametrizzato.
- Sulla Aggiungi parametro menù, scegliere Parametro stringa.
- Nel Nome, accedere
prodAccount
. - Nel Valore di default, inserisci l'ID dell'account prodotto.
- Sotto Opzioni di progetto avanzate, Per Definizione, selezionare Script della pipeline da SCM.
- Nel SCMscegli Idiota.
- Nel URL del repository, inserisci la biforcazione Repository GitHub URL.
- Nel Credenziali, inserisci le credenziali GitHub salvate in Jenkins.
- entrare
main
nel Rami da costruire sezione, in base alla quale verrà attivata la pipeline CI/CD. - Nel Percorso dello script, accedere
Jenkinsfile
. - Scegli Risparmi.
La pipeline Jenkins dovrebbe essere creata e visibile sulla dashboard.
Effettua il provisioning dei bucket S3, raccogli e prepara i dati
Completa i seguenti passaggi per configurare i tuoi bucket e dati S3:
- Crea un bucket S3 a tua scelta con la stringa
sagemaker
nella convenzione di denominazione come parte del nome del bucket sia negli account di sviluppo che di produzione per archiviare set di dati e artefatti del modello. - Configura un bucket S3 per mantenere lo stato Terraform nell'account di produzione.
- Scarica e salva i file pubblicamente disponibili Massa mammografica dell'UCI set di dati nel bucket S3 creato in precedenza nell'account di sviluppo.
- Effettua il fork e clona il file Repository GitHub all'interno del dominio SageMaker Studio nell'account di sviluppo. Il repository ha la seguente struttura di cartelle:
- /environments – Script di configurazione per l'ambiente di produzione
- /mlops-infra – Codice per la distribuzione dei servizi AWS utilizzando il codice Terraform
- /condutture – Codice per i componenti della pipeline SageMaker
- Jenkinsfile – Script da distribuire tramite la pipeline CI/CD Jenkins
- setup.py – Necessario per installare i moduli Python richiesti e creare il comando run-pipeline
- mammography-severity-modeling.ipynb – Consente di creare ed eseguire il flusso di lavoro ML
- Crea una cartella denominata data all'interno della cartella del repository GitHub clonato e salva una copia del file disponibile pubblicamente Massa mammografica dell'UCI set di dati.
- Segui il taccuino Jupyter
mammography-severity-modeling.ipynb
. - Esegui il codice seguente nel notebook per preelaborare il set di dati e caricarlo nel bucket S3 nell'account di sviluppo:
Il codice genererà i seguenti set di dati:
-
- data/mammo-train-dataset-part1.csv – Verrà utilizzato per addestrare la prima versione del modello.
- data/mammo-train-dataset-part2.csv – Verrà utilizzato per addestrare la seconda versione del modello insieme al set di dati mammo-train-dataset-part1.csv.
- data/mammo-batch-dataset.csv – Verrà utilizzato per generare inferenze.
- data/mammo-batch-dataset-outliers.csv – Introdurrà valori anomali nel set di dati per fallire la pipeline di inferenza. Ciò ci consentirà di testare il modello per attivare la riqualificazione automatizzata del modello.
- Carica il set di dati
mammo-train-dataset-part1.csv
sotto il prefissomammography-severity-model/train-dataset
e caricare i set di datimammo-batch-dataset.csv
edmammo-batch-dataset-outliers.csv
al prefissomammography-severity-model/batch-dataset
del bucket S3 creato nell'account di sviluppo: - Carica i set di dati
mammo-train-dataset-part1.csv
edmammo-train-dataset-part2.csv
sotto il prefissomammography-severity-model/train-dataset
nel bucket S3 creato nell'account prod tramite la console Amazon S3. - Carica i set di dati
mammo-batch-dataset.csv
edmammo-batch-dataset-outliers.csv
al prefissomammography-severity-model/batch-dataset
del bucket S3 nell'account di produzione.
Gestisci il gasdotto del treno
Sotto <project-name>/pipelines/train
, puoi vedere i seguenti script Python:
- scripts/raw_preprocess.py – Si integra con SageMaker Processing per la progettazione delle funzionalità
- scripts/evaluate_model.py – Consente il calcolo delle metriche del modello, in questo caso
auc_score
- train_pipeline.py – Contiene il codice per la pipeline di addestramento del modello
Completa i seguenti passi:
- Carica gli script in Amazon S3:
- Ottieni l'istanza della pipeline del treno:
- Invia la pipeline del treno ed eseguila:
La figura seguente mostra un'esecuzione corretta della pipeline di addestramento. Il passaggio finale della pipeline registra il modello nell'account del registro dei modelli centrale.
Approvare il modello nel registro centrale dei modelli
Accedi all'account del registro dei modelli centrale e accedi al registro dei modelli SageMaker all'interno del dominio SageMaker Studio. Modificare lo stato della versione del modello in Approvato.
Una volta approvato, lo stato dovrebbe essere modificato sulla versione del modello.
Eseguire la pipeline di inferenza (facoltativo)
Questo passaggio non è obbligatorio ma puoi comunque eseguire la pipeline di inferenza per generare previsioni nell'account di sviluppo.
Sotto <project-name>/pipelines/inference
, puoi vedere i seguenti script Python:
- scripts/lambda_helper.py – Estrae l'ultima versione del modello approvata dall'account del registro del modello centrale utilizzando un passaggio Lambda di SageMaker Pipelines
- inference_pipeline.py – Contiene il codice per la pipeline di inferenza del modello
Completa i seguenti passi:
- Carica lo script nel bucket S3:
- Ottieni l'istanza della pipeline di inferenza utilizzando il normale set di dati batch:
- Invia la pipeline di inferenza ed eseguila:
La figura seguente mostra un'esecuzione corretta della pipeline di inferenza. Il passaggio finale della pipeline genera le previsioni e le archivia nel bucket S3. Noi usiamo MonitorBatchTransformStep per monitorare gli input nel processo di trasformazione batch. Se sono presenti valori anomali, la pipeline di inferenza entra in uno stato di errore.
Esegui la pipeline Jenkins
Il environment/
La cartella all'interno del repository GitHub contiene lo script di configurazione per l'account prod. Completa i seguenti passaggi per attivare la pipeline Jenkins:
- Aggiorna lo script di configurazione
prod.tfvars.json
in base alle risorse create nei passaggi precedenti: - Una volta aggiornato, inserisci il codice nel repository GitHub biforcato e unisci il codice nel ramo principale.
- Vai all'interfaccia utente di Jenkins, scegli Costruisci con parametrie attivare la pipeline CI/CD creata nei passaggi precedenti.
Una volta completata e completata la creazione, puoi accedere all'account di produzione e visualizzare le pipeline di training e inferenza all'interno del dominio SageMaker Studio.
Inoltre, vedrai tre regole EventBridge sulla console EventBridge nell'account di produzione:
- Pianifica la pipeline di inferenza
- Invia una notifica di guasto sulla pipeline del treno
- Quando la pipeline di inferenza non riesce ad attivare la pipeline del treno, invia una notifica
Infine, vedrai un argomento di notifica SNS sulla console Amazon SNS che invia notifiche tramite e-mail. Riceverai un'email che ti chiederà di confermare l'accettazione di queste email di notifica.
Testare la pipeline di inferenza utilizzando un set di dati batch senza valori anomali
Per verificare se la pipeline di inferenza funziona come previsto nell'account di produzione, possiamo accedere all'account di produzione e attivare la pipeline di inferenza utilizzando il set di dati batch senza valori anomali.
Esegui la pipeline tramite la console SageMaker Pipelines nel dominio SageMaker Studio dell'account prod, dove transform_input
sarà l'URI S3 del set di dati senza valori anomali (s3://<s3-bucket-in-prod-account>/mammography-severity-model/data/mammo-batch-dataset.csv
).
La pipeline di inferenza ha esito positivo e riscrive le previsioni nel bucket S3.
Testare la pipeline di inferenza utilizzando un set di dati batch con valori anomali
È possibile eseguire la pipeline di inferenza utilizzando il set di dati batch con valori anomali per verificare se il meccanismo di riqualificazione automatizzata funziona come previsto.
Esegui la pipeline tramite la console SageMaker Pipelines nel dominio SageMaker Studio dell'account prod, dove transform_input
sarà l'URI S3 del set di dati con valori anomali (s3://<s3-bucket-in-prod-account>/mammography-severity-model/data/mammo-batch-dataset-outliers.csv
).
La pipeline di inferenza fallisce come previsto, il che attiva la regola EventBridge, che a sua volta attiva la pipeline del treno.
Dopo alcuni istanti, dovresti vedere una nuova corsa della pipeline del treno sulla console SageMaker Pipelines, che raccoglie i due diversi set di dati del treno (mammo-train-dataset-part1.csv
ed mammo-train-dataset-part2.csv
) caricato nel bucket S3 per riqualificare il modello.
Vedrai anche una notifica inviata all'e-mail abbonata all'argomento SNS.
Per utilizzare la versione aggiornata del modello, accedi all'account del registro del modello centrale e approva la versione del modello, che verrà prelevata durante l'esecuzione successiva della pipeline di inferenza attivata tramite la regola EventBridge pianificata.
Sebbene le pipeline di training e di inferenza utilizzino un URL del set di dati statico, è possibile fare in modo che l'URL del set di dati venga passato alle pipeline di training e di inferenza come variabili dinamiche per utilizzare set di dati aggiornati per riqualificare il modello e generare previsioni in uno scenario reale.
ripulire
Per evitare di incorrere in addebiti futuri, completare i seguenti passaggi:
- Rimuovi il dominio SageMaker Studio su tutti gli account AWS.
- Elimina tutte le risorse create all'esterno di SageMaker, inclusi i bucket S3, i ruoli IAM, le regole EventBridge e l'argomento SNS configurato tramite Terraform nell'account prod.
- Elimina le pipeline SageMaker create tra gli account utilizzando il file Interfaccia della riga di comando di AWS (interfaccia a riga di comando dell'AWS).
Conclusione
Le organizzazioni spesso hanno bisogno di allinearsi con set di strumenti a livello aziendale per consentire la collaborazione tra diverse aree funzionali e team. Questa collaborazione garantisce che la tua piattaforma MLOps possa adattarsi alle esigenze aziendali in evoluzione e accelera l'adozione del ML tra i team. Questo post ha spiegato come creare un framework MLOps in una configurazione multi-ambiente per consentire la riqualificazione automatizzata dei modelli, l'inferenza batch e il monitoraggio con Amazon SageMaker Model Monitor, il controllo delle versioni del modello con SageMaker Model Registry e la promozione di codice e pipeline ML in ambienti con un Conduttura CI/CD. Abbiamo presentato questa soluzione utilizzando una combinazione di servizi AWS e set di strumenti di terze parti. Per istruzioni sull'implementazione di questa soluzione, vedere il Repository GitHub. Puoi anche estendere questa soluzione inserendo le tue origini dati e i tuoi framework di modellazione.
Informazioni sugli autori
Gayatri Ghanakota è un ingegnere esperto di machine learning con AWS Professional Services. È appassionata di sviluppo, distribuzione e spiegazione di soluzioni AI/ML in vari domini. Prima di ricoprire questo ruolo, ha guidato numerose iniziative come data scientist e ingegnere ML con le migliori aziende globali nel settore finanziario e retail. Ha conseguito un master in Informatica con specializzazione in Data Science presso l'Università del Colorado, Boulder.
Sunita Koppar è un Senior Data Lake Architect con AWS Professional Services. La sua passione è risolvere i punti critici dei clienti, elaborare big data e fornire soluzioni scalabili a lungo termine. Prima di ricoprire questo ruolo, ha sviluppato prodotti nei settori Internet, telecomunicazioni e automobilistico ed è stata cliente AWS. Ha conseguito un master in Data Science presso l'Università della California, Riverside.
Saswata Dash è un consulente DevOps con AWS Professional Services. Ha lavorato con clienti del settore sanitario e delle scienze della vita, dell'aviazione e della produzione. È appassionata di tutto ciò che riguarda l'automazione e ha un'esperienza completa nella progettazione e realizzazione di soluzioni per clienti su scala aziendale in AWS. Fuori dal lavoro, coltiva la sua passione per la fotografia e la cattura dell'alba.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- PlatoData.Network Generativo verticale Ai. Potenzia te stesso. Accedi qui.
- PlatoAiStream. Intelligenza Web3. Conoscenza amplificata. Accedi qui.
- PlatoneESG. Carbonio, Tecnologia pulita, Energia, Ambiente, Solare, Gestione dei rifiuti. Accedi qui.
- Platone Salute. Intelligence sulle biotecnologie e sulle sperimentazioni cliniche. Accedi qui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/promote-pipelines-in-a-multi-environment-setup-using-amazon-sagemaker-model-registry-hashicorp-terraform-github-and-jenkins-ci-cd/
- :ha
- :È
- :non
- :Dove
- $ SU
- 1
- 10
- 100
- 12
- 13
- 14
- 16
- 17
- 19
- 23
- 27
- 31
- 320
- 7
- 8
- 9
- a
- WRI
- accelera
- accettazione
- accesso
- Il mio account
- conti
- operanti in
- Action
- adattare
- aggiungere
- indirizzo
- amministrativo
- Adozione
- Dopo shavasana, sedersi in silenzio; saluti;
- AI
- allineare
- Tutti
- consentire
- consente
- lungo
- anche
- Amazon
- Amazon Sage Maker
- Amazon Web Services
- an
- ed
- Un altro
- in qualsiasi
- Applicazioni
- opportuno
- approvare
- approvato
- architettura
- SONO
- aree
- in giro
- artificiale
- intelligenza artificiale
- Intelligenza artificiale (AI)
- AS
- chiedendo
- associato
- assumere
- allegare
- auto
- Automatizzata
- Automatico
- Automazione
- settore automobilistico
- disponibile
- aviazione
- evitare
- AWS
- Cliente AWS
- Servizi professionali AWS
- precedente
- basato
- base
- BE
- perché
- stato
- prima
- essendo
- MIGLIORE
- best practice
- fra
- Big
- Big Data
- entrambi
- Branch di società
- bridging
- Portare
- costruire
- Costruzione
- costruito
- affari
- ma
- by
- calcolo
- California
- detto
- Materiale
- Custodie
- centrale
- il cambiamento
- cambiato
- Modifiche
- oneri
- dai un'occhiata
- scegliere
- Scegli
- codice
- collaborazione
- raccogliere
- Colorado
- Colonna
- colonne
- COM
- combinazione
- completamento di una
- conformità
- componenti
- globale
- computer
- Informatica
- condizione
- Configurazione
- Confermare
- consolle
- consulente
- Contenitore
- contiene
- di controllo
- Convenzione
- convertire
- Corrispondente
- creare
- creato
- Creazione
- Credenziali
- Cross
- cliente
- Soluzioni per i clienti
- Clienti
- alle lezioni
- cruscotto
- dati
- Lago di dati
- scienza dei dati
- scienziato di dati
- dataset
- decrypt
- Predefinito
- Laurea
- schierare
- distribuzione
- deployment
- Distribuisce
- progettazione
- dettagli
- individuare
- rilevato
- Dev
- sviluppato
- in via di sviluppo
- Mercato
- DITT
- diverso
- dominio
- domini
- durante
- dinamico
- ogni
- In precedenza
- effetto
- o
- enable
- crittografato
- ingegnere
- assicura
- entrare
- Ambiente
- ambienti
- essential
- eventi
- evoluzione
- esecuzione
- previsto
- esperienza
- ha spiegato
- spiegando
- estendere
- facilitare
- FAIL
- fallito
- fallisce
- Fallimento
- caratteristica
- Caratteristiche
- pochi
- figura
- Compila il
- finale
- finanziario
- finire
- Aziende
- Nome
- prima volta
- i seguenti
- Nel
- essere trovato
- Contesto
- quadri
- da
- Adempiere
- pieno
- function
- funzionale
- futuro
- divario
- generare
- generato
- genera
- ottenere
- Idiota
- GitHub
- Dare
- dato
- dà
- globali
- Go
- va
- borse di studio
- Gruppo
- Avere
- assistenza sanitaria
- suo
- superiore
- detiene
- di hosting
- Come
- Tutorial
- HTML
- http
- HTTPS
- ID
- Identità
- if
- Implementazione
- importare
- in
- inclusi
- Compreso
- Index
- Infrastruttura
- inizialmente
- iniziative
- Ingressi
- install
- installato
- esempio
- istruzioni
- Integra
- Intelligence
- Internet
- ai miglioramenti
- introdurre
- IT
- Lavoro
- Offerte di lavoro
- jpg
- json
- Le
- Tasti
- Discografica
- lago
- paesaggio
- dopo
- con i più recenti
- apprendimento
- Guidato
- leveraged
- Vita
- Life Sciences
- linea
- ceppo
- a lungo termine
- macchina
- machine learning
- Principale
- mantenere
- make
- gestito
- gestione
- consigliato per la
- Margine
- Massa
- master
- meccanismo
- incontro
- Menu
- Unire
- Metrica
- mancante
- ML
- MLOp
- modello
- modellismo
- modelli
- modificare
- moduli
- Moments
- Monitorare
- monitorati
- monitoraggio
- Scopri di più
- multiplo
- Nome
- Detto
- di denominazione
- Navigazione
- Bisogno
- di applicazione
- esigenze
- New
- GENERAZIONE
- normale
- taccuino
- notifica
- notifiche
- numero
- numpy
- of
- di frequente
- on
- ONE
- Operazioni
- or
- minimo
- organizzazioni
- Altro
- su
- al di fuori
- ancora
- panoramica
- proprio
- pacchetto
- pagina
- Dolore
- panda
- vetro
- parte
- Ricambi
- Passato
- passione
- appassionato
- Cartamodello
- performance
- permessi
- fotografia
- raccolto
- Scelte
- conduttura
- piattaforma
- Platone
- Platone Data Intelligence
- PlatoneDati
- punti
- Termini e Condizioni
- politica
- Post
- pratiche
- predire
- Previsioni
- Preparare
- prerequisiti
- precedente
- Direttore
- Precedente
- privilegi
- processi
- lavorazione
- Produzione
- Prodotti
- professionale
- progetto
- promuoverlo
- Promossa
- promozione
- fornire
- purché
- fornisce
- fornitura
- fornitura
- pubblicamente
- Maglioni
- Insegue
- Spingi
- Python
- rapidamente
- rapidamente
- Crudo
- Leggi
- pronto
- mondo reale
- regione
- registro
- registrato
- registri
- registro
- normativo
- relazionato
- rapporto
- rimuovere
- deposito
- richiesta
- necessario
- Requisiti
- risorsa
- Risorse
- risposta
- nello specifico retail
- ritorno
- Sul fiume
- Ruolo
- ruoli
- radice
- Regola
- norme
- Correre
- corre
- sagemaker
- Pipeline SageMaker
- stesso
- Risparmi
- salvato
- scalabile
- scenario
- programma
- in programma
- programmazione
- Scienze
- SCIENZE
- Scienziato
- copione
- script
- senza soluzione di continuità
- Secondo
- Sezione
- sicuro
- problemi di
- vedere
- inviare
- invio
- invia
- inviato
- separato
- server
- servizio
- Servizi
- set
- impostazioni
- flessibile.
- Forma
- Condividi
- lei
- dovrebbero
- mostrare attraverso le sue creazioni
- in mostra
- mostrato
- Spettacoli
- Un'espansione
- frammento
- So
- soluzione
- Soluzioni
- Soluzione
- Fonte
- fonti
- lo spazio
- specializzata
- specifico
- dividere
- Regione / Stato
- dichiarazione
- statico
- Stato dei servizi
- step
- Passi
- Ancora
- Tornare al suo account
- memorizzati
- negozi
- Corda
- La struttura
- studio
- di successo
- tale
- supporti
- Target
- le squadre
- telecom
- Terraform
- test
- Testing
- che
- Il
- Li
- poi
- Là.
- Strumenti Bowman per analizzare le seguenti finiture:
- cose
- Terza
- di parti terze standard
- questo
- tre
- Attraverso
- tempo
- a
- set di strumenti
- top
- argomento
- pista
- Treni
- allenato
- Training
- Trasformare
- innescare
- innescato
- innescando
- vero
- Affidati ad
- TURNO
- seconda
- ui
- per
- Università
- University of California
- Aggiornanento
- aggiornato
- caricato
- URL
- us
- uso
- utilizzato
- utilizzando
- utilità
- Valori
- vario
- versione
- versioni
- via
- Video
- visibile
- Orologio
- we
- sito web
- servizi web
- quando
- ogni volta che
- mentre
- quale
- while
- volere
- con
- entro
- senza
- Lavora
- lavorato
- flusso di lavoro
- lavoro
- lavori
- scrivere
- scritto
- Tu
- Trasferimento da aeroporto a Sharm
- youtube
- zefiro