In che modo Amazon Search esegue progetti di machine learning resilienti e su larga scala con Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

In che modo Amazon Search esegue progetti di machine learning resilienti su larga scala con Amazon SageMaker

Se hai cercato un articolo da acquistare su amazon.com, hai utilizzato i servizi di ricerca di Amazon. In Amazon Search, siamo responsabili dell'esperienza di ricerca e scoperta per i nostri clienti in tutto il mondo. In background, indicizziamo il nostro catalogo mondiale di prodotti, distribuiamo flotte AWS altamente scalabili e utilizziamo il machine learning (ML) avanzato per abbinare prodotti pertinenti e interessanti alle query di ogni cliente.

I nostri scienziati addestrano regolarmente migliaia di modelli ML per migliorare la qualità dei risultati di ricerca. Il supporto della sperimentazione su larga scala presenta le sue sfide, soprattutto quando si tratta di migliorare la produttività degli scienziati che addestrano questi modelli ML.

In questo post, condividiamo come abbiamo costruito un sistema di gestione intorno Amazon Sage Maker lavori di formazione, consentendo ai nostri scienziati di dimenticare migliaia di esperimenti ed essere avvisati quando necessario. Ora possono concentrarsi su attività di alto valore e sulla risoluzione di errori algoritmici, risparmiando il 60% del loro tempo.

La sfida

In Amazon Search, i nostri scienziati risolvono i problemi di recupero delle informazioni sperimentando ed eseguendo numerosi lavori di addestramento di modelli ML su SageMaker. Per stare al passo con l'innovazione del nostro team, la complessità dei nostri modelli e il numero di lavori di formazione sono aumentati nel tempo. I lavori di formazione di SageMaker ci consentono di ridurre i tempi e i costi per addestrare e mettere a punto tali modelli su larga scala, senza la necessità di gestire l'infrastruttura.

Come ogni cosa in progetti ML su larga scala, i lavori di formazione possono fallire a causa di una varietà di fattori. Questo post si concentra su carenze di capacità e guasti dovuti a errori dell'algoritmo.

Abbiamo progettato un'architettura con un sistema di gestione dei lavori per tollerare e ridurre la probabilità che un lavoro non vada a buon fine a causa dell'indisponibilità della capacità o di errori dell'algoritmo. Consente agli scienziati di licenziare e dimenticare migliaia di lavori di formazione, riprovarli automaticamente in caso di errore temporaneo e ricevere notifiche di successo o fallimento, se necessario.

Panoramica della soluzione

Nel diagramma della soluzione seguente, utilizziamo i lavori di formazione SageMaker come unità di base della nostra soluzione. In altre parole, un lavoro rappresenta la formazione end-to-end di un modello ML.

Il flusso di lavoro di alto livello di questa soluzione è il seguente:

  1. Gli scienziati invocano un'API per inviare un nuovo lavoro al sistema.
  2. Il lavoro è registrato con il New stato in un archivio di metadati.
  3. Un'utilità di pianificazione dei lavori recupera in modo asincrono New lavori dall'archivio dei metadati, ne analizza l'input e prova ad avviare i lavori di addestramento di SageMaker per ciascuno di essi. Il loro stato cambia in Launched or Failed a seconda del successo.
  4. Un monitor controlla lo stato di avanzamento dei lavori a intervalli regolari e ne segnala Completed, Failed, o InProgress stato nell'archivio dei metadati.
  5. Un notificante viene attivato per segnalare Completed ed Failed lavoro agli scienziati.

La persistenza della cronologia dei lavori nell'archivio dei metadati consente inoltre al nostro team di condurre analisi delle tendenze e monitorare l'avanzamento del progetto.

Questa soluzione di pianificazione del lavoro utilizza componenti serverless ad accoppiamento libero basati su AWS Lambda, Amazon DynamoDB, Servizio di notifica semplice Amazon (Amazon SNS), e Amazon EventBridge. Ciò garantisce la scalabilità orizzontale, consentendo ai nostri scienziati di avviare migliaia di lavori con il minimo sforzo operativo. Il diagramma seguente illustra l'architettura serverless.

Panoramica dell'architettura della nostra soluzione

Nelle sezioni seguenti, entriamo più nel dettaglio di ciascun servizio e dei suoi componenti.

DynamoDB come archivio di metadati per le esecuzioni dei lavori

La facilità d'uso e la scalabilità di DynamoDB hanno reso una scelta naturale mantenere i metadati dei lavori in una tabella DynamoDB. Questa soluzione memorizza diversi attributi dei lavori inviati dagli scienziati, aiutando così il monitoraggio dei progressi e l'orchestrazione del flusso di lavoro. Gli attributi più importanti sono i seguenti:

  • ID lavoro – Un ID lavoro univoco. Questo può essere generato automaticamente o fornito dallo scienziato.
  • Stato del lavoro – Lo stato del lavoro.
  • JobArgs – Altri argomenti necessari per la creazione di un processo di formazione, come il percorso di input in Amazon S3, l'URI dell'immagine di formazione e altro ancora. Per un elenco completo dei parametri necessari per creare un lavoro di addestramento, fare riferimento a Crea lavoro di formazione.

Lambda per la logica di base

Usiamo tre a base di contenitori Funzioni Lambda per orchestrare il flusso di lavoro del lavoro:

  • Invia lavoro – Questa funzione viene invocata dagli scienziati quando devono avviare nuovi lavori. Funziona come un'API per semplicità. Puoi anche affrontarlo con Gateway API Amazon, se necessario. Questa funzione registra i lavori nella tabella DynamoDB.
  • Avvia lavori – Questa funzione recupera periodicamente New job dalla tabella DynamoDB e li avvia utilizzando SageMaker Crea lavoro di formazione comando. Riprova in caso di errori temporanei, ad esempio ResourceLimitExceeded ed CapacityError, per rafforzare la resilienza del sistema. Quindi aggiorna lo stato del lavoro come Launched or Failed a seconda del successo.
  • Monitorare i lavori – Questa funzione tiene periodicamente traccia dello stato di avanzamento del lavoro utilizzando il DescriviTrainingJob comando e aggiorna la tabella DynamoDB di conseguenza. Sonda Failed lavori dai metadati e valuta se devono essere reinviati o contrassegnati come non riusciti. Pubblica anche messaggi di notifica agli scienziati quando i loro lavori raggiungono uno stato terminale.

EventBridge per la pianificazione

Usiamo EventBridge per eseguire le funzioni Launch Jobs e Monitor Jobs Lambda in base a una pianificazione. Per ulteriori informazioni, fare riferimento a Tutorial: pianificazione delle funzioni AWS Lambda utilizzando EventBridge.

In alternativa, è possibile utilizzare Stream di Amazon DynamoDB per i trigger. Per ulteriori informazioni, vedere Trigger DynamoDB Streams e AWS Lambda.

Notifiche con Amazon SNS

I nostri scienziati lo sono notificato via e-mail utilizzando Amazon SNS quando i loro lavori raggiungono uno stato terminale (Failed dopo un numero massimo di tentativi), Completed, o Stopped.

Conclusione

In questo post, abbiamo condiviso come Amazon Search aggiunge resilienza ai carichi di lavoro di addestramento del modello ML pianificandoli e riprovandoli in caso di carenza di capacità o errori dell'algoritmo. Abbiamo utilizzato le funzioni Lambda insieme a una tabella DynamoDB come archivio centrale di metadati per orchestrare l'intero flusso di lavoro.

Un tale sistema di pianificazione consente agli scienziati di presentare i propri lavori e dimenticarsene. Ciò consente di risparmiare tempo e consente loro di concentrarsi sulla scrittura di modelli migliori.

Per approfondire le tue conoscenze, puoi visitare Fantastico SageMaker e trova in un unico posto, tutte le risorse pertinenti e aggiornate necessarie per lavorare con SageMaker.


Informazioni sugli autori

In che modo Amazon Search esegue progetti di machine learning resilienti e su larga scala con Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Luochao Wang è un software engineer presso Amazon Search. Si concentra su sistemi distribuiti scalabili e strumenti di automazione sul cloud per accelerare il ritmo dell'innovazione scientifica per le applicazioni di Machine Learning.

In che modo Amazon Search esegue progetti di machine learning resilienti e su larga scala con Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Ishan Bhat è un ingegnere software nel team Amazon Prime Video. Lavora principalmente nello spazio MLOps e ha esperienza nella creazione di prodotti MLOps negli ultimi 4 anni utilizzando Amazon SageMaker.

In che modo Amazon Search esegue progetti di machine learning resilienti e su larga scala con Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Abhinandan Patni è un Senior Software Engineer presso Amazon Search. Si concentra sulla creazione di sistemi e strumenti per la formazione di deep learning distribuito scalabile e l'inferenza in tempo reale.

In che modo Amazon Search esegue progetti di machine learning resilienti e su larga scala con Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Eiman Elnahrawy è un Principal Software Engineer presso Amazon Search e guida gli sforzi per l'accelerazione, la scalabilità e l'automazione di Machine Learning. La sua esperienza abbraccia più aree, tra cui Machine Learning, Sistemi distribuiti e Personalizzazione.

In che modo Amazon Search esegue progetti di machine learning resilienti e su larga scala con Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Sofian Hamiti è un Solutions Architect specializzato in AI / ML presso AWS. Aiuta i clienti di tutti i settori ad accelerare il loro percorso AI / ML aiutandoli a creare e rendere operative soluzioni di machine learning end-to-end.

Romì DattaDott.ssa Romi Datta  è un Senior Manager di Product Management nel team di Amazon SageMaker responsabile della formazione, dell'elaborazione e del negozio di funzionalità. È in AWS da oltre 4 anni, ricoprendo diversi ruoli di leadership nella gestione dei prodotti in SageMaker, S3 e IoT. Prima di AWS ha lavorato in vari ruoli di gestione del prodotto, ingegneria e leadership operativa presso IBM, Texas Instruments e Nvidia. Ha una laurea magistrale e un dottorato di ricerca. in Ingegneria Elettrica e Informatica presso l'Università del Texas ad Austin e un MBA presso la Booth School of Business dell'Università di Chicago.

In che modo Amazon Search esegue progetti di machine learning resilienti e su larga scala con Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.RJ è un ingegnere nel team di Search M5 che guida gli sforzi per la creazione di sistemi di deep learning su larga scala per l'addestramento e l'inferenza. Al di fuori del lavoro esplora diverse cucine del cibo e pratica sport con la racchetta.

Timestamp:

Di più da Apprendimento automatico di AWS