Come Getir ha ridotto la durata dell’allenamento del modello del 90% con Amazon SageMaker e AWS Batch

Come Getir ha ridotto del 90% la durata dell'allenamento del modello con Amazon SageMaker e AWS Batch

Questo è un post degli ospiti co-autori Nafi Ahmet Turgut, Hasan Burak Yel e Damla Şentürk di Getir.

Fondata nel 2015, Getir si è posizionata come pioniere nella sfera delle consegne ultraveloci di generi alimentari. Questa innovativa azienda tecnologica ha rivoluzionato il settore delle consegne nell’ultimo miglio con la sua interessante offerta di “generi alimentari in pochi minuti”. Con una presenza in Turchia, Regno Unito, Paesi Bassi, Germania e Stati Uniti, Getir è diventata una forza multinazionale da tener presente. Oggi, il marchio Getir rappresenta un conglomerato diversificato che comprende nove settori diversi, che lavorano sinergicamente sotto un unico ombrellone.

In questo post, spieghiamo come abbiamo costruito una pipeline di previsione delle categorie di prodotti end-to-end per aiutare i team commerciali utilizzando Amazon SageMaker e AWS Batch, riducendo la durata della formazione del modello del 90%.

Comprendere in dettaglio l’attuale assortimento di prodotti è una sfida cruciale che, insieme a molte altre aziende, affrontiamo nel mercato veloce e competitivo di oggi. Una soluzione efficace a questo problema è la previsione delle categorie di prodotti. Un modello che genera una completa struttura ad albero delle categorie consente ai nostri team commerciali di confrontare il nostro portafoglio di prodotti esistente con quello dei nostri concorrenti, offrendo un vantaggio strategico. Pertanto, la nostra sfida centrale è la creazione e l’implementazione di un modello accurato di previsione delle categorie di prodotti.

Noi abbiamo sfruttato gli strumenti potenti forniti da AWS per affrontare questa sfida e navigare efficacemente nel complesso campo dell’apprendimento automatico (ML) e dell’analisi predittiva. I nostri sforzi hanno portato alla creazione di successo di una pipeline di previsione delle categorie di prodotti end-to-end, che combina i punti di forza di SageMaker e AWS Batch.

Questa capacità di analisi predittiva, in particolare la previsione accurata delle categorie di prodotti, ha dimostrato di essere inestimabile. Ha fornito ai nostri team preziose informazioni basate sui dati che hanno ottimizzato la gestione dell’inventario, migliorato le interazioni con i clienti e rafforzato la nostra presenza sul mercato.

La metodologia che spieghiamo in questo post va dalla fase iniziale di raccolta dei set di funzionalità all’implementazione finale della pipeline di previsione. Un aspetto importante della nostra strategia è stato l’utilizzo di SageMaker e AWS Batch per perfezionare modelli BERT pre-addestrati per sette diverse lingue. Inoltre, la nostra integrazione senza soluzione di continuità con il servizio di archiviazione di oggetti di AWS, Amazon Simple Storage Service (Amazon S3), è stata fondamentale per archiviare ed accedere in modo efficiente a questi modelli ottimizzati.

SageMaker è un servizio di apprendimento automatico completamente gestito. Con SageMaker, gli scienziati dei dati e gli sviluppatori possono costruire e addestrare modelli di apprendimento automatico in modo rapido ed efficiente, e quindi distribuirli direttamente in un ambiente pronto per la produzione.

Come servizio completamente gestito, AWS Batch ti permette di eseguire carichi di lavoro di calcolo batch di qualsiasi dimensione. AWS Batch provvede automaticamente le risorse di calcolo e ottimizza la distribuzione del carico di lavoro in base alla quantità e alla scala dei carichi di lavoro. Con AWS Batch, non è necessario installare o gestire software di calcolo batch, così puoi concentrarti sul tempo di analisi dei risultati e sulla risoluzione dei problemi. Abbiamo utilizzato job GPU che ci aiutano ad eseguire lavori che utilizzano le GPU delle istanze.

Panoramica della soluzione

Cinque persone del team di scienze dei dati e del team di infrastruttura di Getir hanno lavorato insieme a questo progetto. Il progetto è stato completato in un mese e distribuito in produzione dopo una settimana di test.

Il diagramma seguente mostra l’architettura della soluzione.

La pipeline del modello viene eseguita separatamente per ogni paese. L’architettura include due job cron di GPU AWS Batch per ogni paese, in esecuzione secondo gli orari definiti.

Abbiamo superato alcune sfide implementando strategicamente le risorse GPU di SageMaker e AWS Batch. Il processo utilizzato per affrontare ogni difficoltà è dettagliato nelle sezioni seguenti.

Perfezionamento dei modelli BERT multilingue con job di GPU AWS Batch

Abbiamo cercato una soluzione per supportare più lingue per la nostra diversa base utenti. I modelli BERT sono stati una scelta ovvia per la loro capacità consolidata di gestire in modo efficace complessi compiti di linguaggio naturale. Al fine di adattare questi modelli alle nostre esigenze, abbiamo sfruttato la potenza di AWS utilizzando lavori di istanze GPU mono-nodo. Ciò ci ha permesso di perfezionare modelli BERT pre-addestrati per ciascuna delle sette lingue per le quali avevamo bisogno di supporto. Attraverso questo metodo, abbiamo garantito un’elevata precisione nella previsione delle categorie di prodotti, superando eventuali barriere linguistiche potenziali.

Archiviazione efficiente del modello utilizzando Amazon S3

Il nostro prossimo passo è stato affrontare l’archiviazione e la gestione dei modelli. A tal fine, abbiamo selezionato Amazon S3, noto per la sua scalabilità e sicurezza. Archiviare i nostri modelli BERT ottimizzati su Amazon S3 ci ha permesso di fornire un facile accesso a diversi team all’interno della nostra organizzazione, semplificando significativamente il nostro processo di implementazione. Questo è stato un aspetto cruciale per raggiungere l’agilità nelle nostre operazioni e un’integrazione senza soluzione di continuità dei nostri sforzi di apprendimento automatico.

Creazione di un flusso di lavoro di previsione end-to-end

Un flusso di lavoro efficiente era necessario per sfruttare al meglio i nostri modelli pre-addestrati. Abbiamo prima implementato questi modelli su SageMaker, un’azione che ha consentito previsioni in tempo reale con bassa latenza, migliorando così la nostra esperienza utente. Per previsioni su larga scala a batch, altrettanto vitali per le nostre operazioni, abbiamo utilizzato lavori GPU AWS Batch. Ciò ha garantito l’uso ottimale delle nostre risorse, fornendoci un perfetto equilibrio tra performance ed efficienza.

Esplorare future possibilità con gli endpoint multi-modello di SageMaker (MME)

Mentre continuiamo a evolverci e cercare efficienze nel nostro flusso di lavoro di apprendimento automatico, un percorso che desideriamo esplorare è l’utilizzo degli endpoint multi-modello (MME) di SageMaker per implementare i nostri modelli ottimizzati. Con gli MME, potremmo potenzialmente semplificare l’implementazione di vari modelli ottimizzati, garantendo una gestione efficiente dei modelli e beneficiando delle capacità native di SageMaker come le varianti shadow, il ridimensionamento automatico e l’integrazione con Amazon CloudWatch. Questa esplorazione è in linea con la nostra continua ricerca di migliorare le nostre capacità di analisi predittiva e fornire esperienze superiori ai nostri clienti.

Conclusione

La nostra riuscita integrazione di SageMaker e AWS Batch non solo ha affrontato le nostre sfide specifiche, ma ha anche notevolmente incrementato l’efficienza operativa. Tramite l’implementazione di un sofisticato flusso di lavoro di previsione delle categorie di prodotti, siamo in grado di fornire ai nostri team commerciali insights basati su dati, facilitando così una decisione più efficace.

I nostri risultati parlano da soli riguardo l’efficacia del nostro approccio. Abbiamo raggiunto un’accuratezza di previsione dell’80% su tutti e quattro i livelli di granularità delle categorie, il che svolge un ruolo importante nella definizione degli assortimenti di prodotti per ogni paese che serviamo. Questo livello di precisione amplia la nostra portata oltre le barriere linguistiche e garantisce la massima accuratezza per la nostra diversificata base utenti.

Inoltre, utilizzando strategicamente i lavori GPU di AWS Batch pianificati, siamo riusciti a ridurre la durata dell’addestramento dei modelli del 90%. Questa efficienza ha ulteriormente ottimizzato i nostri processi e rafforzato la nostra agilità operativa. L’archiviazione efficiente del modello utilizzando Amazon S3 ha svolto un ruolo critico in questo risultato, bilanciando sia le previsioni in tempo reale che a batch.

Per ulteriori informazioni su come iniziare a creare i tuoi flussi di lavoro di apprendimento automatico con SageMaker, consulta le risorse di Amazon SageMaker. AWS Batch è un’ottima opzione se stai cercando una soluzione a basso costo e scalabile per eseguire lavori a batch con un basso carico operativo. Per iniziare, consulta Getting Started with AWS Batch.