Generatiivinen tiedustelu

Kuinka Axfood mahdollistaa nopeutetun koneoppimisen koko organisaatiossa Amazon SageMakerin avulla Amazon Web Services

Treffi:

Tämä on Axfood AB:n kirjoittama vieraspostaus. 

Tässä postauksessa kerromme, kuinka suuri ruotsalainen ruokakauppias Axfood paransi olemassa olevien tekoäly- (AI) ja koneoppimistoimintojensa skaalautuvuutta prototyyppien avulla läheisessä yhteistyössä AWS-asiantuntijoiden kanssa ja Amazon Sage Maker.

Axfood on Ruotsin toiseksi suurin elintarvikkeiden jälleenmyyjä, jolla on yli 13,000 300 työntekijää ja yli XNUMX myymälää. Axfoodilla on rakenne, jossa on useita hajautettuja datatieteen tiimejä eri vastuualueilla. Yhdessä keskustietoalustatiimin kanssa datatieteen tiimit tuovat innovaatiota ja digitaalista muutosta AI- ja ML-ratkaisujen kautta organisaatioon. Axfood on käyttänyt Amazon SageMakeria tietojensa kasvattamiseen ML:n avulla, ja sillä on ollut malleja tuotannossa useiden vuosien ajan. Viime aikoina kehittyneisyys ja tuotannossa olevien mallien määrä on kasvanut eksponentiaalisesti. Vaikka innovaatiovauhti on nopea, eri tiimit olivat kehittäneet omat työskentelytapansa ja etsivät uutta MLOps:n parasta käytäntöä.

Meidän haasteemme

Pysyäkseen kilpailukykyisenä pilvipalvelujen ja AI/ML:n suhteen Axfood valitsi kumppanin AWS:n kanssa ja on tehnyt yhteistyötä heidän kanssaan useiden vuosien ajan.

Yhdessä AWS:n kanssa toistuvissa aivoriihissämme keskustelimme siitä, kuinka tehdä tiimien välinen yhteistyö parhaalla mahdollisella tavalla lisätäksemme tietotieteen ja ML-harjoittajien innovaatiotahtia ja tehokkuutta. Päätimme ponnistella yhdessä rakentaaksemme prototyypin MLO:n parhaiden käytäntöjen pohjalta. Prototyypin tavoitteena oli rakentaa mallipohja kaikille datatieteen ryhmille skaalautuvien ja tehokkaiden ML-mallien rakentamiseksi – perusta Axfoodin uuden sukupolven tekoäly- ja ML-alustoille. Mallin tulee yhdistää ja yhdistää AWS ML -asiantuntijoiden parhaat käytännöt ja yrityskohtaiset parhaiden käytäntöjen mallit – molempien maailmojen parhaat puolet.

Päätimme rakentaa prototyypin yhdestä Axfoodin tällä hetkellä kehittyneimmistä ML-malleista: myynnin ennustaminen myymälöissä. Tarkemmin sanottuna elintarvikekauppojen tulevien kampanjoiden hedelmien ja vihannesten ennuste. Tarkka päivittäinen ennuste tukee myymälöiden tilausprosessia ja lisää kestävyyttä minimoimalla ruokahävikkiä, mikä johtaa myynnin optimointiin ennustamalla tarkasti myymälässä tarvittavat varastotasot. Tämä oli täydellinen paikka aloittaa prototyypillämme – Axfood ei vain hankkisi uutta AI/ML-alustaa, vaan saisi myös mahdollisuuden vertailla ML-kykyämme ja oppia johtavilta AWS-asiantuntijoilta.

Ratkaisumme: Uusi ML-malli Amazon SageMaker Studiossa

Varsinaiseen liiketoimintaan suunnitellun täyden ML-putkilinjan rakentaminen voi olla haastavaa. Tässä tapauksessa kehitämme ennustemallia, joten sinun on suoritettava kaksi päävaihetta:

  1. Kouluta malli tekemään ennusteita historiatietojen perusteella.
  2. Käytä koulutettua mallia tulevien tapahtumien ennustamiseen.

Axfoodin tapauksessa hyvin toimiva putki tähän tarkoitukseen perustettiin jo SageMaker-kannettavilla ja ohjasi kolmannen osapuolen työnkulunhallinta-alusta Airflow. ML-alustamme modernisoinnissa ja siihen siirtymisessä on kuitenkin monia selkeitä etuja Amazon SageMaker Studio ja Amazon SageMaker -putkistot. Siirtyminen SageMaker Studioon tarjoaa monia valmiita valmiita ominaisuuksia:

  • Mallin ja tiedon laadun seuranta sekä mallin selitettävyys
  • Sisäänrakennetut integroidun kehitysympäristön (IDE) työkalut, kuten virheenkorjaus
  • Kustannusten/suorituskyvyn seuranta
  • Mallin hyväksymiskehys
  • Mallin rekisteri

Axfoodin tärkein kannustin on kuitenkin kyky luoda mukautettuja projektimalleja käyttämällä Amazon SageMaker -projektit käytettäväksi suunnitelmana kaikille datatieteen ryhmille ja ML:n harjoittajille. Axfood-tiimillä oli jo vankka ja kypsä ML-mallinnuksen taso, joten pääpaino oli uuden arkkitehtuurin rakentamisessa.

Ratkaisun yleiskatsaus

Axfoodin ehdottama uusi ML-kehys rakentuu kahden pääputken ympärille: mallin rakentamisliukuhihna ja eräpäätelmäliukuhihna:

  • Nämä putkistot on versioitu kahdessa erillisessä Git-tietovarastossa: yksi koontitietovarasto ja toinen käyttöönotto (päätelmä) -tietovarasto. Yhdessä ne muodostavat vankan putkilinjan hedelmien ja vihannesten ennustamiseen.
  • Putket pakataan mukautettuun projektimalliin käyttämällä SageMaker Projects -projekteja integroituna kolmannen osapuolen Git-tietovaraston (Bitbucket) ja Bitbucket-putkilinjojen kanssa jatkuvaa integrointia ja jatkuvaa käyttöönottoa (CI/CD) varten.
  • SageMaker-projektimalli sisältää siemenkoodin, joka vastaa kutakin rakentamis- ja käyttöönottovaihetta (käsittelemme näitä vaiheita yksityiskohtaisemmin myöhemmin tässä viestissä) sekä putkilinjan määritelmän - reseptin vaiheiden suorittamiseen.
  • Uusien projektien rakentamisen automatisointi mallipohjaan on virtaviivaistettu AWS-palveluluettelo, jossa luodaan portfolio, joka toimii abstraktiona useille tuotteille.
  • Jokainen tuote tarkoittaa AWS-pilven muodostuminen malli, joka otetaan käyttöön, kun datatieteilijä luo uuden SageMaker-projektin, jonka perustana on MLOps-suunnitelmamme. Tämä aktivoi an AWS Lambda toiminto, joka luo Bitbucket-projektin, jossa on kaksi tietovarastoa – mallin rakennus ja mallin käyttöönotto – jotka sisältävät siemenkoodin.

Seuraava kaavio havainnollistaa ratkaisun arkkitehtuuria. Työnkulku A kuvaa monimutkaista kulkua kahden malliputken välillä – rakentaminen ja päättely. Työnkulku B näyttää kulun uuden ML-projektin luomiseksi.

Mallin rakentamisputki

Mallin rakennusputkilinja ohjaa mallin elinkaaren esikäsittelystä alkaen, koulutuksen läpi kulkemiseen ja huipentuu mallirekisteriin rekisteröintiin:

  • esikäsittely – Tässä, SageMaker ScriptProcessor luokkaa käytetään ominaisuussuunnitteluun, jolloin saadaan tietojoukko, johon mallia opetetaan.
  • Koulutus ja erämuutos – SageMakerin mukautettuja koulutus- ja päättelysäilöjä valjastetaan kouluttamaan mallia historiallisten tietojen perusteella ja luomaan ennusteita arviointitiedoista käyttämällä SageMaker Estimator ja Transformer vastaavia tehtäviä.
  • Arviointi – Koulutettu malli käy läpi arvioinnin vertaamalla arviointitiedoista luotuja ennusteita pohjatotuuteen käyttämällä ScriptProcessor.
  • Perustyöt – Liukulinja luo perusviivat syöttötietojen tilastojen perusteella. Nämä ovat välttämättömiä tietojen ja mallien laadun sekä ominaisuuksien määrittämisen seurannassa.
  • Mallin rekisteri – Koulutettu malli rekisteröidään myöhempää käyttöä varten. Nimetyt datatutkijat hyväksyvät mallin ottamaan mallin käyttöön tuotannossa.

Tuotantoympäristöissä tiedonkeruu- ja laukaisumekanismeja hallitaan ensisijaisen Airflow-orkesterin kautta. Sillä välin kehitystyön aikana liukuhihna aktivoituu aina, kun mallin koonti Bitbucket -tietovarastoon otetaan käyttöön uusi sitoumus. Seuraavassa kuvassa havainnollistetaan mallin rakennusprosessia.

Eräpäättelyputki

Eräpäättelyliukuhihna käsittelee päättelyvaiheen, joka koostuu seuraavista vaiheista:

  • esikäsittely – Tiedot esikäsitellään käyttämällä ScriptProcessor.
  • Erämuunnos – Malli käyttää mukautettua päättelysäilöä SageMaker Transformerin kanssa ja luo ennusteita syötettyjen esikäsiteltyjen tietojen perusteella. Käytetty malli on viimeisin hyväksytty koulutettu malli mallirekisterissä.
  • Jälkikäsittelyä – Ennusteet läpikäyvät sarjan jälkikäsittelyvaiheita käyttämällä ScriptProcessor.
  • Seuranta – Jatkuva valvonta suorittaa tarkistukset tietojen laatuun, mallien laatuun ja ominaisuuksien määritykseen liittyvien poikkeamien varalta.

Jos poikkeavuuksia ilmenee, jälkikäsittelyskriptin liiketoimintalogiikka arvioi, onko mallin uudelleenkoulutus tarpeen. Putkilinjan on määrä kulkea säännöllisin väliajoin.

Seuraava kaavio havainnollistaa eräpäätelmäliukulinjaa. Työnkulku A vastaa esikäsittelyä, tietojen laatua ja ominaisuuksien attribuutiotarkistuksia, päätelmiä ja jälkikäsittelyä. Työnkulku B vastaa mallin laadun poikkeaman tarkastuksia. Nämä putkistot on jaettu, koska mallin laadun poikkeaman tarkistus suoritetaan vain, jos uutta pohjatotuustietoa on saatavilla.

SageMaker-mallimonitori

Kanssa Amazon SageMaker -mallimonitori integroituna, putkistot hyötyvät reaaliaikaisesta seurannasta seuraavissa asioissa:

  • Tietojen laatu – Valvoo tietojen ajautumista tai epäjohdonmukaisuuksia
  • Mallin laatu – Varoittaa mahdollisista mallin suorituskyvyn vaihteluista
  • Ominaisuuden attribuutio – Tarkistaa ominaisuusmääritteiden ajautumisen

Mallin laadun seuranta vaatii pääsyn perustotuustietoihin. Vaikka pohjatotuuden saaminen voi olla toisinaan haastavaa, datan tai ominaisuuden attribuutioliikkeen seuranta toimii mallin laadun pätevänä välityspalvelimena.

Erityisesti tietojen laadun poikkeaman tapauksessa järjestelmä tarkkailee seuraavia asioita:

  • Käsite drift – Tämä koskee muutoksia tulon ja lähdön välisessä korrelaatiossa, mikä edellyttää pohjatotuutta
  • Kovariaattisiirtymä – Tässä painopiste on riippumattomien syöttömuuttujien jakauman muutoksissa

SageMaker Model Monitorin tiedonsiirtotoiminto kaappaa ja tutkii syöttötiedot huolellisesti ja ottaa käyttöön sääntöjä ja tilastotarkistuksia. Hälytykset annetaan aina, kun poikkeavuuksia havaitaan.

Samanaikaisesti, kun datan laadun poikkeaman tarkistuksia käytetään mallin huononemisen seurantaan, järjestelmä tarkkailee myös ominaisuuksien attribuutiopoikkeamista käyttämällä normalisoitua diskontattua kumulatiivista vahvistusta (NDCG). Tämä pistemäärä on herkkä sekä ominaisuuksien attribuutiojärjestyksen muutoksille että ominaisuuksien raaka-arvopisteille. Tarkkailemalla yksittäisten ominaisuuksien ja niiden suhteellista tärkeyttä tapahtuvaa eroa on helppo havaita mallin laadun heikkeneminen.

Mallin selitettävyys

Mallin selitettävyys on keskeinen osa ML-käyttöönottoa, koska se varmistaa ennusteiden läpinäkyvyyden. Yksityiskohtaista ymmärtämistä varten käytämme Amazon SageMaker selkeyttää.

Se tarjoaa sekä globaaleja että paikallisia malliselityksiä Shapleyn arvokonseptiin perustuvan malliagnostisen ominaisuuden attribuutiotekniikan avulla. Tätä käytetään purkamaan, miksi tietty ennuste tehtiin päättelyn aikana. Tällaiset selitykset, jotka ovat luonnostaan ​​vastakkaisia, voivat vaihdella eri lähtökohtien mukaan. SageMaker Clarify auttaa määrittämään tämän lähtötason käyttämällä K-keskiarvoja tai K-prototyyppejä syöttötietojoukossa, joka lisätään sitten mallin rakennusprosessiin. Tämän toiminnon avulla voimme rakentaa generatiivisia tekoälysovelluksia tulevaisuudessa parantaaksemme ymmärrystä mallin toiminnasta.

Teollistuminen: prototyypistä tuotantoon

MLOps-projekti sisältää korkeatasoista automaatiota, ja se voi toimia mallina vastaaviin käyttötapauksiin:

  • Infrastruktuuria voidaan käyttää kokonaan uudelleen, kun taas siemenkoodi voidaan mukauttaa jokaiseen tehtävään, useimmat muutokset rajoittuvat putkilinjan määrittelyyn ja esikäsittelyn, koulutuksen, päättelyn ja jälkikäsittelyn liiketoimintalogiikkaan.
  • Harjoittelu- ja päättelykomentosarjat isännöidään käyttämällä mukautettuja SageMaker-säilöjä, joten useita malleja voidaan mukauttaa ilman muutoksia tietojen ja mallien seurantaan tai mallin selitettävyysvaiheisiin, kunhan tiedot ovat taulukkomuodossa.

Prototyypin työskentelyn jälkeen siirryimme siihen, miten sitä pitäisi käyttää tuotannossa. Tätä varten katsoimme, että MLOps-malliin on tehtävä joitain lisäsäätöjä:

  • Mallin prototyypissä käytetty alkuperäinen siemenkoodi sisälsi esikäsittely- ja jälkikäsittelyvaiheet, jotka suoritettiin ennen ja jälkeen ML-ydinvaiheita (koulutus ja päättely). Kuitenkin, kun skaalataan mallin käyttöä useisiin tuotantotapauksiin, sisäänrakennetut esi- ja jälkikäsittelyvaiheet voivat johtaa koodin yleisyyden ja toiston heikkenemiseen.
  • Parantaaksemme yleisyyttä ja minimoidaksemme toistuvan koodin, päätimme supistaa putkistoja entisestään. Sen sijaan, että suorittaisimme esikäsittely- ja jälkikäsittelyvaiheet osana ML-putkilinjaa, suoritamme ne osana ensisijaista Airflow-orkestrointia ennen ML-putkilinjan käynnistämistä ja sen jälkeen.
  • Tällä tavalla käyttötapauskohtaiset käsittelytehtävät irrotetaan mallista, ja jäljelle jää ydin-ML-liukuhihna, joka suorittaa tehtäviä, jotka ovat yleisiä useissa käyttötapauksissa ja joissa koodia toistetaan mahdollisimman vähän. Parametrit, jotka vaihtelevat käyttötapauksissa, syötetään ML-putkistoon ensisijaisesta Airflow-orkestraatiosta.

Tulos: Nopea ja tehokas lähestymistapa mallin rakentamiseen ja käyttöönottoon

Prototyyppi yhteistyössä AWS:n kanssa on johtanut nykyisten parhaiden käytäntöjen mukaiseen MLOps-malliin, joka on nyt kaikkien Axfoodin tietotieteiden tiimien käytettävissä. Luomalla uuden SageMaker-projektin SageMaker Studiossa datatieteilijät voivat aloittaa uusien ML-projektien nopeasti ja saumattomasti tuotantoon, mikä mahdollistaa tehokkaamman ajanhallinnan. Tämä on mahdollista automatisoimalla tylsiä, toistuvia MLOps-tehtäviä osana mallia.

Lisäksi useita uusia toimintoja on lisätty automaattisella tavalla ML-asetuksiin. Näitä etuja ovat:

  • Mallin seuranta – Voimme tehdä mallien ja tietojen laadun sekä mallin selitettävyyden drift-tarkastuksia
  • Malli ja datalinja – Nyt on mahdollista jäljittää tarkasti, mitä tietoja millekin mallille on käytetty
  • Mallin rekisteri – Tämä auttaa meitä luetteloimaan tuotantomalleja ja hallitsemaan malliversioita

Yhteenveto

Tässä viestissä keskustelimme siitä, kuinka Axfood paransi olemassa olevien tekoäly- ja ML-toimintojemme toimintaa ja skaalautuvuutta yhteistyössä AWS-asiantuntijoiden kanssa ja käyttämällä SageMakeria ja siihen liittyviä tuotteita.

Nämä parannukset auttavat Axfoodin datatieteen tiimejä rakentamaan ML-työnkulkuja standardoidummin ja yksinkertaistavat huomattavasti tuotannossa olevien mallien analysointia ja seurantaa – varmistaen tiimiemme rakentamien ja ylläpitämien ML-mallien laadun.

Jätä palautetta tai kysymyksiä kommenttiosioon.


Tietoja Tekijät

Tohtori Björn Blomqvist on Axfood AB:n tekoälystrategian johtaja. Ennen siirtymistään Axfood AB:hen hän johti Data Scientists -tiimiä Dagabissa, joka on osa Axfoodia. He rakensivat innovatiivisia koneoppimisratkaisuja tavoitteenaan tarjota hyvää ja kestävää ruokaa ihmisille kaikkialla Ruotsissa. Pohjois-Ruotsissa syntynyt ja kasvanut Björn uskaltaa vapaa-ajallaan lumisille vuorille ja avomerille.

Oskar Klang on Senior Data Scientist Dagabin analytiikkaosastolla, jossa hän nauttii työskentelystä kaiken analytiikan ja koneoppimisen parissa, kuten toimitusketjun toimintojen optimoinnissa, ennustemallien rakentamisessa ja viime aikoina myös GenAI-sovelluksissa. Hän on sitoutunut rakentamaan virtaviivaisempia koneoppimisputkia tehostaen tehokkuutta ja skaalautuvuutta.

Pavel Maslov on vanhempi DevOps- ja ML-insinööri Analytic Platforms -tiimissä. Pavelilla on laaja kokemus kehysten, infrastruktuurin ja työkalujen kehittämisestä DevOps- ja ML/AI-alueilla AWS-alustalla. Pavel on ollut yksi avaintoimijoista ML:n perustavanlaatuisten valmiuksien rakentamisessa Axfoodissa.

Joakim Berg on tiimin johtajan ja tuotteen omistajan analyyttinen alusta, joka sijaitsee Tukholmassa Ruotsissa. Hän johtaa joukkoa Data Platform -päätteistä DevOps/MLOps-insinöörejä, jotka tarjoavat data- ja ML-alustoja Data Science -tiimeille. Joakimilla on useiden vuosien kokemus johtavista kehitys- ja arkkitehtuuriryhmistä eri toimialoilta.

spot_img

Uusin älykkyys

spot_img