Hvordan Axfood muliggjør akselerert maskinlæring i hele organisasjonen ved å bruke Amazon SageMaker | Amazon Web Services

Hvordan Axfood muliggjør akselerert maskinlæring i hele organisasjonen ved å bruke Amazon SageMaker | Amazon Web Services

Dette er et gjesteinnlegg skrevet av Axfood AB. 

I dette innlegget deler vi hvordan Axfood, en stor svensk matvareforhandler, forbedret driften og skalerbarheten av deres eksisterende kunstig intelligens (AI) og maskinlæring (ML) operasjoner ved å lage prototyper i nært samarbeid med AWS-eksperter og bruke Amazon SageMaker.

Axfood er Sveriges nest største dagligvareforhandler, med over 13,000 300 ansatte og mer enn XNUMX butikker. Axfood har en struktur med flere desentraliserte datavitenskapsteam med ulike ansvarsområder. Sammen med et sentralt dataplattformteam bringer datavitenskapsteamene innovasjon og digital transformasjon gjennom AI- og ML-løsninger til organisasjonen. Axfood har brukt Amazon SageMaker for å dyrke dataene sine ved hjelp av ML og har hatt modeller i produksjon i mange år. I det siste har nivået av raffinement og det store antallet modeller i produksjon økt eksponentielt. Men selv om innovasjonstakten er høy, hadde de forskjellige teamene utviklet sine egne måter å jobbe på og var på jakt etter en ny MLOps beste praksis.

Vår utfordring

For å holde seg konkurransedyktig når det gjelder skytjenester og AI/ML, valgte Axfood å samarbeide med AWS og har samarbeidet med dem i mange år.

Under en av våre tilbakevendende idédugnadsøkter med AWS diskuterte vi hvordan vi best kan samarbeide på tvers av team for å øke innovasjonstakten og effektiviteten til datavitenskap og ML-utøvere. Vi bestemte oss for å gjøre en felles innsats for å bygge en prototype på en beste praksis for MLOps. Målet med prototypen var å bygge en modellmal for alle datavitenskapsteam for å bygge skalerbare og effektive ML-modeller – grunnlaget for en ny generasjon AI- og ML-plattformer for Axfood. Malen skal bygge bro og kombinere beste praksis fra AWS ML-eksperter og bedriftsspesifikke beste praksis-modeller – det beste fra begge verdener.

Vi bestemte oss for å bygge en prototype fra en av de for tiden mest utviklede ML-modellene innen Axfood: prognoser for salg i butikker. Mer spesifikt, prognosen for frukt og grønnsaker for kommende kampanjer for matbutikker. Nøyaktige daglige prognoser støtter bestillingsprosessen for butikkene, og øker bærekraften ved å minimere matsvinn som et resultat av å optimalisere salget ved nøyaktig å forutsi nødvendige lagernivåer i butikken. Dette var det perfekte stedet å starte for prototypen vår – ikke bare ville Axfood få en ny AI/ML-plattform, men vi ville også få en sjanse til å benchmarke våre ML-evner og lære av ledende AWS-eksperter.

Vår løsning: En ny ML-mal på Amazon SageMaker Studio

Det kan være utfordrende å bygge en full ML-pipeline som er designet for en faktisk forretningscase. I dette tilfellet utvikler vi en prognosemodell, så det er to hovedtrinn å fullføre:

  1. Tren modellen til å lage spådommer ved å bruke historiske data.
  2. Bruk den trente modellen for å lage spådommer om fremtidige hendelser.

I Axfoods tilfelle var en velfungerende pipeline for dette formålet allerede satt opp ved hjelp av SageMaker-notatbøker og orkestrert av tredjeparts arbeidsflytstyringsplattformen Airflow. Det er imidlertid mange klare fordeler ved å modernisere vår ML-plattform og flytte til Amazon SageMaker Studio og Amazon SageMaker-rørledninger. Å flytte til SageMaker Studio gir mange forhåndsdefinerte funksjoner:

  • Overvåking av modell og datakvalitet samt modellforklaring
  • Innebygde verktøy for integrert utviklingsmiljø (IDE) som feilsøking
  • Overvåking av kostnad/ytelse
  • Modell aksept rammeverk
  • Modellregister

Det viktigste insentivet for Axfood er imidlertid muligheten til å lage tilpassede prosjektmaler ved hjelp av Amazon SageMaker-prosjekter skal brukes som en blåkopi for alle datavitenskapsteam og ML-utøvere. Axfood-teamet hadde allerede et robust og modent nivå av ML-modellering, så hovedfokuset var å bygge den nye arkitekturen.

Løsningsoversikt

Axfoods foreslåtte nye ML-rammeverk er strukturert rundt to hovedrørledninger: modellbyggingsrørledningen og batchslutningsrørledningen:

  • Disse rørledningene er versjonert i to separate Git-repositorier: ett byggelager og ett distribusjons- (inferens-) repository. Sammen danner de en robust rørledning for prognoser for frukt og grønnsaker.
  • Rørledningene er pakket inn i en tilpasset prosjektmal ved å bruke SageMaker Projects i integrasjon med et tredjeparts Git-depot (Bitbucket) og Bitbucket-pipelines for kontinuerlig integrasjon og kontinuerlig distribusjon (CI/CD)-komponenter.
  • SageMaker-prosjektmalen inkluderer startkode som tilsvarer hvert trinn i bygge- og distribusjonsrørledningene (vi diskuterer disse trinnene mer detaljert senere i dette innlegget) samt pipelinedefinisjonen – oppskriften på hvordan trinnene skal kjøres.
  • Automatisering av bygging av nye prosjekter basert på malen strømlinjeformes gjennom AWS servicekatalog, der det opprettes en portefølje, som fungerer som en abstraksjon for flere produkter.
  • Hvert produkt oversettes til en AWS skyformasjon mal, som brukes når en dataforsker oppretter et nytt SageMaker-prosjekt med MLOps-planen vår som grunnlag. Dette aktiverer en AWS Lambda funksjon som oppretter et Bitbucket-prosjekt med to repositories – modellbygging og modelldistribusjon – som inneholder frøkoden.

Følgende diagram illustrerer løsningsarkitekturen. Arbeidsflyt A viser den intrikate flyten mellom de to modellrørledningene – konstruksjon og inferens. Arbeidsflyt B viser flyten for å opprette et nytt ML-prosjekt.

Hvordan Axfood muliggjør akselerert maskinlæring i hele organisasjonen ved å bruke Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Modellbygg rørledning

Modellbyggingspipelinen orkestrerer modellens livssyklus, fra forbehandling, overgang til opplæring, og kulminerer med å bli registrert i modellregisteret:

  • forbehandling – Her, SageMaker ScriptProcessor klasse brukes for funksjonsteknikk, noe som resulterer i datasettet modellen skal trenes på.
  • Trening og batchtransformasjon – Tilpassede opplærings- og slutningsbeholdere fra SageMaker brukes til å trene modellen på historiske data og lage spådommer på evalueringsdataene ved å bruke en SageMaker Estimator og Transformer for de respektive oppgavene.
  • Evaluering – Den trente modellen gjennomgår evaluering ved å sammenligne de genererte spådommene på evalueringsdataene med grunnsannheten ved å bruke ScriptProcessor.
  • Baseline jobber – Rørledningen lager grunnlinjer basert på statistikk i inndataene. Disse er avgjørende for å overvåke data og modellkvalitet, samt funksjonsattribusjoner.
  • Modellregister – Den opplærte modellen er registrert for fremtidig bruk. Modellen vil bli godkjent av utpekte dataforskere for å distribuere modellen for bruk i produksjon.

For produksjonsmiljøer administreres datainntak og triggermekanismer via en primær Airflow-orkestrering. I mellomtiden, under utviklingen, aktiveres rørledningen hver gang en ny forpliktelse introduseres til modellbygget Bitbucket-depot. Følgende figur visualiserer modellbyggingsrørledningen.

Hvordan Axfood muliggjør akselerert maskinlæring i hele organisasjonen ved å bruke Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Batch-inferensrørledning

Batch-inferensrørledningen håndterer inferensfasen, som består av følgende trinn:

  • forbehandling – Data er forhåndsbehandlet vha ScriptProcessor.
  • Batchtransformasjon – Modellen bruker den tilpassede slutningsbeholderen med en SageMaker Transformer og genererer spådommer gitt forhåndsbehandlede input. Modellen som brukes er den siste godkjente trente modellen i modellregisteret.
  • Etterbehandling – Spådommene gjennomgår en rekke etterbehandlingstrinn ved hjelp av ScriptProcessor.
  • Overvåking – Kontinuerlig overvåking fullfører sjekker for drift relatert til datakvalitet, modellkvalitet og funksjonsattribusjon.

Hvis det oppstår avvik, vurderer en forretningslogikk i etterbehandlingsskriptet om omskolering av modellen er nødvendig. Rørledningen skal etter planen gå med jevne mellomrom.

Følgende diagram illustrerer batch-inferensrørledningen. Arbeidsflyt A tilsvarer preprosessering, datakvalitet og funksjonsattribusjonsdriftkontroller, slutninger og etterbehandling. Arbeidsflyt B tilsvarer modellkvalitetsavdriftskontroller. Disse rørledningene er delt fordi modellkvalitetsavdriftskontrollen bare vil kjøre hvis nye bakkesannhetsdata er tilgjengelige.

Hvordan Axfood muliggjør akselerert maskinlæring i hele organisasjonen ved å bruke Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

SageMaker modellmonitor

Med Amazon SageMaker modellmonitor integrert, drar rørledningene fordel av sanntidsovervåking på følgende:

  • Datakvalitet – Overvåker enhver drift eller inkonsekvens i data
  • Modellkvalitet – Passer på eventuelle svingninger i modellens ytelse
  • Funksjonsattribusjon – Sjekker for avvik i egenskapsattribusjonene

Overvåking av modellkvalitet krever tilgang til sannhetsdata. Selv om det til tider kan være utfordrende å få tak i grunnsannheten, fungerer overvåking av data- eller funksjonsattribusjonsdrift som en kompetent proxy for modellkvalitet.

Spesifikt, i tilfelle datakvalitetsdrift, ser systemet opp for følgende:

  • Konseptdrift – Dette gjelder endringer i korrelasjonen mellom input og output, som krever grunnsannhet
  • Kovariatskifte – Her er det lagt vekt på endringer i fordelingen av uavhengige inngangsvariabler

SageMaker Model Monitors datadriftsfunksjonalitet fanger og gransker inndataene, distribuerer regler og statistiske kontroller. Varsler utløses hver gang avvik oppdages.

Parallelt med å bruke datakvalitetsdriftskontroller som en proxy for å overvåke modellforringelse, overvåker systemet også funksjonsattribusjonsdrift ved å bruke den normaliserte diskonterte kumulative gevinsten (NDCG). Denne poengsummen er sensitiv for både endringer i rangeringsrekkefølgen for funksjonsattribusjon, så vel som for de rå attribusjonspoengene til funksjoner. Ved å overvåke drift i attribusjon for individuelle funksjoner og deres relative betydning, er det enkelt å oppdage forringelse av modellkvalitet.

Modellforklarbarhet

Modellforklarbarhet er en sentral del av ML-implementeringer, fordi den sikrer åpenhet i spådommer. For en detaljert forståelse bruker vi Amazon SageMaker Clarify.

Den tilbyr både globale og lokale modellforklaringer gjennom en modellagnostisk funksjonsattribusjonsteknikk basert på Shapley-verdikonseptet. Dette brukes til å dekode hvorfor en bestemt prediksjon ble gjort under slutning. Slike forklaringer, som er iboende kontrastive, kan variere basert på ulike grunnlinjer. SageMaker Clarify hjelper til med å bestemme denne grunnlinjen ved å bruke K-midler eller K-prototyper i inngangsdatasettet, som deretter legges til modellbyggepipelinen. Denne funksjonaliteten gjør oss i stand til å bygge generative AI-applikasjoner i fremtiden for økt forståelse av hvordan modellen fungerer.

Industrialisering: Fra prototype til produksjon

MLOps-prosjektet inkluderer en høy grad av automatisering og kan tjene som en blåkopi for lignende brukstilfeller:

  • Infrastrukturen kan gjenbrukes i sin helhet, mens startkoden kan tilpasses for hver oppgave, med de fleste endringer begrenset til pipelinedefinisjonen og forretningslogikken for forbehandling, opplæring, slutning og etterbehandling.
  • Opplærings- og slutningsskriptene er vert ved hjelp av SageMaker-tilpassede beholdere, slik at en rekke modeller kan tilpasses uten endringer i data- og modellovervåkings- eller modellforklaringstrinn, så lenge dataene er i tabellformat.

Etter å ha fullført arbeidet med prototypen, gikk vi over til hvordan vi skulle bruke den i produksjonen. For å gjøre det følte vi behov for å gjøre noen ekstra justeringer av MLOps-malen:

  • Den opprinnelige frøkoden som ble brukt i prototypen for malen inkluderte forbehandlings- og etterbehandlingstrinn som kjøres før og etter ML-kjernetrinnene (trening og slutning). Men når du skalerer opp for å bruke malen for flere brukstilfeller i produksjon, kan de innebygde for- og etterbehandlingstrinnene føre til redusert generalitet og reproduksjon av kode.
  • For å forbedre generaliteten og minimere repeterende kode, valgte vi å slanke rørledningene ytterligere. I stedet for å kjøre for- og etterbehandlingstrinnene som en del av ML-rørledningen, kjører vi disse som en del av den primære Airflow-orkestreringen før og etter utløsning av ML-rørledningen.
  • På denne måten abstraheres bruksspesifikke behandlingsoppgaver fra malen, og det som er igjen er en kjerne ML-pipeline som utfører oppgaver som er generelle på tvers av flere brukstilfeller med minimal repetisjon av kode. Parametre som er forskjellige mellom brukstilfeller leveres som input til ML-rørledningen fra den primære Airflow-orkestreringen.

Resultatet: En rask og effektiv tilnærming til modellbygging og distribusjon

Prototypen i samarbeid med AWS har resultert i en MLOps-mal etter gjeldende beste praksis som nå er tilgjengelig for bruk for alle Axfoods datavitenskapsteam. Ved å opprette et nytt SageMaker-prosjekt i SageMaker Studio, kan dataforskere komme i gang med nye ML-prosjekter raskt og sømløst gå over til produksjon, noe som gir mer effektiv tidsstyring. Dette er gjort mulig ved å automatisere kjedelige, repeterende MLOps-oppgaver som en del av malen.

Videre har flere nye funksjoner blitt lagt til på en automatisert måte til vårt ML-oppsett. Disse gevinstene inkluderer:

  • Modellovervåking – Vi kan utføre driftsjekker for modell- og datakvalitet samt modellforklaring
  • Modell- og datalinje – Det er nå mulig å spore nøyaktig hvilke data som er brukt til hvilken modell
  • Modellregister – Dette hjelper oss med å katalogisere modeller for produksjon og administrere modellversjoner

konklusjonen

I dette innlegget diskuterte vi hvordan Axfood forbedret driften og skalerbarheten til våre eksisterende AI- og ML-operasjoner i samarbeid med AWS-eksperter og ved å bruke SageMaker og dets relaterte produkter.

Disse forbedringene vil hjelpe Axfoods datavitenskapsteam med å bygge ML-arbeidsflyter på en mer standardisert måte og vil i stor grad forenkle analyse og overvåking av modeller i produksjon – og sikre kvaliteten på ML-modeller bygget og vedlikeholdt av teamene våre.

Gi tilbakemelding eller spørsmål i kommentarfeltet.


Om forfatterne

Hvordan Axfood muliggjør akselerert maskinlæring i hele organisasjonen ved å bruke Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Dr. Björn Blomqvist er leder for AI-strategi i Axfood AB. Før han begynte i Axfood AB, ledet han et team av dataforskere ved Dagab, en del av Axfood, og bygde innovative maskinlæringsløsninger med oppgaven å gi god og bærekraftig mat til mennesker over hele Sverige. Björn er født og oppvokst i Nord-Sverige, og på fritiden drar Björn til snødekte fjell og åpent hav.

Hvordan Axfood muliggjør akselerert maskinlæring i hele organisasjonen ved å bruke Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Oskar Klang er Senior Data Scientist ved analyseavdelingen i Dagab, hvor han liker å jobbe med alt av analyser og maskinlæring, f.eks. optimalisering av forsyningskjedeoperasjoner, bygging av prognosemodeller og, nylig, GenAI-applikasjoner. Han er forpliktet til å bygge mer strømlinjeformede maskinlæringspipelines, forbedre effektiviteten og skalerbarheten.

Hvordan Axfood muliggjør akselerert maskinlæring i hele organisasjonen ved å bruke Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Pavel Maslov er senior DevOps- og ML-ingeniør i analytiske plattformer. Pavel har lang erfaring med utvikling av rammeverk, infrastruktur og verktøy innen domenene DevOps og ML/AI på AWS-plattformen. Pavel har vært en av nøkkelaktørene i å bygge den grunnleggende kompetansen innen ML hos Axfood.

Hvordan Axfood muliggjør akselerert maskinlæring i hele organisasjonen ved å bruke Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Joakim Berg er Team Lead og Product Owner Analytic Platforms, basert i Stockholm, Sverige. Han leder et team av Data Platform end DevOps/MLOps-ingeniører som leverer data- og ML-plattformer for Data Science-teamene. Joakim har mange års erfaring med å lede seniorutviklings- og arkitektteam fra ulike bransjer.

Tidstempel:

Mer fra AWS maskinlæring