In che modo Axfood consente l'apprendimento automatico accelerato in tutta l'organizzazione utilizzando Amazon SageMaker | Servizi Web di Amazon

In che modo Axfood consente l'apprendimento automatico accelerato in tutta l'organizzazione utilizzando Amazon SageMaker | Servizi Web di Amazon

Questo è un guest post scritto da Axfood AB. 

In questo post, condividiamo come Axfood, un grande rivenditore alimentare svedese, ha migliorato le operazioni e la scalabilità delle operazioni esistenti di intelligenza artificiale (AI) e machine learning (ML) creando prototipi in stretta collaborazione con gli esperti AWS e utilizzando Amazon Sage Maker.

Cibo d'ascia è il secondo più grande rivenditore di prodotti alimentari della Svezia, con oltre 13,000 dipendenti e più di 300 negozi. Axfood ha una struttura con più team di data science decentralizzati con diverse aree di responsabilità. Insieme a un team centrale della piattaforma dati, i team di data science apportano innovazione e trasformazione digitale all'organizzazione attraverso soluzioni AI e ML. Axfood utilizza Amazon SageMaker per coltivare i propri dati utilizzando il machine learning e ha modelli in produzione da molti anni. Ultimamente, il livello di sofisticazione e il numero di modelli in produzione stanno aumentando in modo esponenziale. Tuttavia, anche se il ritmo dell’innovazione è elevato, i diversi team hanno sviluppato i propri modi di lavorare ed erano alla ricerca di una nuova best practice per MLOps.

La nostra sfida

Per rimanere competitiva in termini di servizi cloud e AI/ML, Axfood ha scelto di collaborare con AWS e collabora con loro da molti anni.

Durante una delle nostre ricorrenti sessioni di brainstorming con AWS, stavamo discutendo su come collaborare al meglio tra i team per aumentare il ritmo dell'innovazione e l'efficienza dei professionisti della scienza dei dati e del machine learning. Abbiamo deciso di impegnarci in uno sforzo congiunto per costruire un prototipo su una best practice per MLOps. Lo scopo del prototipo era creare un modello di modello per tutti i team di data science per creare modelli ML scalabili ed efficienti, la base per una nuova generazione di piattaforme AI e ML per Axfood. Il modello dovrebbe collegare e combinare le best practice degli esperti AWS ML e i modelli di best practice specifici dell'azienda: il meglio di entrambi i mondi.

Abbiamo deciso di costruire un prototipo da uno dei modelli ML attualmente più sviluppati all'interno di Axfood: previsione delle vendite nei negozi. Più nel dettaglio, le previsioni per l'ortofrutta delle prossime campagne destinate ai punti vendita al dettaglio di generi alimentari. Previsioni giornaliere accurate supportano il processo di ordinazione per i negozi, aumentando la sostenibilità riducendo al minimo gli sprechi alimentari come risultato dell'ottimizzazione delle vendite prevedendo accuratamente i livelli di scorte necessari nel negozio. Questo era il punto di partenza perfetto per il nostro prototipo: non solo Axfood avrebbe acquisito una nuova piattaforma AI/ML, ma avremmo anche avuto la possibilità di confrontare le nostre capacità ML e imparare dai principali esperti AWS.

La nostra soluzione: un nuovo modello ML su Amazon SageMaker Studio

Costruire una pipeline ML completa progettata per un caso aziendale reale può essere impegnativa. In questo caso stiamo sviluppando un modello di previsione, quindi ci sono due passaggi principali da completare:

  1. Addestra il modello per effettuare previsioni utilizzando dati storici.
  2. Applicare il modello addestrato per fare previsioni di eventi futuri.

Nel caso di Axfood, una pipeline ben funzionante a questo scopo è già stata creata utilizzando i notebook SageMaker e orchestrata dalla piattaforma di gestione del flusso di lavoro di terze parti Airflow. Tuttavia, ci sono molti chiari vantaggi derivanti dalla modernizzazione della nostra piattaforma ML e dal passaggio a Amazon Sage Maker Studio ed Pipeline di Amazon SageMaker. Il passaggio a SageMaker Studio fornisce molte funzionalità predefinite pronte all'uso:

  • Monitoraggio della qualità del modello e dei dati, nonché della spiegabilità del modello
  • Strumenti integrati dell'ambiente di sviluppo integrato (IDE) come il debug
  • Monitoraggio costi/prestazioni
  • Quadro di accettazione del modello
  • Registro dei modelli

Tuttavia, l'incentivo più importante per Axfood è la possibilità di creare modelli di progetto personalizzati utilizzando Progetti Amazon SageMaker da utilizzare come modello per tutti i team di data science e i professionisti del machine learning. Il team di Axfood disponeva già di un livello solido e maturo di modellazione ML, quindi l'obiettivo principale era costruire la nuova architettura.

Panoramica della soluzione

Il nuovo framework ML proposto da Axfood è strutturato attorno a due pipeline principali: la pipeline di creazione del modello e la pipeline di inferenza batch:

  • Queste pipeline hanno una versione all'interno di due repository Git separati: un repository di build e un repository di distribuzione (inferenza). Insieme, formano una solida pipeline per la previsione di frutta e verdura.
  • Le pipeline vengono inserite in un modello di progetto personalizzato utilizzando SageMaker Projects in integrazione con un repository Git di terze parti (Bitbucket) e pipeline Bitbucket per componenti di integrazione continua e distribuzione continua (CI/CD).
  • Il modello di progetto SageMaker include il codice seed corrispondente a ogni passaggio delle pipeline di creazione e distribuzione (discutiamo questi passaggi in modo più dettagliato più avanti in questo post) nonché la definizione della pipeline, la ricetta su come eseguire i passaggi.
  • L'automazione della creazione di nuovi progetti basati sul modello è semplificata Catalogo dei servizi AWS, dove viene creato un portafoglio, che funge da astrazione per più prodotti.
  • Ogni prodotto si traduce in un AWS CloudFormazione modello, che viene distribuito quando un data scientist crea un nuovo progetto SageMaker con il nostro progetto MLOps come base. Questo attiva un AWS Lambda funzione che crea un progetto Bitbucket con due repository (model build e model deploy) contenenti il ​​codice seed.

Il diagramma seguente illustra l'architettura della soluzione. Il flusso di lavoro A descrive il flusso intricato tra le due pipeline del modello: creazione e inferenza. Il flusso di lavoro B mostra il flusso per creare un nuovo progetto ML.

In che modo Axfood consente l'apprendimento automatico accelerato in tutta l'organizzazione utilizzando Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Pipeline di creazione del modello

La pipeline di creazione del modello orchestra il ciclo di vita del modello, a partire dalla preelaborazione, passando attraverso l'addestramento e culminando con la registrazione nel registro del modello:

  • Pre-elaborazione – Ecco, il SageMaker ScriptProcessor viene utilizzata per l'ingegneria delle funzionalità, risultando nel set di dati su cui verrà addestrato il modello.
  • Formazione e trasformazione batch – I contenitori di addestramento e inferenza personalizzati di SageMaker vengono sfruttati per addestrare il modello sui dati storici e creare previsioni sui dati di valutazione utilizzando uno stimatore e un trasformatore SageMaker per le rispettive attività.
  • Valutazione – Il modello addestrato viene sottoposto a valutazione confrontando le previsioni generate sui dati di valutazione con i dati reali ScriptProcessor.
  • Lavori di base – La pipeline crea linee di base basate sulle statistiche nei dati di input. Questi sono essenziali per monitorare la qualità dei dati e del modello, nonché le attribuzioni delle funzionalità.
  • Registro dei modelli – Il modello addestrato viene registrato per un utilizzo futuro. Il modello sarà approvato dai data scientist designati per distribuirlo per l'uso in produzione.

Per gli ambienti di produzione, l'acquisizione dei dati e i meccanismi di attivazione sono gestiti tramite un'orchestrazione Airflow primaria. Nel frattempo, durante lo sviluppo, la pipeline viene attivata ogni volta che viene introdotto un nuovo commit nel repository Bitbucket di build del modello. La figura seguente visualizza la pipeline di creazione del modello.

In che modo Axfood consente l'apprendimento automatico accelerato in tutta l'organizzazione utilizzando Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Pipeline di inferenza batch

La pipeline di inferenza batch gestisce la fase di inferenza, che consiste nei seguenti passaggi:

  • Pre-elaborazione – I dati vengono preelaborati utilizzando ScriptProcessor.
  • Trasformazione batch – Il modello utilizza il contenitore di inferenza personalizzato con SageMaker Transformer e genera previsioni in base ai dati preelaborati di input. Il modello utilizzato è l'ultimo modello addestrato approvato nel registro dei modelli.
  • Post produzione – Le previsioni vengono sottoposte a una serie di passaggi di postelaborazione utilizzando ScriptProcessor.
  • Controllo – La sorveglianza continua completa il controllo delle derive relative alla qualità dei dati, alla qualità del modello e all'attribuzione delle caratteristiche.

Se si verificano discrepanze, una logica aziendale all'interno dello script di postelaborazione valuta se è necessario riqualificare il modello. La pipeline verrà eseguita a intervalli regolari.

Il diagramma seguente illustra la pipeline di inferenza batch. Il flusso di lavoro A corrisponde alla preelaborazione, alla qualità dei dati e ai controlli di deriva dell'attribuzione delle funzionalità, all'inferenza e alla postelaborazione. Il flusso di lavoro B corrisponde ai controlli della deriva della qualità del modello. Queste condutture sono divise perché il controllo della deriva della qualità del modello verrà eseguito solo se sono disponibili nuovi dati sulla verità a terra.

In che modo Axfood consente l'apprendimento automatico accelerato in tutta l'organizzazione utilizzando Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Monitor modello SageMaker

Con Monitor modello Amazon SageMaker integrati, i gasdotti beneficiano di un monitoraggio in tempo reale su quanto segue:

  • Qualità dei dati – Monitora eventuali deviazioni o incoerenze nei dati
  • Qualità del modello – Osserva eventuali fluttuazioni nelle prestazioni del modello
  • Attribuzione delle caratteristiche – Controlla la deriva nelle attribuzioni delle caratteristiche

Il monitoraggio della qualità del modello richiede l'accesso a dati reali. Anche se a volte ottenere dati concreti può essere difficile, l’utilizzo del monitoraggio della deriva dell’attribuzione di dati o funzionalità funge da proxy competente per la qualità del modello.

Nello specifico, in caso di deriva della qualità dei dati, il sistema presta attenzione a quanto segue:

  • Deriva concettuale – Ciò riguarda i cambiamenti nella correlazione tra input e output, che richiedono una verità fondamentale
  • Spostamento covariato – Qui l’accento è posto sulle alterazioni nella distribuzione delle variabili di input indipendenti

La funzionalità di deriva dei dati di SageMaker Model Monitor cattura ed esamina meticolosamente i dati di input, implementando regole e controlli statistici. Gli avvisi vengono generati ogni volta che vengono rilevate anomalie.

Oltre a utilizzare i controlli della deriva della qualità dei dati come proxy per monitorare il degrado del modello, il sistema monitora anche la deriva dell'attribuzione delle caratteristiche utilizzando il punteggio del guadagno cumulativo scontato normalizzato (NDCG). Questo punteggio è sensibile sia ai cambiamenti nell'ordine di classificazione dell'attribuzione delle funzionalità, sia ai punteggi di attribuzione grezza delle funzionalità. Monitorando la deriva nell'attribuzione delle singole caratteristiche e la loro importanza relativa, è semplice individuare il degrado della qualità del modello.

Spiegabilità del modello

La spiegabilità del modello è una parte fondamentale delle implementazioni ML, perché garantisce la trasparenza nelle previsioni. Per una comprensione dettagliata, utilizziamo Amazon SageMaker Chiarire.

Offre spiegazioni sia del modello globale che locale attraverso una tecnica di attribuzione delle caratteristiche indipendente dal modello basata sul concetto di valore di Shapley. Viene utilizzato per decodificare il motivo per cui è stata fatta una particolare previsione durante l'inferenza. Tali spiegazioni, che sono intrinsecamente contrastanti, possono variare in base a diverse linee di base. SageMaker Clarify aiuta a determinare questa linea di base utilizzando medie K o prototipi K nel set di dati di input, che viene poi aggiunto alla pipeline di creazione del modello. Questa funzionalità ci consente di creare applicazioni di intelligenza artificiale generativa in futuro per una maggiore comprensione di come funziona il modello.

Industrializzazione: dal prototipo alla produzione

Il progetto MLOps include un elevato grado di automazione e può fungere da modello per casi d'uso simili:

  • L'infrastruttura può essere riutilizzata interamente, mentre il codice seed può essere adattato per ogni attività, con la maggior parte delle modifiche limitate alla definizione della pipeline e alla logica aziendale per la preelaborazione, il training, l'inferenza e la postelaborazione.
  • Gli script di addestramento e inferenza sono ospitati utilizzando contenitori personalizzati SageMaker, quindi è possibile ospitare una varietà di modelli senza modifiche ai dati e al monitoraggio del modello o ai passaggi di spiegabilità del modello, purché i dati siano in formato tabellare.

Dopo aver terminato il lavoro sul prototipo, ci siamo concentrati su come utilizzarlo in produzione. Per fare ciò, abbiamo sentito il bisogno di apportare alcune modifiche aggiuntive al modello MLOps:

  • Il codice seed originale utilizzato nel prototipo per il modello includeva fasi di preelaborazione e postelaborazione eseguite prima e dopo le fasi principali di ML (addestramento e inferenza). Tuttavia, quando si aumenta la scalabilità per utilizzare il modello per più casi d'uso in produzione, le fasi di pre-elaborazione e post-elaborazione integrate possono portare a una riduzione della generalità e della riproduzione del codice.
  • Per migliorare la generalità e ridurre al minimo la ripetitività del codice, abbiamo scelto di snellire ulteriormente le pipeline. Invece di eseguire le fasi di preelaborazione e postelaborazione come parte della pipeline ML, le eseguiamo come parte dell'orchestrazione Airflow primaria prima e dopo l'attivazione della pipeline ML.
  • In questo modo, le attività di elaborazione specifiche del caso d'uso vengono astratte dal modello e ciò che rimane è una pipeline ML principale che esegue attività generali in più casi d'uso con una ripetizione minima del codice. I parametri che differiscono tra i casi d'uso vengono forniti come input alla pipeline ML dall'orchestrazione Airflow primaria.

Il risultato: un approccio rapido ed efficiente alla creazione e all'implementazione del modello

Il prototipo in collaborazione con AWS ha prodotto un modello MLOps che segue le migliori pratiche attuali che è ora disponibile per l'uso a tutti i team di data science di Axfood. Creando un nuovo progetto SageMaker all'interno di SageMaker Studio, i data scientist possono iniziare a lavorare su nuovi progetti ML in modo rapido e passare senza problemi alla produzione, consentendo una gestione del tempo più efficiente. Ciò è reso possibile automatizzando le attività MLOps noiose e ripetitive come parte del modello.

Inoltre, diverse nuove funzionalità sono state aggiunte in modo automatizzato alla nostra configurazione ML. Questi guadagni includono:

  • Monitoraggio del modello – Possiamo eseguire controlli di deriva per la qualità del modello e dei dati, nonché per la spiegabilità del modello
  • Modello e derivazione dei dati – Ora è possibile tracciare esattamente quali dati sono stati utilizzati per quale modello
  • Registro dei modelli – Questo ci aiuta a catalogare i modelli per la produzione e a gestire le versioni del modello

Conclusione

In questo post, abbiamo discusso di come Axfood abbia migliorato le operazioni e la scalabilità delle nostre operazioni di intelligenza artificiale e ML esistenti in collaborazione con esperti AWS e utilizzando SageMaker e i suoi prodotti correlati.

Questi miglioramenti aiuteranno i team di data science di Axfood a creare flussi di lavoro ML in modo più standardizzato e semplificheranno notevolmente l'analisi e il monitoraggio dei modelli in produzione, garantendo la qualità dei modelli ML creati e gestiti dai nostri team.

Si prega di lasciare feedback o domande nella sezione commenti.


Informazioni sugli autori

In che modo Axfood consente l'apprendimento automatico accelerato in tutta l'organizzazione utilizzando Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Dottor Björn Blomqvist è il responsabile della strategia AI presso Axfood AB. Prima di entrare in Axfood AB ha guidato un team di Data Scientist presso Dagab, una parte di Axfood, costruendo soluzioni innovative di machine learning con la missione di fornire cibo buono e sostenibile alle persone in tutta la Svezia. Nato e cresciuto nel nord della Svezia, nel tempo libero Björn si avventura tra montagne innevate e mare aperto.

In che modo Axfood consente l'apprendimento automatico accelerato in tutta l'organizzazione utilizzando Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Oskar Klang è Senior Data Scientist presso il dipartimento di analisi di Dagab, dove gli piace lavorare con tutto ciò che riguarda l'analisi e l'apprendimento automatico, ad esempio ottimizzando le operazioni della catena di fornitura, costruendo modelli di previsione e, più recentemente, applicazioni GenAI. Si impegna a creare pipeline di machine learning più snelle, migliorando l'efficienza e la scalabilità.

In che modo Axfood consente l'apprendimento automatico accelerato in tutta l'organizzazione utilizzando Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Paolo Maslov è un ingegnere senior DevOps e ML nel team Analytic Platforms. Pavel ha una vasta esperienza nello sviluppo di framework, infrastrutture e strumenti nei settori DevOps e ML/AI sulla piattaforma AWS. Pavel è stato uno degli attori chiave nella costruzione delle capacità fondamentali all'interno del ML presso Axfood.

In che modo Axfood consente l'apprendimento automatico accelerato in tutta l'organizzazione utilizzando Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Joakim Berg è il team leader e proprietario del prodotto Analytic Platforms, con sede a Stoccolma, Svezia. È a capo di un team di ingegneri DevOps/MLOps che forniscono piattaforme dati e ML per i team di data science. Joakim ha molti anni di esperienza alla guida di team senior di sviluppo e architettura di diversi settori.

Timestamp:

Di più da Apprendimento automatico di AWS