Logo Zephyrnet

Crea un flusso di lavoro di approvazione e promozione del registro dei modelli Amazon SageMaker con l'intervento umano | Servizi Web di Amazon

Data:

Questo post è stato scritto in collaborazione con Jayadeep Pabbistty, Sr. Specialist Data Engineering presso Merck, e Prabakaran Mathaiyan, Sr. ML Engineer presso Tiger Analytics.

L'ampio ciclo di vita dello sviluppo di modelli di machine learning (ML) richiede un processo di rilascio del modello scalabile simile a quello dello sviluppo del software. Gli sviluppatori di modelli spesso lavorano insieme nello sviluppo di modelli ML e necessitano di una solida piattaforma MLOps su cui lavorare. Una piattaforma MLOps scalabile deve includere un processo per gestire il flusso di lavoro del registro, dell'approvazione e della promozione del modello ML al livello di ambiente successivo (sviluppo, test , UAT o produzione).

Uno sviluppatore di modelli in genere inizia a lavorare in un ambiente di sviluppo ML individuale all'interno Amazon Sage Maker. Quando un modello è addestrato e pronto per essere utilizzato, deve essere approvato dopo essere stato registrato nel Registro dei modelli di Amazon SageMaker. In questo post, discutiamo di come il team AI/ML di AWS ha collaborato con il team IT MLOps di Merck Human Health per creare una soluzione che utilizza un flusso di lavoro automatizzato per l'approvazione e la promozione del modello ML con l'intervento umano nel mezzo.

Panoramica della soluzione

Questo post si concentra su una soluzione del flusso di lavoro che il ciclo di vita di sviluppo del modello ML può utilizzare tra la pipeline di training e la pipeline di inferenza. La soluzione fornisce un flusso di lavoro scalabile per MLOps nel supportare il processo di approvazione e promozione del modello ML con l'intervento umano. Un modello ML registrato da un data scientist necessita della revisione e dell'approvazione di un approvatore prima di essere utilizzato per una pipeline di inferenza e nel livello di ambiente successivo (test, UAT o produzione). La soluzione utilizza AWS Lambda, Gateway API Amazon, Amazon EventBridgee SageMaker per automatizzare il flusso di lavoro con l'intervento di approvazione umana nel mezzo. Il seguente diagramma dell'architettura mostra la progettazione complessiva del sistema, i servizi AWS utilizzati e il flusso di lavoro per l'approvazione e la promozione dei modelli ML con l'intervento umano dallo sviluppo alla produzione.

Architettura dell'approvazione del modello

Il flusso di lavoro include i seguenti passaggi:

  1. La pipeline di training sviluppa e registra un modello nel registro dei modelli SageMaker. A questo punto lo status del modello è PendingManualApproval.
  2. EventBridge monitora gli eventi di modifica dello stato per intraprendere automaticamente azioni con regole semplici.
  3. La regola dell'evento di registrazione del modello EventBridge richiama una funzione Lambda che crea un'e-mail con un collegamento per approvare o rifiutare il modello registrato.
  4. L'approvatore riceve un'e-mail con il collegamento per rivedere e approvare o rifiutare il modello.
  5. L'approvatore approva il modello seguendo il collegamento nell'e-mail a un endpoint API Gateway.
  6. API Gateway richiama una funzione Lambda per avviare gli aggiornamenti del modello.
  7. Il registro del modello viene aggiornato per lo stato del modello (Approved per l'ambiente di sviluppo, ma PendingManualApproval per test, UAT e produzione).
  8. I dettagli del modello sono memorizzati in Archivio parametri AWS, una capacità di Gestore di sistemi AWS, inclusa la versione del modello, l'ambiente di destinazione approvato, il pacchetto del modello.
  9. La pipeline di inferenza recupera il modello approvato per l'ambiente di destinazione da Parameter Store.
  10. La funzione Lambda di notifica post-inferenza raccoglie i parametri di inferenza batch e invia un'e-mail all'approvatore per promuovere il modello nell'ambiente successivo.

Prerequisiti

Il flusso di lavoro in questo post presuppone che l'ambiente per la pipeline di formazione sia configurato in SageMaker, insieme ad altre risorse. L'input per la pipeline di training è il set di dati delle funzionalità. I dettagli sulla generazione delle funzionalità non sono inclusi in questo post, ma si concentra sul registro, sull'approvazione e sulla promozione dei modelli ML dopo che sono stati addestrati. Il modello è registrato nel registro dei modelli ed è regolato da un quadro di monitoraggio in Monitor modello Amazon SageMaker per rilevare eventuali derive e procedere alla riqualificazione in caso di deriva del modello.

Dettagli del flusso di lavoro

Il flusso di lavoro di approvazione inizia con un modello sviluppato da una pipeline di formazione. Quando i data scientist sviluppano un modello, lo registrano nel registro dei modelli SageMaker con lo stato del modello di PendingManualApproval. EventBridge monitora SageMaker per l'evento di registrazione del modello e attiva una regola evento che richiama una funzione Lambda. La funzione Lambda costruisce dinamicamente un'e-mail per l'approvazione del modello con un collegamento a un endpoint API Gateway a un'altra funzione Lambda. Quando l'approvatore segue il collegamento per approvare il modello, API Gateway inoltra l'azione di approvazione alla funzione Lambda, che aggiorna il registro dei modelli SageMaker e gli attributi del modello in Parameter Store. L'approvatore deve essere autenticato e far parte del gruppo di approvatori gestito da Active Directory. L'approvazione iniziale contrassegna il modello come Approved per sviluppatore ma PendingManualApproval per test, UAT e produzione. Gli attributi del modello salvati in Archivio parametri includono la versione del modello, il pacchetto del modello e l'ambiente di destinazione approvato.

Quando una pipeline di inferenza deve recuperare un modello, controlla l'archivio parametri per la versione più recente del modello approvata per l'ambiente di destinazione e ottiene i dettagli dell'inferenza. Una volta completata la pipeline di inferenza, viene inviata un'e-mail di notifica post-inferenza a una parte interessata che richiede l'approvazione per promuovere il modello al livello di ambiente successivo. L'e-mail contiene i dettagli sul modello e sui parametri, nonché un collegamento di approvazione a un endpoint API Gateway per una funzione Lambda che aggiorna gli attributi del modello.

Di seguito è riportata la sequenza di eventi e passaggi di implementazione per il flusso di lavoro di approvazione/promozione del modello ML dalla creazione del modello alla produzione. Il modello viene promosso dallo sviluppo agli ambienti di test, UAT e produzione con un'esplicita approvazione umana in ogni fase.

Iniziamo con la pipeline di formazione, pronta per lo sviluppo del modello. La versione del modello inizia come 0 nel registro dei modelli SageMaker.

versione del registro del modello 0

  1. La pipeline di formazione SageMaker sviluppa e registra un modello in SageMaker Model Registry. La versione 1 del modello è registrata e inizia con In attesa di approvazione manuale stato.versione del registro del modello 1I metadati del registro del modello hanno quattro campi personalizzati per gli ambienti: dev, test, uate prod.fondo del registro del modello
  2. EventBridge monitora il registro dei modelli SageMaker per la modifica dello stato per agire automaticamente con regole semplici.Modello di eventi EventBridgeBus degli eventi e regole di EventBridge
  3. La regola dell'evento di registrazione del modello richiama una funzione Lambda che costruisce un'e-mail con il collegamento per approvare o rifiutare il modello registrato.gateway lambda e APIvariabili d'ambiente lambda
  4. L'approvatore riceve un'e-mail con il collegamento per rivedere e approvare (o rifiutare) il modello.e-mail di approvazione del modello
  5. L'approvatore approva il modello seguendo il collegamento all'endpoint API Gateway nell'e-mail.Approvazione del modello API GatewayDettagli del percorso del gateway APIDettagli di integrazione del percorso API GW
  6. API Gateway richiama la funzione Lambda per avviare gli aggiornamenti del modello.
  7. Il registro dei modelli SageMaker viene aggiornato con lo stato del modello.Esempio di codice della funzione Lambda
  8. Le informazioni dettagliate sul modello vengono archiviate in Archivio parametri, inclusa la versione del modello, l'ambiente di destinazione approvato e il pacchetto del modello.modello versione 1 omologatometadati personalizzati del registro del modello
  9. La pipeline di inferenza recupera il modello approvato per l'ambiente di destinazione da Parameter Store.
  10. La funzione Lambda di notifica post-inferenza raccoglie i parametri di inferenza batch e invia un'e-mail all'approvatore per promuovere il modello nell'ambiente successivo.
  11. L'approvatore approva la promozione del modello al livello successivo seguendo il collegamento all'endpoint API Gateway, che attiva la funzione Lambda per aggiornare il registro dei modelli SageMaker e l'archivio parametri.

La cronologia completa del controllo delle versioni e dell'approvazione del modello viene salvata per la revisione nell'archivio parametri.

dettagli del rilascio di approvazione del modelloattributi del modello nell'archivio parametri

Conclusione

L'ampio ciclo di vita dello sviluppo di modelli ML richiede un processo di approvazione del modello ML scalabile. In questo post, abbiamo condiviso un'implementazione di un flusso di lavoro di registrazione, approvazione e promozione di modelli ML con intervento umano utilizzando SageMaker Model Registry, EventBridge, API Gateway e Lambda. Se stai considerando un processo di sviluppo di modelli ML scalabile per la tua piattaforma MLOps, puoi seguire i passaggi riportati in questo post per implementare un flusso di lavoro simile.


Circa gli autori

TomKim è Senior Solution Architect presso AWS, dove aiuta i suoi clienti a raggiungere i loro obiettivi aziendali sviluppando soluzioni su AWS. Ha una vasta esperienza nell'architettura e nelle operazioni dei sistemi aziendali in diversi settori, in particolare nel settore sanitario e delle scienze della vita. Tom apprende sempre nuove tecnologie che portano ai risultati aziendali desiderati per i clienti, ad es. AI/ML, GenAI e analisi dei dati. Gli piace anche viaggiare in posti nuovi e giocare a nuovi campi da golf ogni volta che trova il tempo.

Il ritratto di SharmikaShamika Ariyawansa, in qualità di Senior AI/ML Solutions Architect nella divisione Healthcare and Life Sciences presso Amazon Web Services (AWS), è specializzato in IA generativa, con particolare attenzione alla formazione LLM (Large Language Model), all'ottimizzazione dell'inferenza e al MLOps (Machine Learning). Operazioni). Guida i clienti nell'integrazione dell'intelligenza artificiale generativa avanzata nei loro progetti, garantendo solidi processi di formazione, meccanismi di inferenza efficienti e pratiche MLOps semplificate per soluzioni di intelligenza artificiale efficaci e scalabili. Al di là dei suoi impegni professionali, Shamika persegue con passione le avventure sugli sci e fuoristrada.

Jayadeep Pabbistty è un Senior ML/Data Engineer presso Merck, dove progetta e sviluppa soluzioni ETL e MLOps per sbloccare la scienza e l'analisi dei dati per l'azienda. È sempre entusiasta di apprendere nuove tecnologie, esplorare nuove strade e acquisire le competenze necessarie per evolversi con il settore IT in continua evoluzione. Nel tempo libero coltiva la sua passione per lo sport e gli piace viaggiare ed esplorare posti nuovi.

Prabakaran Mathaiyan è un Senior Machine Learning Engineer presso Tiger Analytics LLC, dove aiuta i suoi clienti a raggiungere i loro obiettivi aziendali fornendo soluzioni per la creazione di modelli, la formazione, la convalida, il monitoraggio, CICD e il miglioramento delle soluzioni di machine learning su AWS. Prabakaran apprende sempre nuove tecnologie che portano ai risultati aziendali desiderati per i clienti, ad es. AI/ML, GenAI, GPT e LLM. Gli piace anche giocare a cricket ogni volta che riesce a trovare il tempo.

spot_img

L'ultima intelligenza

spot_img