Kako Axfood omogoča pospešeno strojno učenje v celotni organizaciji z uporabo Amazon SageMaker | Spletne storitve Amazon

Kako Axfood omogoča pospešeno strojno učenje v celotni organizaciji z uporabo Amazon SageMaker | Spletne storitve Amazon

To je gostujoča objava, ki jo je napisal Axfood AB. 

V tej objavi delimo, kako je Axfood, velik švedski trgovec s hrano, izboljšal delovanje in razširljivost svojih obstoječih operacij umetne inteligence (AI) in strojnega učenja (ML) z izdelavo prototipov v tesnem sodelovanju s strokovnjaki AWS in uporabo Amazon SageMaker.

Axfood je drugi največji trgovec s hrano na Švedskem, z več kot 13,000 zaposlenimi in več kot 300 trgovinami. Axfood ima strukturo z več decentraliziranimi ekipami za podatkovno znanost z različnimi področji odgovornosti. Skupaj z ekipo osrednje podatkovne platforme ekipe za podatkovno znanost v organizacijo prinašajo inovacije in digitalno transformacijo z rešitvami AI in ML. Axfood uporablja Amazon SageMaker za obdelavo svojih podatkov z uporabo ML in ima modele v proizvodnji že vrsto let. V zadnjem času stopnja sofisticiranosti in samo število modelov v proizvodnji eksponentno naraščata. Čeprav je tempo inovacij visok, so različne ekipe razvile svoje načine dela in iskale nove najboljše prakse MLOps.

Naš izziv

Da bi ostal konkurenčen v smislu storitev v oblaku in AI/ML, se je Axfood odločil za partnerstvo z AWS in z njim sodeluje že vrsto let.

Med eno od naših ponavljajočih se neviht možganov z AWS smo razpravljali o tem, kako najbolje sodelovati med ekipami, da bi povečali tempo inovacij in učinkovitost podatkovnih znanosti in strokovnjakov za strojno upravljanje. Odločili smo se, da bomo s skupnimi močmi zgradili prototip na podlagi najboljše prakse za MLO. Cilj prototipa je bil izdelati predlogo modela za vse skupine za podatkovno znanost, da bi zgradili razširljive in učinkovite modele ML – temelj za novo generacijo platform AI in ML za Axfood. Predloga bi morala premostiti in združiti najboljše prakse strokovnjakov AWS ML in modele najboljših praks za posamezna podjetja – najboljše iz obeh svetov.

Odločili smo se, da izdelamo prototip iz enega trenutno najbolj razvitih modelov ML znotraj Axfooda: napovedovanje prodaje v trgovinah. Natančneje, napoved za sadje in zelenjavo prihajajočih akcij za živilske trgovine. Natančno dnevno napovedovanje podpira postopek naročanja v trgovinah, s čimer povečuje trajnost z zmanjševanjem zavržene hrane kot rezultat optimizacije prodaje z natančnim napovedovanjem potrebnih ravni zalog v trgovinah. To je bil popoln kraj za začetek našega prototipa – ne samo, da bi Axfood pridobil novo platformo AI/ML, ampak bi dobili tudi priložnost, da primerjamo naše zmogljivosti ML in se učimo od vodilnih strokovnjakov AWS.

Naša rešitev: Nova predloga ML na Amazon SageMaker Studio

Izgradnja celotnega cevovoda ML, ki je zasnovan za dejanski poslovni primer, je lahko izziv. V tem primeru razvijamo model napovedi, zato sta potrebna dva glavna koraka:

  1. Usposobite model za napovedovanje z uporabo zgodovinskih podatkov.
  2. Uporabite usposobljeni model za napovedi prihodnjih dogodkov.

V primeru Axfooda je bil dobro delujoč cevovod za ta namen že vzpostavljen z uporabo prenosnih računalnikov SageMaker in ga je vodila platforma za upravljanje poteka dela tretje osebe Airflow. Vendar pa obstaja veliko očitnih prednosti posodobitve naše platforme ML in prehoda na Amazon SageMaker Studio in Amazonski cevovodi SageMaker. Prehod na SageMaker Studio ponuja številne vnaprej določene funkcije:

  • Spremljanje modela in kakovosti podatkov ter razložljivosti modela
  • Vgrajena orodja za integrirano razvojno okolje (IDE), kot je odpravljanje napak
  • Spremljanje stroškov/izvedbe
  • Okvir sprejemljivosti modela
  • Register modelov

Vendar pa je najpomembnejša spodbuda za Axfood zmožnost ustvarjanja projektnih predlog po meri z uporabo Projekti Amazon SageMaker ki se uporablja kot načrt za vse skupine za podatkovno znanost in izvajalce ML. Ekipa Axfood je že imela robustno in zrelo raven modeliranja ML, zato je bil glavni poudarek na izgradnji nove arhitekture.

Pregled rešitev

Novo ogrodje ML, ki ga je predlagal Axfood, je strukturirano okoli dveh glavnih cevovodov: cevovod za izgradnjo modela in cevovod za sklepanje paketov:

  • Ti cevovodi imajo različico v dveh ločenih repozitorijih Git: enem repozitoriju gradnje in enem repozitoriju razmestitve (sklepanja). Skupaj tvorijo robusten cevovod za napovedovanje sadja in zelenjave.
  • Cevovodi so zapakirani v predlogo projekta po meri z uporabo SageMaker Projects v integraciji z repozitorijem Git tretje osebe (Bitbucket) in Bitbucket cevovodi za komponente neprekinjene integracije in neprekinjene uvedbe (CI/CD).
  • Predloga projekta SageMaker vključuje semensko kodo, ki ustreza vsakemu koraku cevovodov gradnje in uvajanja (o teh korakih bomo podrobneje razpravljali kasneje v tej objavi), kot tudi definicijo cevovoda – recept za izvajanje korakov.
  • Avtomatizacija gradnje novih projektov na podlagi predloge je poenostavljena Katalog storitev AWS, kjer se ustvari portfelj, ki služi kot abstrakcija za več izdelkov.
  • Vsak izdelek se prevede v Oblikovanje oblaka AWS predlogo, ki se uporabi, ko podatkovni znanstvenik ustvari nov projekt SageMaker z našim načrtom MLOps kot osnovo. To aktivira an AWS Lambda funkcija, ki ustvari projekt Bitbucket z dvema repozitorijema – gradnjo modela in uvedbo modela –, ki vsebuje semensko kodo.

Naslednji diagram ponazarja arhitekturo rešitve. Delovni tok A prikazuje zapleten tok med dvema cevovodoma modela – gradnjo in sklepanjem. Potek dela B prikazuje potek ustvarjanja novega projekta ML.

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

Cevovod za izgradnjo modela

Cevovod za gradnjo modela usklajuje življenjski cikel modela, začenši s predprocesiranjem, skozi usposabljanje in vrhunec z registracijo v registru modela:

  • Predobdelava – Tukaj, SageMaker ScriptProcessor razred se uporablja za inženiring funkcij, kar ima za posledico nabor podatkov, na katerem se bo model učil.
  • Usposabljanje in paketno preoblikovanje – Vsebniki za usposabljanje in sklepanje po meri iz SageMakerja so izkoriščeni za usposabljanje modela na zgodovinskih podatkih in ustvarjanje napovedi o podatkih vrednotenja z uporabo ocenjevalca in transformatorja SageMaker za ustrezne naloge.
  • Ocenjevanje – Usposobljeni model je podvržen ovrednotenju s primerjavo ustvarjenih napovedi o vrednotenih podatkih z osnovno resnico z uporabo ScriptProcessor.
  • Osnovna delovna mesta – Cevovod ustvari osnovne črte na podlagi statističnih podatkov v vhodnih podatkih. Te so bistvenega pomena za spremljanje podatkov in kakovosti modela, pa tudi za dodeljevanje funkcij.
  • Register modelov – Usposobljeni model je registriran za prihodnjo uporabo. Model bodo odobrili imenovani podatkovni znanstveniki za uvedbo modela za uporabo v proizvodnji.

Za proizvodna okolja se vnos podatkov in sprožilni mehanizmi upravljajo prek primarne orkestracije zračnega toka. Medtem se med razvojem cevovod aktivira vsakič, ko je v repozitorij Bitbucket za gradnjo modela uvedena nova potrditev. Naslednja slika prikazuje cevovod za gradnjo modela.

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

Cevovod paketnega sklepanja

Cevovod paketnega sklepanja obravnava fazo sklepanja, ki je sestavljena iz naslednjih korakov:

  • Predobdelava – Podatki so predhodno obdelani z uporabo ScriptProcessor.
  • Paketno preoblikovanje – Model uporablja vsebnik sklepanja po meri s transformatorjem SageMaker in generira napovedi glede na vhodne vnaprej obdelane podatke. Uporabljeni model je zadnji odobreni usposobljeni model v registru modelov.
  • naknadna obdelava – Napovedi so podvržene nizu korakov naknadne obdelave z uporabo ScriptProcessor.
  • Spremljanje – Neprekinjen nadzor dopolnjuje preverjanja odstopanj, povezanih s kakovostjo podatkov, kakovostjo modela in dodeljevanjem funkcij.

Če pride do neskladij, poslovna logika v skriptu za naknadno obdelavo oceni, ali je ponovno usposabljanje modela potrebno. Predvideno je, da bo plinovod potekal v rednih intervalih.

Naslednji diagram ponazarja cevovod paketnega sklepanja. Delovni tok A ustreza predprocesiranju, preverjanju odmika kakovosti podatkov in dodeljevanju funkcij, sklepanju in naknadni obdelavi. Potek dela B ustreza preverjanju odstopanja kakovosti modela. Ti cevovodi so razdeljeni, ker se bo preverjanje premikanja kakovosti modela izvajalo samo, če so na voljo novi podatki o resnici na terenu.

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

Model monitorja SageMaker

z Amazonski model monitorja SageMaker cevovodi imajo koristi od spremljanja v realnem času na naslednjem:

  • Kakovost podatkov – Spremlja kakršen koli zamik ali neskladja v podatkih
  • Kakovost modela – Opazuje morebitna nihanja v delovanju modela
  • Pripisovanje funkcij – Preverja odmik v atribucijah funkcij

Spremljanje kakovosti modela zahteva dostop do resničnih podatkov na terenu. Čeprav je pridobivanje temeljne resnice včasih lahko izziv, uporaba podatkov ali spremljanje odstopanja pripisovanja funkcij služi kot kompetenten približek kakovosti modela.

Natančneje, v primeru odstopanja kakovosti podatkov sistem pazi na naslednje:

  • Konceptni drift – To se nanaša na spremembe v korelaciji med vhodom in izhodom, kar zahteva temeljno resnico
  • Kovariatni premik – Tu je poudarek na spremembah v porazdelitvi neodvisnih vhodnih spremenljivk

Funkcionalnost premikanja podatkov SageMaker Model Monitor natančno zajame in natančno preuči vhodne podatke, uvaja pravila in statistične preglede. Opozorila se sprožijo vsakič, ko so odkrite anomalije.

Vzporedno z uporabo preverjanja odstopanja kakovosti podatkov kot približka za spremljanje degradacije modela sistem spremlja tudi odstopanje pripisovanja funkcij z uporabo normaliziranega diskontiranega kumulativnega dobitka (NDCG). Ta ocena je občutljiva tako na spremembe v vrstnem redu razvrščanja dodeljevanja funkcij kot tudi na neobdelane ocene atribucije funkcij. S spremljanjem premikanja pri dodeljevanju posameznih lastnosti in njihove relativne pomembnosti je preprosto opaziti poslabšanje kakovosti modela.

Razložljivost modela

Razložljivost modela je osrednji del uvajanja ML, saj zagotavlja preglednost pri napovedih. Za podrobnejše razumevanje uporabljamo Amazon SageMaker Pojasni.

Ponuja tako globalne kot lokalne razlage modela s tehniko dodeljevanja lastnosti, ki ni odvisna od modela, ki temelji na konceptu vrednosti Shapley. To se uporablja za dekodiranje, zakaj je bila določena napoved narejena med sklepanjem. Takšne razlage, ki so same po sebi kontrastne, se lahko razlikujejo glede na različna izhodišča. SageMaker Clarify pomaga pri določanju te osnovne linije z uporabo K-povprečij ali K-prototipov v vhodnem nizu podatkov, ki se nato doda v cevovod za gradnjo modela. Ta funkcionalnost nam omogoča, da v prihodnosti zgradimo generativne aplikacije AI za boljše razumevanje delovanja modela.

Industrializacija: od prototipa do proizvodnje

Projekt MLOps vključuje visoko stopnjo avtomatizacije in lahko služi kot načrt za podobne primere uporabe:

  • Infrastrukturo je mogoče v celoti ponovno uporabiti, medtem ko je semensko kodo mogoče prilagoditi za vsako nalogo, pri čemer je večina sprememb omejena na definicijo cevovoda in poslovno logiko za predprocesiranje, usposabljanje, sklepanje in naknadno procesiranje.
  • Skripte za usposabljanje in sklepanje gostijo vsebniki po meri SageMaker, tako da je mogoče prilagoditi različne modele brez sprememb podatkov in korakov spremljanja modela ali razložljivosti modela, če so podatki v obliki tabele.

Po končanem delu na prototipu smo se posvetili temu, kako ga uporabiti v proizvodnji. Da bi to naredili, smo čutili potrebo po nekaj dodatnih prilagoditvah predloge MLOps:

  • Izvirna semenska koda, uporabljena v prototipu za predlogo, je vključevala korake predprocesiranja in naknadne obdelave, ki se izvajajo pred in po osnovnih korakih ML (usposabljanje in sklepanje). Vendar pa lahko pri povečanju za uporabo predloge za več primerov uporabe v produkciji vgrajeni koraki predprocesiranja in naknadne obdelave povzročijo zmanjšano splošnost in reprodukcijo kode.
  • Da bi izboljšali splošnost in čim bolj zmanjšali ponavljajočo se kodo, smo se odločili še bolj zmanjšati cevovode. Namesto izvajanja korakov predprocesiranja in naknadne obdelave kot dela cevovoda ML, jih izvajamo kot del primarne orkestracije zračnega toka pred in po sprožitvi cevovoda ML.
  • Na ta način so naloge obdelave, specifične za posamezne primere uporabe, povzete iz predloge in kar ostane, je osrednji cevovod ML, ki izvaja naloge, ki so splošne v več primerih uporabe z minimalnim ponavljanjem kode. Parametri, ki se razlikujejo med primeri uporabe, so dobavljeni kot vhod v cevovod ML iz primarne orkestracije zračnega toka.

Rezultat: hiter in učinkovit pristop k izgradnji in uvajanju modela

Rezultat prototipa v sodelovanju z AWS je predloga MLOps v skladu s trenutnimi najboljšimi praksami, ki je zdaj na voljo za uporabo vsem skupinam za podatkovno znanost podjetja Axfood. Z ustvarjanjem novega projekta SageMaker znotraj SageMaker Studio lahko podatkovni znanstveniki hitro začnejo z novimi projekti ML in nemoteno preidejo v proizvodnjo, kar omogoča učinkovitejše upravljanje časa. To je mogoče z avtomatizacijo dolgočasnih, ponavljajočih se nalog MLOps kot dela predloge.

Poleg tega je bilo našim nastavitvam ML samodejno dodanih več novih funkcij. Ti dobički vključujejo:

  • Spremljanje modela – Izvajamo lahko preverjanja premika za model in kakovost podatkov ter razložljivost modela
  • Model in podatkovna linija – Zdaj je mogoče natančno izslediti, kateri podatki so bili uporabljeni za kateri model
  • Register modelov – To nam pomaga katalogizirati modele za proizvodnjo in upravljati različice modelov

zaključek

V tej objavi smo razpravljali o tem, kako je Axfood izboljšal delovanje in razširljivost naših obstoječih operacij AI in ML v sodelovanju s strokovnjaki AWS ter z uporabo SageMakerja in z njim povezanih izdelkov.

Te izboljšave bodo pomagale Axfoodovim skupinam za podatkovno znanost pri gradnji delovnih tokov ML na bolj standardiziran način in bodo močno poenostavile analizo in spremljanje modelov v proizvodnji – zagotavljanje kakovosti modelov ML, ki jih gradijo in vzdržujejo naše ekipe.

V razdelku za komentarje pustite povratne informacije ali vprašanja.


O avtorjih

How Axfood enables accelerated machine learning throughout the organization using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Björn Blomqvist je vodja strategije AI pri Axfood AB. Preden se je pridružil podjetju Axfood AB, je vodil skupino podatkovnih znanstvenikov v podjetju Dagab, delu podjetja Axfood, ki je gradilo inovativne rešitve za strojno učenje z nalogo zagotoviti dobro in trajnostno hrano ljudem po vsej Švedski. Björn, rojen in odraščal na severu Švedske, se v prostem času odpravi v zasnežene gore in odprta morja.

How Axfood enables accelerated machine learning throughout the organization using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Oskar Klang je višji podatkovni znanstvenik na oddelku za analitiko v Dagabu, kjer uživa v delu z vsemi analitiki in strojnim učenjem, npr. optimizacijo operacij dobavne verige, gradnjo modelov napovedovanja in v zadnjem času z aplikacijami GenAI. Predan je izgradnji bolj poenostavljenih cevovodov strojnega učenja, izboljšanju učinkovitosti in razširljivosti.

How Axfood enables accelerated machine learning throughout the organization using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Pavel Maslov je višji inženir DevOps in ML v skupini za analitične platforme. Pavel ima bogate izkušnje z razvojem ogrodij, infrastrukture in orodij na področju DevOps in ML/AI na platformi AWS. Pavel je bil eden ključnih igralcev pri gradnji temeljnih zmogljivosti znotraj ML pri Axfood.

How Axfood enables accelerated machine learning throughout the organization using Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Joakim Berg je vodja ekipe in lastnik produktnih analitičnih platform s sedežem v Stockholmu na Švedskem. Vodi ekipo inženirjev podatkovne platforme in DevOps/MLOps, ki zagotavlja platforme Data in ML za ekipe Data Science. Joakim ima dolgoletne izkušnje z vodenjem višjih razvojnih in arhitekturnih ekip iz različnih panog.

Časovni žig:

Več od Strojno učenje AWS