Hvordan Axfood muliggør accelereret maskinlæring i hele organisationen ved hjælp af Amazon SageMaker | Amazon Web Services

Hvordan Axfood muliggør accelereret maskinlæring i hele organisationen ved hjælp af Amazon SageMaker | Amazon Web Services

Dette er et gæsteindlæg skrevet af Axfood AB. 

I dette indlæg deler vi, hvordan Axfood, en stor svensk fødevareforhandler, forbedrede driften og skalerbarheden af ​​deres eksisterende kunstig intelligens (AI) og machine learning (ML) operationer ved at lave prototyper i tæt samarbejde med AWS-eksperter og bruge Amazon SageMaker.

Axfood er Sveriges næststørste fødevareforhandler med over 13,000 ansatte og mere end 300 butikker. Axfood har en struktur med flere decentrale data science-teams med forskellige ansvarsområder. Sammen med et centralt dataplatformsteam bringer data science-teamene innovation og digital transformation gennem AI- og ML-løsninger til organisationen. Axfood har brugt Amazon SageMaker til at dyrke deres data ved hjælp af ML og har haft modeller i produktion i mange år. På det seneste er niveauet af sofistikering og det store antal modeller i produktionen stigende eksponentielt. Men selvom innovationstempoet er højt, havde de forskellige teams udviklet deres egne måder at arbejde på og var på jagt efter en ny MLOps best practice.

Vores udfordring

For at forblive konkurrencedygtig i forhold til cloud-tjenester og AI/ML, valgte Axfood at samarbejde med AWS og har samarbejdet med dem i mange år.

Under en af ​​vores tilbagevendende brainstormsessioner med AWS diskuterede vi, hvordan vi bedst samarbejder på tværs af teams for at øge innovationstempoet og effektiviteten af ​​datavidenskab og ML-udøvere. Vi besluttede at gøre en fælles indsats for at bygge en prototype på en best practice for MLOps. Målet med prototypen var at bygge en modelskabelon til alle datavidenskabsteams for at bygge skalerbare og effektive ML-modeller – grundlaget for en ny generation af AI- og ML-platforme til Axfood. Skabelonen skal bygge bro og kombinere bedste praksis fra AWS ML-eksperter og virksomhedsspecifikke modeller for bedste praksis – det bedste fra begge verdener.

Vi besluttede at bygge en prototype ud fra en af ​​de i øjeblikket mest udviklede ML-modeller indenfor Axfood: forudsigelse af salg i butikker. Mere specifikt, prognosen for frugt og grøntsager for kommende kampagner for fødevarebutikker. Nøjagtige daglige prognoser understøtter bestillingsprocessen for butikkerne, hvilket øger bæredygtigheden ved at minimere madspild som et resultat af optimering af salget ved præcist at forudsige de nødvendige lagerbeholdninger i butikken. Dette var det perfekte sted at starte for vores prototype – ikke kun ville Axfood få en ny AI/ML-platform, men vi ville også få en chance for at benchmarke vores ML-kapaciteter og lære af førende AWS-eksperter.

Vores løsning: En ny ML-skabelon på Amazon SageMaker Studio

Det kan være udfordrende at bygge en komplet ML-pipeline, der er designet til en egentlig business case. I dette tilfælde udvikler vi en prognosemodel, så der er to hovedtrin at gennemføre:

  1. Træn modellen til at lave forudsigelser ved hjælp af historiske data.
  2. Anvend den trænede model til at lave forudsigelser om fremtidige begivenheder.

I Axfoods tilfælde var der allerede oprettet en velfungerende pipeline til dette formål ved hjælp af SageMaker notebooks og orkestreret af tredjeparts workflow management platformen Airflow. Der er dog mange klare fordele ved at modernisere vores ML platform og flytte til Amazon SageMaker Studio , Amazon SageMaker Pipelines. At flytte til SageMaker Studio giver mange foruddefinerede funktioner, der er klar:

  • Overvågning af model og datakvalitet samt modelforklarlighed
  • Indbyggede værktøjer til integreret udviklingsmiljø (IDE), såsom fejlfinding
  • Overvågning af omkostninger/ydelse
  • Model acceptramme
  • Modelregistrering

Det vigtigste incitament for Axfood er dog muligheden for at lave skræddersyede projektskabeloner vha Amazon SageMaker-projekter skal bruges som en blueprint for alle data science teams og ML praktikere. Axfood-teamet havde allerede et robust og modent niveau af ML-modellering, så hovedfokus var på at bygge den nye arkitektur.

Løsningsoversigt

Axfoods foreslåede nye ML-ramme er struktureret omkring to hovedpipelines: modelbyggepipeline og batchinferenspipeline:

  • Disse pipelines er versioneret inden for to separate Git-depoter: et build-depot og et deploy (inferens)-repository. Sammen danner de en robust pipeline til forudsigelse af frugt og grøntsager.
  • Pipelines er pakket ind i en brugerdefineret projektskabelon ved hjælp af SageMaker Projects i integration med et tredjeparts Git-lager (Bitbucket) og Bitbucket-pipelines til kontinuerlig integration og kontinuerlig udrulning (CI/CD) komponenter.
  • SageMaker-projektskabelonen inkluderer startkode, der svarer til hvert trin i opbygningen og implementeringen af ​​pipelines (vi diskuterer disse trin mere detaljeret senere i dette indlæg) såvel som pipelinedefinitionen - opskriften på, hvordan trinene skal køres.
  • Automatisering af opbygning af nye projekter baseret på skabelonen strømlines igennem AWS servicekatalog, hvor der oprettes en portefølje, der fungerer som en abstraktion for flere produkter.
  • Hvert produkt oversættes til en AWS CloudFormation skabelon, som anvendes, når en dataforsker opretter et nyt SageMaker-projekt med vores MLOps-plan som grundlag. Dette aktiverer en AWS Lambda funktion, der opretter et Bitbucket-projekt med to arkiver – modelopbygning og modelimplementering – der indeholder startkoden.

Følgende diagram illustrerer løsningsarkitekturen. Workflow A viser det indviklede flow mellem de to modelrørledninger – opbygning og inferens. Workflow B viser flowet for at oprette et nyt ML-projekt.

How Axfood enables accelerated machine learning throughout the organization using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Modelbygge pipeline

Modelbygningspipelinen orkestrerer modellens livscyklus, begyndende fra forbehandling, bevægelse gennem træning og kulminerer med at blive registreret i modelregistret:

  • forbehandling – Her, SageMakeren ScriptProcessor klasse er ansat til feature engineering, hvilket resulterer i det datasæt, modellen vil blive trænet på.
  • Træning og batch transformation – Brugerdefinerede trænings- og inferensbeholdere fra SageMaker udnyttes til at træne modellen på historiske data og skabe forudsigelser på evalueringsdataene ved hjælp af en SageMaker Estimator og Transformer til de respektive opgaver.
  • Evaluering – Den trænede model gennemgår evaluering ved at sammenligne de genererede forudsigelser på evalueringsdataene med grundsandheden vha. ScriptProcessor.
  • Baseline job – Pipelinen opretter basislinjer baseret på statistik i inputdataene. Disse er essentielle for overvågning af data og modelkvalitet samt funktionstilskrivninger.
  • Modelregistrering – Den trænede model er registreret til fremtidig brug. Modellen vil blive godkendt af udpegede dataforskere til at implementere modellen til brug i produktionen.

For produktionsmiljøer styres dataindtagelse og triggermekanismer via en primær Airflow-orkestrering. I mellemtiden, under udvikling, aktiveres pipelinen, hver gang en ny commit introduceres til modelbygget Bitbucket-lageret. Følgende figur visualiserer modelbyggepipelinen.

How Axfood enables accelerated machine learning throughout the organization using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Batch-inferenspipeline

Batch-inferenspipelinen håndterer inferensfasen, som består af følgende trin:

  • forbehandling – Data er forbehandlet vha ScriptProcessor.
  • Batch transformation – Modellen bruger den brugerdefinerede inferensbeholder med en SageMaker Transformer og genererer forudsigelser givet de forbehandlede inputdata. Den anvendte model er den senest godkendte trænede model i modelregistret.
  • Efterbehandling – Forudsigelserne gennemgår en række efterbehandlingstrin ved hjælp af ScriptProcessor.
  • Overvågning – Kontinuerlig overvågning fuldender tjek for drift relateret til datakvalitet, modelkvalitet og funktionstilskrivning.

Hvis der opstår uoverensstemmelser, vurderer en forretningslogik i efterbehandlingsscriptet, om genoptræning af modellen er nødvendig. Rørledningen er planlagt til at køre med jævne mellemrum.

Det følgende diagram illustrerer batch-inferenspipelinen. Workflow A svarer til forbehandling, datakvalitet og funktionstilskrivningsdriftstjek, inferens og efterbehandling. Arbejdsgang B svarer til kontrol af modelkvalitetsdrift. Disse rørledninger er opdelt, fordi modelkvalitetsdriftskontrollen kun vil køre, hvis nye jordsandhedsdata er tilgængelige.

How Axfood enables accelerated machine learning throughout the organization using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

SageMaker Model Monitor

Med Amazon SageMaker Model Monitor integreret, drager rørledningerne fordel af overvågning i realtid på følgende:

  • Datakvalitet – Overvåger enhver drift eller uoverensstemmelser i data
  • Model kvalitet – Holder øje med eventuelle udsving i modellens ydeevne
  • Funktionstilskrivning – Kontrollerer for drift i funktionstilskrivninger

Overvågning af modelkvalitet kræver adgang til jordsandhedsdata. Selvom det til tider kan være udfordrende at opnå jordsandhed, tjener brugen af ​​data- eller funktionstilskrivningsdriftsovervågning som en kompetent proxy til modelkvalitet.

Specifikt, i tilfælde af datakvalitetsdrift, holder systemet øje med følgende:

  • Begrebsdrift – Dette vedrører ændringer i sammenhængen mellem input og output, hvilket kræver jordsandhed
  • Kovariatskifte – Her lægges vægten på ændringer i fordelingen af ​​uafhængige inputvariable

SageMaker Model Monitors datadriftsfunktionalitet fanger og undersøger omhyggeligt inputdataene, implementerer regler og statistiske kontroller. Advarsler udløses, når der opdages uregelmæssigheder.

Parallelt med at bruge datakvalitetsdriftstjek som en proxy til overvågning af modelforringelse, overvåger systemet også funktionstilskrivningsdrift ved hjælp af den normaliserede diskonterede kumulative forstærkning (NDCG)-score. Denne score er følsom over for både ændringer i funktionstilskrivningsrækkefølgen såvel som for funktionernes rå tilskrivningsscore. Ved at overvåge forskydning i tilskrivning for individuelle funktioner og deres relative betydning, er det ligetil at opdage forringelse af modelkvaliteten.

Modelforklarlighed

Modelforklarlighed er en central del af ML-implementeringer, fordi det sikrer gennemsigtighed i forudsigelser. For en detaljeret forståelse bruger vi Amazon SageMaker Clarify.

Den tilbyder både globale og lokale modelforklaringer gennem en modelagnostisk egenskabstilskrivningsteknik baseret på Shapley-værdikonceptet. Dette bruges til at afkode, hvorfor en bestemt forudsigelse blev lavet under inferens. Sådanne forklaringer, som i sagens natur er kontrastive, kan variere baseret på forskellige basislinjer. SageMaker Clarify hjælper med at bestemme denne basislinje ved hjælp af K-midler eller K-prototyper i inputdatasættet, som derefter føjes til modelbyggepipelinen. Denne funktionalitet gør os i stand til at bygge generative AI-applikationer i fremtiden for øget forståelse af, hvordan modellen fungerer.

Industrialisering: Fra prototype til produktion

MLOps-projektet omfatter en høj grad af automatisering og kan tjene som en plan for lignende brugssager:

  • Infrastrukturen kan genbruges fuldstændigt, hvorimod startkoden kan tilpasses til hver opgave, med de fleste ændringer begrænset til pipelinedefinitionen og forretningslogikken for forbehandling, træning, inferens og efterbehandling.
  • Trænings- og inferensscripts hostes ved hjælp af SageMaker-tilpassede containere, så en række forskellige modeller kan rummes uden ændringer i data- og modelovervågnings- eller modelforklarlighedstrinnene, så længe dataene er i tabelformat.

Efter at have afsluttet arbejdet med prototypen, gik vi over til, hvordan vi skulle bruge den i produktionen. For at gøre det følte vi behov for at foretage nogle yderligere justeringer af MLOps-skabelonen:

  • Den originale startkode, der blev brugt i prototypen til skabelonen, inkluderede forbehandlings- og efterbehandlingstrin, der blev kørt før og efter ML-kernetrinene (træning og inferens). Men når man skalerer op til at bruge skabelonen til flere brugssager i produktionen, kan de indbyggede forbehandlings- og efterbehandlingstrin føre til nedsat generalitet og reproduktion af kode.
  • For at forbedre generaliteten og minimere gentagen kode, valgte vi at slanke pipelines yderligere. I stedet for at køre forbehandlings- og efterbehandlingstrinnene som en del af ML-pipelinen, kører vi disse som en del af den primære Airflow-orkestrering før og efter udløsning af ML-pipelinen.
  • På denne måde abstraheres brugs-case-specifikke behandlingsopgaver fra skabelonen, og det, der er tilbage, er en kerne-ML-pipeline, der udfører opgaver, der er generelle på tværs af flere use cases med minimal gentagelse af kode. Parametre, der adskiller sig fra anvendelsestilfælde, leveres som input til ML-rørledningen fra den primære Airflow-orkestrering.

Resultatet: En hurtig og effektiv tilgang til modelopbygning og implementering

Prototypen i samarbejde med AWS har resulteret i en MLOps-skabelon efter nuværende best practices, som nu er tilgængelig til brug for alle Axfoods data science-teams. Ved at skabe et nyt SageMaker-projekt i SageMaker Studio kan dataforskere komme i gang med nye ML-projekter hurtigt og problemfrit overgang til produktion, hvilket giver mulighed for mere effektiv tidsstyring. Dette er gjort muligt ved at automatisere kedelige, gentagne MLOps-opgaver som en del af skabelonen.

Ydermere er flere nye funktionaliteter blevet tilføjet på en automatiseret måde til vores ML-setup. Disse gevinster omfatter:

  • Modelovervågning – Vi kan udføre afdriftstjek for model- og datakvalitet samt modelforklarlighed
  • Model og data afstamning – Det er nu muligt at spore præcis, hvilke data der er brugt til hvilken model
  • Modelregistrering – Dette hjælper os med at katalogisere modeller til produktion og administrere modelversioner

Konklusion

I dette indlæg diskuterede vi, hvordan Axfood forbedrede driften og skalerbarheden af ​​vores eksisterende AI- og ML-operationer i samarbejde med AWS-eksperter og ved at bruge SageMaker og dets relaterede produkter.

Disse forbedringer vil hjælpe Axfoods data science-team med at opbygge ML-arbejdsgange på en mere standardiseret måde og vil i høj grad forenkle analyse og overvågning af modeller i produktionen – hvilket sikrer kvaliteten af ​​ML-modeller bygget og vedligeholdt af vores teams.

Giv venligst feedback eller spørgsmål i kommentarfeltet.


Om forfatterne

How Axfood enables accelerated machine learning throughout the organization using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Dr. Björn Blomqvist er Head of AI Strategy hos Axfood AB. Før han kom til Axfood AB, ledede han et team af dataforskere hos Dagab, en del af Axfood, der byggede innovative maskinlæringsløsninger med missionen om at levere god og bæredygtig mad til mennesker over hele Sverige. Født og opvokset i det nordlige Sverige begiver Björn sig i sin fritid til sneklædte bjerge og åbne hav.

How Axfood enables accelerated machine learning throughout the organization using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Oskar Klang er Senior Data Scientist i analyseafdelingen hos Dagab, hvor han nyder at arbejde med alt inden for analyse og maskinlæring, fx optimering af supply chain-drift, opbygning af prognosemodeller og for nylig GenAI-applikationer. Han er forpligtet til at opbygge mere strømlinede pipelines for maskinlæring, hvilket forbedrer effektiviteten og skalerbarheden.

How Axfood enables accelerated machine learning throughout the organization using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Pavel Maslov er en Senior DevOps og ML ingeniør i Analytic Platforms teamet. Pavel har stor erfaring med udvikling af frameworks, infrastruktur og værktøjer inden for domænerne DevOps og ML/AI på AWS platformen. Pavel har været en af ​​nøglespillerne i opbygningen af ​​den grundlæggende kompetence inden for ML hos Axfood.

How Axfood enables accelerated machine learning throughout the organization using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Joakim Berg er Team Lead og Product Owner Analytic Platforms, baseret i Stockholm, Sverige. Han leder et team af Data Platform end DevOps/MLOps-ingeniører, der leverer Data- og ML-platforme til Data Science-teamene. Joakim har mange års erfaring med at lede seniorudviklings- og arkitektteams fra forskellige brancher.

Tidsstempel:

Mere fra AWS maskinindlæring