How Yara is using MLOps features of Amazon SageMaker to scale energy optimization across their ammonia plants PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Kako Yara uporablja funkcije MLOps Amazon SageMaker za povečanje optimizacije energije v svojih obratih za amoniak

Yara je vodilno svetovno podjetje za prehrano rastlin in ponudnik okoljskih in kmetijskih rešitev. Yarina ambicija je osredotočena na rast do narave pozitivne prehrambene prihodnosti, ki ustvarja vrednost za stranke, delničarje in širšo družbo ter zagotavlja bolj trajnostno vrednostno verigo hrane. Yara podpira našo vizijo sveta brez lakote in spoštovanega planeta, sledi strategiji trajnostne rasti vrednosti, spodbuja podnebju prijazno prehrano pridelkov in energetske rešitve brez emisij. Yara je tudi največji svetovni proizvajalec amoniaka, nitratov in NPK gnojila. Njihov proizvodni segment je torej sestavni gradnik za uresničevanje njihovega poslanstva – z jasno izraženo ambicijo, da postanejo vodilni v svetu glede meritev, kot so varnost, okoljski odtis, kakovost in proizvodni stroški. Yarin dolgoročni cilj je »tovarna prihodnosti« z ničelnimi emisijami in nizkimi stroški.

Na podlagi vitke preobrazbe se Yara osredotoča na digitalne rešitve, da jim pomaga doseči njihove ambicije. Za vodenje tega prizadevanja je Yara ustanovila globalno enoto, imenovano Digitalna produkcija. Uspeh digitalne produkcije in njenih rešitev je ključna prednostna naloga za Yaro in Yara je znatno povečala svoja prizadevanja na tem področju. Ključno osredotočeno področje je izkoristiti ogromno količino podatkov, ustvarjenih kot del njihovega delovanja. Zato Yara gradi izdelke, ki temeljijo na podatkih, ki jim pomagajo optimizirati proizvodnjo, povečati kakovost izdelkov, povečati zanesljivost proizvodnih mest, zmanjšati emisije, povečati varnost in produktivnost delavcev, avtomatizirati ročne procese itd.

Energija je glavna stroškovna komponenta za številne proizvodne obrate; zato ima energetska učinkovitost velik vpliv na donosnost. Vendar pa pogosto primanjkuje trdnih referenc o tem, kako izgleda dobra uspešnost in kako do nje priti. Yarina krivulja energetske obremenitve (ELC) je rešitev, ki uporablja najboljšo zgodovinsko zmogljivost pri porabi energije v primerjavi s trenutno zmogljivostjo. Če trenutna poraba preveč odstopa od zgodovinske najboljše, orodje daje priporočila operaterjem za usmerjanje porabe energije.

Za uvedbo ELC v proizvodne obrate in njeno razširitev na več lokacij po vsem svetu je morala Yara zgraditi platformo MLOps. To bi zagotovilo, da bo Yara zanesljivo in učinkovito usposabljala, uvajala in vzdrževala modele. Poleg tega je morala Yara za razširitev na več spletnih mest avtomatizirati postopke uvajanja in vzdrževanja. V tej objavi razpravljamo o tem, kako Yara uporablja Amazon SageMaker funkcije, vključno z registrom modelov, Amazonski model monitorja SageMakerin Amazonski cevovodi SageMaker za racionalizacijo življenjskega cikla strojnega učenja (ML) z avtomatizacijo in standardizacijo praks MLOps. Nudimo pregled nastavitev, ki prikazuje proces gradnje, usposabljanja, uvajanja in spremljanja modelov ML za obrate po vsem svetu.

Pregled rešitve

ELC uporablja podatke senzorjev interneta stvari (IoT) iz obrata. Ti senzorji merijo metrike, kot so proizvodni pretok, okoljski pogoji in pogoji surovin itd. Ti podatki se uporabljajo za usposabljanje modela napovedi energije, ki se nato uporabi za ustvarjanje urnih napovedi. Upravljavci elektrarn spremljajo dejansko porabo energije in jo primerjajo z optimalno porabo, kot jo predvideva ELC. Če trenutna poraba energije preveč odstopa od optimalne točke, ELC zagotovi ukrep za prilagoditev notranjih procesnih spremenljivk za optimizacijo energetske učinkovitosti na podlagi analitičnih modelov.

ELC gostuje v oblaku. Za pretakanje senzorskih podatkov iz obrata v realnem času Yara uporablja AWS IoT Zelena trava za varno komunikacijo AWS IoT jedro in izvoz IoT podatkov v oblak AWS. AWS IoT SiteWise je upravljana storitev, ki lahko zbira, organizira, išče in uporablja podatke o opremi iz industrijske opreme v velikem obsegu. Yara je zgradila API-je z uporabo Amazon API Gateway za izpostavitev podatkov senzorja aplikacijam, kot je ELC.

Zaledje aplikacije ELC je nameščeno prek Amazon ECS in poganja nadzorne plošče ELC na sprednji strani, ki jih uporabljajo upravljavci obratov. Aplikacija ELC je odgovorna za zagotavljanje urnih predvidenih meritev porabe energije operaterjem elektrarn. Vsaka naprava je opremljena s svojim modelom, ker se njihove energijske lastnosti razlikujejo. Poleg tega so rastline razvrščene v različne regije AWS glede na njihovo lokacijo.

Naslednji diagram prikazuje to arhitekturo.

Za gradnjo ELC in prilagajanje na več obratov smo potrebovali rešitev MLOps, ki podpira naslednje:

  • Prilagodljivost – Lahko se spreminja glede na količino podatkov. Nekatere rastline proizvedejo več podatkov kot druge; vsak obrat lahko proizvede več gigabajtov podatkov na dan.
  • Razširljivost – Lahko se uvede v nove regije in račune.
  • Ponovljivost – Ima običajne predloge, ki jih lahko uporabimo za vključitev novega obrata.
  • prilagodljivost – Lahko spremeni konfiguracijo uvajanja glede na potrebe posameznega obrata.
  • Zanesljivost in spremljanje – Lahko izvaja teste in ima jasen vpogled v stanje vseh aktivnih rastlin. V primeru okvare se lahko vrne v prejšnje stabilno stanje.
  • vzdrževanje – Rešitev mora imeti nizke stroške vzdrževanja. Kjer je mogoče, mora uporabljati storitve brez strežnika, da zmanjša infrastrukturni odtis.

Za ML se je Yara odločila uporabiti SageMaker. SageMaker je popolnoma upravljana storitev, ki pokriva celoten potek dela ML. Pri izbiri SageMakerja so bile ključne naslednje lastnosti:

  • Okvirni vsebniki SageMaker – Yara je usposobila napovedne modele ELC na TensorFlow in z okvirnimi vsebniki SageMaker je Yara lahko dvignila in premaknila te modele z minimalnimi spremembami kode v SageMaker.
  • SageMaker cevovodi – SageMaker Pipelines ponuja vmesnik Python za podatkovne znanstvenike za pisanje cevovodov ML. Velik del kode ELC je sestavljen iz cevovoda za usposabljanje in sklepanja, ki sta definirana v Pythonu.
  • Register modelov SageMaker – Register modelov SageMaker omogoča katalogizacijo in nadzor modelov. Poleg tega olajša upravljanje metapodatkov modela, kot so meritve usposabljanja.
  • Model monitorja SageMaker – Yara je želela spremljati kakovost in porazdelitev vhodnih podatkov ter učinkovitost modela ELC. API-ji SageMaker Model Monitor ponujajo spremljanje kakovosti podatkov in modelov.

Yara uporablja za upravljanje stalne integracije in stalne dostave (CI/CD) za cevovode ML Amazon Deployment Framework (ADF). ADF je odprtokodno ogrodje, ki ga je razvil AWS za upravljanje in uvajanje virov v več računih AWS in regijah znotraj organizacije AWS. ADF omogoča postopno, vzporedno, več računov in medregijsko uvajanje aplikacij ali virov prek strukture, opredeljene v AWS organizacije, pri tem pa izkoristiti storitve kot npr AWS CodePipeline, AWS CodeBuild, AWS CodeCommitin Oblikovanje oblaka AWS za olajšanje dvigovanja težkih predmetov in upravljanja v primerjavi s tradicionalno nastavitvijo CI/CD.

Pregled rešitev

Celotna rešitev za platformo MLOps je bila zgrajena v dveh mesecih v sodelovanju z Strokovne storitve AWS. Ekipo, ki je delala na projektu, so sestavljali podatkovni znanstveniki, podatkovni inženirji in strokovnjaki za DevOps. Yara se je odločila za hitrejši razvoj v okolju z več ekipami AWS Landing Zone in organizacije za centralno ustvarjanje, upravljanje in upravljanje različnih računov AWS. Na primer, Yara ima osrednji račun za uvajanje in uporablja račune delovne obremenitve za gostovanje poslovnih aplikacij. ELC je primer uporabe optimizacije procesa in je uveden za optimizacijo računov delovne obremenitve. Ekipa Yara Digital Production dela tudi na primerih uporabe ML na drugih področjih poleg optimizacije. Ogrodje MLOps podpira uvajanje v vse račune delovne obremenitve, če so računi ustvarjeni prek organizacij.

Naslednji diagram prikazuje to arhitekturo.

Organizacije za nastavitev računa

Uporaba računa osrednje uvedbe olajša upravljanje skupnih artefaktov in cevovodov CI/CD. Kar zadeva upravljanje dostopa in varnost teh pogostih artefaktov, je to enostavnejša zasnova, ker se meje dovoljenj in šifrirni ključi upravljajo centralno na enem mestu. V naslednjih razdelkih vas vodimo skozi korake, ki so potrebni za vključitev novega primera uporabe v Yarino platformo MLOps.

Kar zadeva strategijo računa, ima Yara nastavitev peskovnika, DEV, TEST in PROD. Račun peskovnika se uporablja za eksperimentiranje in preizkušanje novih idej. Račun DEV je izhodišče cevovodov CI/CD in ves razvoj se začne tukaj. Račun za uvedbo vsebuje definicijo cevovoda CI/CD in je zmožen uvajanja v račune DEV, TEST in PROD. Ta nastavitev računa je prikazana na naslednji sliki.

Nastavitev računa MLOps

Vkrcanje na nov primer uporabe

Za to objavo predvidevamo, da imamo delujoč prototip primera uporabe, zdaj pa ga želimo operacionalizirati. V primeru, da ta primer uporabe spada v področje novega izdelka, moramo najprej omogočiti račune z uporabo organizacij, kar samodejno sproži ADF za zagon teh računov za uvedbo. Yara sledi strategiji računa DEV>TEST>PROD; vendar ta konfiguracija ni obvezna. Podatkovni računi razkrivajo API-je za dostop do podatkov in za nov primer uporabe je treba dodeliti potrebne vloge AWS upravljanje identitete in dostopa (IAM), da lahko dostopajo do podatkovnih API-jev.

Nato moramo definirati, v katere račune je ta primer uporabe razporejen. To se izvede z uporabo načrta razmestitve v ADF. Zemljevid razmestitve je konfiguracijska datoteka, ki vsebuje preslikavo stopenj in ciljev za cevovod. Za zagon zemljevida razmestitve ADF uporablja CodePipeline. ADF zagotavlja prilagodljivost za upravljanje parametrov glede na ciljno okolje, v katerem je sklad nameščen. To olajša upravljanje uvajanj in testiranje z manjšimi primerki.

Za šifriranje vseh artefaktov, kot so koda, podatki in datoteke modela, ustvarimo datoteko AWS Service Key Management (AWS KMS). Uporabite lahko tudi šifriranje na strani strežnika. Ker pa je do nekaterih ustvarjenih artefaktov dostopno prek več računov, moramo ustvariti lasten ključ in upravljati njegove pravilnike o dovoljenjih za odobritev dostopa med računi.

Končno moramo ustvariti skupino paketov modelov za združevanje različnih različic modela z uporabo registra modelov SageMaker, ki je zmožnost SageMaker za sledenje in upravljanje modelov, ko se premikajo skozi življenjski cikel ML.

Model cevovoda za usposabljanje

Za vsako novo tovarno, vključeno v ELC, ustvarimo nov cevovod za usposabljanje SageMaker. Ta cevovod je sestavljen iz korakov predhodne obdelave podatkov in usposabljanja modela. Cevovodi SageMaker so primerni za Yaro, ker ponujajo vmesnik Python za definiranje poteka dela ML. Poleg tega je mogoče različne korake delovnega toka konfigurirati tako, da se različno merijo. Na primer, lahko definirate veliko večji primerek za usposabljanje kot za korak ocenjevanja modela. Vhodni in izhodni parametri za vsak korak cevovoda so shranjeni, kar olajša sledenje vsakemu zagonu in njegovim rezultatom. Oris poteka usposabljanja na visoki ravni je naslednji.

SageMaker Training pipeline

Kot del stopnje vrednotenja modela se nabor podatkov vrednotenja uporablja za ustvarjanje metrik, kot sta natančnost in odstopanje srednje kvadratne napake (RMSE) na usposobljenem modelu. Te metrike so dodane metapodatkom modela pred registracijo modela v register modelov. Trenutno so modeli ročno povišani v višja okolja, odobritelj modela pa si lahko ogleda meritve modela, da zagotovi, da nova različica deluje bolje kot trenutni model.

Modeli so pod nadzorom različic z registrom modelov, pri čemer ima vsak obrat svojo skupino paketov modelov. Poleg tega lahko z registrom modelov sledite, katere različice modela so razporejene v katera okolja. Model je lahko v a Zavrnjeno, Čaka na ročno odobritevali Odobreno državi in ​​samo modeli, ki so v Odobreno stanje je mogoče razporediti. To nudi tudi zaščito pred nenamerno uporabo neodobrene različice modela.

Cevovod za sklepanje in spremljanje modela

Za uvedbo modela in nastavitev spremljanja modela smo nastavili drugi cevovod SageMaker. Aplikacija ELC zagotavlja napovedi upravljavcev obratov na zahtevo, zato se do modelov dostopa prek klicev API-ja iz ozadja ELC. Končne točke sklepanja SageMaker zagotavljajo popolnoma upravljano rešitev gostovanja modela s plastjo API; končne točke sprejmejo vhod modela kot obremenitev in vrnejo napovedi. Ker je zakasnitev tudi ključni dejavnik za končne uporabnike, ki ne želijo dolgo čakati, preden dobijo posodobljene napovedi, se je Yara odločila za končne točke sklepanja v realnem času SageMaker, ki so še posebej primerne za delovne obremenitve z zahtevami po zelo nizki zakasnitvi. Nazadnje, ker aplikacija ELC med uvajanjem posodobljenih modelov ne more imeti izpadov, se zanaša na modro/zeleno zmogljivost uvajanja končnih točk SageMaker v realnem času, da zagotovi, da stara različica modela še naprej služi napovedi, dokler ni uvedena nova različica. .

Naslednji diagram prikazuje nastavitev uvajanja in nadzora.

Cevovod sklepanja SageMaker

Za spremljanje modela Yara izvaja SageMaker kakovosti podatkov, kakovost modelain razložljivost modela spremljanje. Spremljanje kakovosti podatkov preverja doslednost in ustvarja statistiko distribucije podatkov. Spremljanje kakovosti modela preverja delovanje modela in primerja točnost modela z meritvami usposabljanja. Poročila o spremljanju modela se generirajo vsako uro. Ta poročila se uporabljajo za spremljanje delovanja modela v proizvodnji. Spremljanje razložljivosti modela se uporablja za razumevanje, katere lastnosti najbolj prispevajo k napovedi.

Ti rezultati razložljivosti modela so v skupni rabi na nadzorni plošči ELC, da upravljavcem obratov zagotovijo več konteksta o tem, kaj poganja porabo energije. To tudi podpira določanje ukrepov za prilagoditev notranjega procesa v primeru, da poraba energije odstopa od optimalne točke.

Tok CI/CD

Tok CI/CD za cevovode usposabljanja se začne v računu DEV. Yara sledi razvojnemu modelu, ki temelji na funkcijah, in ko se razvije nova funkcija, se veja funkcije združi v deblo, kar začne uvajanje. Modeli ELC se usposobijo v računu DEV in po tem, ko je model usposobljen in ovrednoten, se registrira v registru modelov. Odobritelj modela izvede preverjanje razumnosti, preden posodobi status modela na Odobreno. To dejanje ustvari dogodek, ki sproži uvedbo cevovoda sklepanja modela. Cevovod za sklepanje modela razmesti novo različico modela na končno točko SageMaker v DEV.

Po uvedbi končne točke se začnejo preskusi za preverjanje obnašanja namestitve. Za testiranje Yara uporablja Poročila o preskusih CodeBuild. Ta funkcija razvijalcem omogoča izvajanje testov enot, konfiguracijskih testov in funkcionalnih testov pred in po uvedbi. V tem primeru Yara izvaja funkcionalne teste tako, da posreduje testne obremenitve končnim točkam SageMaker in oceni odziv. Ko so ti testi opravljeni, se cevovod nadaljuje z uvajanjem končnih točk SageMaker v TEST. Zaledje ELC je razporejeno tudi v TEST, kar omogoča testiranje aplikacije od konca do konca v tem okolju. Poleg tega Yara v TEST izvaja testiranje sprejemljivosti za uporabnike. Sprožilec od TEST do uvedbe PROD je dejanje ročne odobritve. Ko je nova različica modela opravila funkcionalno testiranje in testiranje sprejemljivosti za uporabnike v TEST-u, inženirska ekipa odobri uvedbo modela v PROD.

Naslednja slika prikazuje ta potek dela.

Načrt CodePipeline

Skupne komponente

Za ELC uporabljamo več komponent, ki so skupne za vse stopnje uvajanja (DEV, TEST, PROD) in modele. Te komponente se nahajajo v našem računu za uvajanje in vključujejo nadzor različic modela, repozitorij slik vsebnika, šifrirni ključ in vedro za shranjevanje pogostih artefaktov.

How Yara is using MLOps features of Amazon SageMaker to scale energy optimization across their ammonia plants PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Uporaba običajnih artefaktov ima več prednosti. Virov na primer ni treba ustvariti za vsak račun, kar zagotavlja združljivost med računi. To pomeni, da slike vsebnika zgradimo enkrat in jih znova uporabimo v vseh ciljnih računih, kar skrajša čas gradnje.

Ta cevovod shranjuje različne različice modela v skupnem registru modelov v računu za uvedbo. S te osrednje lokacije je mogoče modele razmestiti v vse račune, ne da bi jih prenesli. Podobno uporaba centralno shranjenega šifrirnega ključa olajša upravljanje ključa in dovoljenj za več računov.

Ena od pomanjkljivosti uporabe običajnih artefaktov je, da lahko korak vkrcanja novega primera uporabe postane bolj dovršen. Za vključitev novega primera uporabe je treba ustvariti nov register modela in po potrebi novo skladišče slik vsebnika. Priporočamo tudi ustvarjanje novega šifrirnega ključa za strogo ločevanje virov in shranjenih podatkov.

zaključek

V tej objavi smo pokazali, kako je Yara uporabila SageMaker in ADF za izgradnjo zelo razširljive platforme MLOps. ML je medfunkcionalna zmogljivost in ekipe uvajajo modele v različne račune poslovnih enot. Zato je ADF, ki ponuja izvorno integracijo z organizacijami, idealen kandidat za zagonske račune za nastavitev cevovodov CI/CD. Operativno se cevovodi ADF izvajajo v osrednjem računu za uvajanje, kar olajša pridobitev splošnega pregleda stanja uvajanj. Nazadnje ADF uporablja upravljane storitve AWS, kot so CodeBuild, CodeDeploy, CodePipeline in CloudFormation, zaradi česar je enostavno konfigurirati in vzdrževati.

SageMaker ponuja širok spekter zmogljivosti ML, ki ekipam omogoča, da se bolj osredotočijo na reševanje poslovnih problemov in manj na gradnjo in vzdrževanje infrastrukture. Poleg tega SageMaker Pipelines ponuja bogat nabor API-jev za ustvarjanje, posodabljanje in uvajanje delovnih tokov ML, zaradi česar je odličen za MLOps.

Nazadnje MLOps zagotavlja najboljše prakse za zanesljivo in učinkovito uvajanje in vzdrževanje modelov ML v proizvodnji. Za ekipe, ki ustvarjajo in uvajajo rešitve ML v velikem obsegu, je ključnega pomena implementacija MLOps. V primeru Yare MLOps bistveno zmanjša trud, potreben za vključitev v novo tovarno, uvajanje posodobitev za ELC in zagotavljanje nadzora kakovosti modelov.

Za več informacij o uvajanju aplikacij z ADF glejte Primeri.


O avtorjih

How Yara is using MLOps features of Amazon SageMaker to scale energy optimization across their ammonia plants PlatoBlockchain Data Intelligence. Vertical Search. Ai. Shaheer Mansoor je podatkovni znanstvenik pri AWS. Osredotočen je na gradnjo platform za strojno učenje, ki lahko gostijo rešitve AI v velikem obsegu. Njegova področja zanimanja so MLO, trgovine s funkcijami, gostovanje modelov in spremljanje modelov.

How Yara is using MLOps features of Amazon SageMaker to scale energy optimization across their ammonia plants PlatoBlockchain Data Intelligence. Vertical Search. Ai.Tim Becker je višji podatkovni znanstvenik pri Yara International. Znotraj digitalne proizvodnje se osredotoča na optimizacijo procesa proizvodnje amoniaka in dušikove kisline. Ima doktorat iz termodinamike in je navdušen nad združevanjem procesnega inženirstva in strojnega učenja.

How Yara is using MLOps features of Amazon SageMaker to scale energy optimization across their ammonia plants PlatoBlockchain Data Intelligence. Vertical Search. Ai.Yongyos Kaewpitakkun je višji podatkovni znanstvenik v skupini za digitalno produkcijo pri Yara International. Ima doktorat iz umetne inteligence/strojnega učenja in dolgoletne praktične izkušnje z uporabo strojnega učenja, računalniškega vida in modelov obdelave naravnega jezika za reševanje zahtevnih poslovnih problemov.

Časovni žig:

Več od Strojno učenje AWS