Soavtor te objave v spletnem dnevniku je Guillermo Ribeiro, višji podatkovni znanstvenik pri Cepsi.
Strojno učenje (ML) se je hitro razvilo iz modnega trenda, ki izhaja iz akademskih okolij in oddelkov za inovacije, v ključno sredstvo za zagotavljanje vrednosti v podjetjih v vseh panogah. Ta prehod od poskusov v laboratorijih k reševanju problemov iz resničnega sveta v proizvodnih okoljih gre z roko v roki z MLOps, ali prilagoditev DevOps svetu ML.
MLOps pomaga racionalizirati in avtomatizirati celoten življenjski cikel modela ML, pri čemer se osredotoča na izvorne nize podatkov, ponovljivost eksperimenta, kodo algoritma ML in kakovost modela.
At Cepsa, globalnega energetskega podjetja, uporabljamo ML za reševanje zapletenih problemov v naših poslovnih linijah, od izvajanja prediktivnega vzdrževanja industrijske opreme do spremljanja in izboljšanja petrokemičnih procesov v naših rafinerijah.
V tej objavi razpravljamo o tem, kako smo zgradili našo referenčno arhitekturo za MLOps z uporabo naslednjih ključnih storitev AWS:
- Amazon SageMaker, storitev za izdelavo, usposabljanje in uvajanje modelov ML
- Korak funkcije AWS, brezstrežniška storitev vizualnega poteka dela z nizko kodo, ki se uporablja za orkestriranje in avtomatizacijo procesov
- Amazon EventBridge, vodilo dogodkov brez strežnika
- AWS Lambda, računalniška storitev brez strežnika, ki vam omogoča izvajanje kode brez zagotavljanja ali upravljanja strežnikov
Pojasnjujemo tudi, kako smo to referenčno arhitekturo uporabili za zagon novih projektov ML v našem podjetju.
Izziv
V zadnjih 4 letih je več poslovnih linij v Cepsi sprožilo projekte ML, vendar so se kmalu začele pojavljati določene težave in omejitve.
Nismo imeli referenčne arhitekture za ML, zato je vsak projekt sledil drugačni poti implementacije, pri čemer smo izvajali ad hoc usposabljanje in uvajanje modela. Brez skupne metode za obravnavanje projektne kode in parametrov ter brez registra modela ML ali sistema za ustvarjanje različic smo izgubili sledljivost med nizi podatkov, kodo in modeli.
Zaznali smo tudi prostor za izboljšave v načinu upravljanja modelov v proizvodnji, ker nismo spremljali razporejenih modelov in zato nismo imeli sredstev za sledenje učinkovitosti modelov. Posledično smo modele običajno preusposabljali na podlagi časovnih razporedov, ker nismo imeli pravih meritev za sprejemanje premišljenih odločitev o preusposabljanju.
rešitev
Izhajajoč iz izzivov, ki smo jih morali premagati, smo zasnovali splošno rešitev, katere namen je bil ločiti pripravo podatkov, usposabljanje modela, sklepanje in spremljanje modela ter vsebovati centraliziran register modelov. Na ta način smo poenostavili upravljanje okolij v več računih AWS in hkrati uvedli centralizirano sledljivost modela.
Naši znanstveniki in razvijalci podatkov uporabljajo AWS Cloud9 (IDE v oblaku za pisanje, izvajanje in kodo za odpravljanje napak) za prepir podatkov in eksperimentiranje z ML ter GitHub kot repozitorij kode Git.
Delovni tok samodejnega usposabljanja uporablja kodo, ki jo je razvila skupina podatkovne znanosti, da modele vlakov na SageMaker in za registracijo izhodnih modelov v registru modelov.
Drugačen potek dela upravlja uvajanje modela: pridobi referenco iz registra modela in ustvari končno točko sklepanja z uporabo Funkcije gostovanja modela SageMaker.
Implementirali smo delovne poteke modelnega usposabljanja in uvajanja z uporabo funkcij Step Functions, ker je zagotovilo prilagodljiv okvir, ki omogoča ustvarjanje posebnih delovnih tokov za vsak projekt in na enostaven način orkestrira različne storitve in komponente AWS.
Model porabe podatkov
V Cepsi uporabljamo vrsto podatkovnih jezer za pokrivanje različnih poslovnih potreb in vsa ta podatkovna jezera imajo skupen model porabe podatkov, ki podatkovnim inženirjem in podatkovnim znanstvenikom olajša iskanje in uporabo podatkov, ki jih potrebujejo.
Za enostavno obvladovanje stroškov in odgovornosti so okolja podatkovnega jezera popolnoma ločena od aplikacij proizvajalcev podatkov in potrošnikov ter nameščena v različnih računih AWS, ki pripadajo skupni organizaciji AWS.
Podatki, ki se uporabljajo za usposabljanje modelov ML, in podatki, ki se uporabljajo kot vnos sklepanja za usposobljene modele, so na voljo iz različnih podatkovnih jezer prek niza dobro definiranih API-jev z uporabo Amazon API Gateway, storitev za ustvarjanje, objavljanje, vzdrževanje, spremljanje in varovanje API-jev v velikem obsegu. API backend uporablja Amazonska Atena (interaktivna poizvedovalna storitev za analizo podatkov z uporabo standardnega SQL) za dostop do podatkov, ki so že shranjeni v Preprosta storitev shranjevanja Amazon (Amazon S3) in katalogiziran v AWS lepilo Katalog podatkov.
Naslednji diagram ponuja splošen pregled Cepsine arhitekture MLOps.
Usposabljanje za modele
Proces usposabljanja je neodvisen za vsak model in ga vodi a Korak Funkcije standardni potek dela, kar nam daje fleksibilnost pri modeliranju procesov na podlagi različnih projektnih zahtev. Imamo definirano osnovno predlogo, ki jo ponovno uporabimo pri večini projektov in po potrebi izvedemo manjše prilagoditve. Nekateri lastniki projektov so se na primer odločili dodati ročna vrata za odobritev uvajanja novih proizvodnih modelov, medtem ko so drugi lastniki projektov uvedli lastne mehanizme za odkrivanje napak in ponovne poskuse.
Izvajamo tudi transformacije vhodnih podatkovnih nizov, ki se uporabljajo za usposabljanje modela. V ta namen uporabljamo funkcije Lambda, ki so integrirane v delovne tokove usposabljanja. V nekaterih scenarijih, kjer so potrebne bolj zapletene transformacije podatkov, zaženemo našo kodo Amazonska storitev za kontejnerje z elastiko (Amazon ECS) vklopljen AWS Fargate, računalniški mehanizem brez strežnika za izvajanje vsebnikov.
Naša skupina za podatkovno znanost pogosto uporablja algoritme po meri, zato izkoriščamo možnost, da uporabite vsebnike po meri pri usposabljanju modela SageMaker, se opirajo na Registar elastičnih zabojnikov Amazon (Amazon ECR), popolnoma upravljan register vsebnikov, ki olajša shranjevanje, upravljanje, skupno rabo in uvajanje slik vsebnikov.
Večina naših projektov ML temelji na knjižnici Scikit-learn, zato smo standard razširili Vsebnik za učenje SageMaker Scikit za vključitev spremenljivk okolja, potrebnih za projekt, kot so informacije o repozitoriju Git in možnosti uvajanja.
S tem pristopom se morajo naši podatkovni znanstveniki le osredotočiti na razvoj algoritma za usposabljanje in določiti knjižnice, ki jih zahteva projekt. Ko potisnejo spremembe kode v repozitorij Git, naš sistem CI/CD (Jenkins gostuje na AWS) zgradi vsebnik s kodo za usposabljanje in knjižnicami. Ta vsebnik je potisnjen v Amazon ECR in končno kot parameter posredovan klicu za usposabljanje SageMaker.
Ko je proces usposabljanja končan, se nastali model shrani v Amazon S3, referenca se doda v register modelov, vse zbrane informacije in metrike pa se shranijo v katalog eksperimentov. To zagotavlja popolno ponovljivost, ker so koda algoritma in knjižnice povezane z usposobljenim modelom skupaj s podatki, povezanimi z eksperimentom.
Naslednji diagram ponazarja model procesa usposabljanja in preusposabljanja.
Uvajanje modela
Arhitektura je prilagodljiva in omogoča samodejno in ročno uvajanje usposobljenih modelov. Delovni tok razmestitve modela se samodejno prikliče z dogodkom, ki ga usposabljanje SageMaker objavi v EventBridge po zaključku usposabljanja, vendar ga je mogoče priklicati tudi ročno, če je potrebno, s posredovanjem prave različice modela iz registra modela. Za več informacij o samodejnem priklicu glejte Avtomatizacija Amazon SageMaker z Amazon EventBridge.
Potek dela razmestitve modela pridobi informacije o modelu iz registra modelov in jih uporabi Oblikovanje oblaka AWS, upravljana infrastruktura kot storitev kode, bodisi za razmestitev modela na končno točko sklepanja v realnem času ali izvajanje paketnega sklepanja s shranjenim vhodnim naborom podatkov, odvisno od zahtev projekta.
Kadarkoli je model uspešno nameščen v katerem koli okolju, se register modela posodobi z novo oznako, ki označuje, v katerih okoljih se model trenutno izvaja. Vsakič, ko je končna točka odstranjena, se njena oznaka izbriše tudi iz registra modela.
Naslednji diagram prikazuje potek dela za uvajanje in sklepanje modela.
Eksperimenti in register modelov
Shranjevanje vsakega poskusa in različice modela na enem samem mestu ter centralizirano skladišče kode nam omogočata, da ločimo usposabljanje modela in uvajanje ter uporabimo različne račune AWS za vsak projekt in okolje.
Vsi vnosi eksperimentov hranijo ID potrditve kode za usposabljanje in sklepanje, tako da imamo popolno sledljivost celotnega eksperimentalnega procesa in lahko enostavno primerjamo različne poskuse. To nam preprečuje izvajanje podvojenega dela v fazi znanstvenega raziskovanja za algoritme in modele ter nam omogoča, da svoje modele uvedemo kjer koli, neodvisno od računa in okolja, kjer je bil model učen. To velja tudi za modele, usposobljene v našem eksperimentalnem okolju AWS Cloud9.
Skratka, imamo popolnoma avtomatizirane cevovode za usposabljanje in uvajanje modelov ter smo prilagodljivi za izvajanje hitrih ročnih uvajanj modelov, ko nekaj ne deluje pravilno ali ko ekipa potrebuje model, uveden v drugo okolje za namene eksperimentiranja.
Podroben primer uporabe: projekt YET Dragon
Namen projekta YET Dragon je izboljšati proizvodno zmogljivost Cepsine petrokemične tovarne v Šanghaju. Za dosego tega cilja smo temeljito preučili proizvodni proces in iskali manj učinkovite korake. Naš cilj je bil povečati učinkovitost izkoristka procesov z ohranjanjem koncentracije komponent natančno pod pragom.
Za simulacijo tega procesa smo izdelali štiri generalizirane aditivne modele ali GAM, linearne modele, katerih odziv je odvisen od gladkih funkcij napovedovalnih spremenljivk, da bi napovedali rezultate dveh oksidacijskih procesov, enega koncentracijskega procesa in prej omenjenega izkoristka. Izdelali smo tudi optimizator za obdelavo rezultatov štirih modelov GAM in iskanje najboljših optimizacij, ki bi jih lahko uporabili v obratu.
Čeprav se naši modeli usposabljajo s preteklimi podatki, lahko obrat včasih deluje v okoliščinah, ki niso bile registrirane v naboru podatkov za usposabljanje; pričakujemo, da naši simulacijski modeli ne bodo dobro delovali v teh scenarijih, zato smo zgradili tudi dva modela za odkrivanje anomalij z uporabo algoritmov izolacijskih gozdov, ki določata, kako daleč so podatkovne točke do preostalih podatkov za odkrivanje anomalij. Ti modeli nam pomagajo odkriti takšne situacije, da onemogočimo avtomatizirane procese optimizacije, kadar koli se to zgodi.
Industrijski kemični procesi so zelo spremenljivi in modeli ML morajo biti dobro usklajeni z delovanjem obrata, zato je potrebno pogosto prekvalificiranje in sledljivost modelov, uporabljenih v vsaki situaciji. YET Dragon je bil naš prvi projekt optimizacije ML, ki je vseboval register modelov, popolno ponovljivost poskusov in popolnoma upravljan avtomatiziran proces usposabljanja.
Zdaj je celoten cevovod, ki pripelje model v proizvodnjo (pretvorba podatkov, usposabljanje modela, sledenje eksperimentom, register modela in uvedba modela), neodvisen za vsak model ML. To nam omogoča iterativno izboljševanje modelov (na primer dodajanje novih spremenljivk ali preizkušanje novih algoritmov) ter povezovanje stopenj usposabljanja in uvajanja z različnimi sprožilci.
Rezultati in prihodnje izboljšave
Trenutno lahko samodejno usposabljamo, uvajamo in sledimo šestim modelom ML, ki se uporabljajo v projektu YET Dragon, in že smo uvedli več kot 30 različic za vsakega od proizvodnih modelov. Ta arhitektura MLOps je bila razširjena na stotine modelov ML v drugih projektih v podjetju.
Načrtujemo, da bomo še naprej uvajali nove projekte YET, ki temeljijo na tej arhitekturi, ki je zmanjšala povprečno trajanje projekta za 25 %, zahvaljujoč zmanjšanju časa zagona in avtomatizaciji cevovodov ML. Prav tako smo ocenili prihranke v višini približno 300,000 € na leto zaradi povečanja donosa in koncentracije, ki je neposredna posledica projekta YET Dragon.
Kratkoročni razvoj te arhitekture MLOps je v smeri spremljanja modela in avtomatiziranega testiranja. Načrtujemo samodejno testiranje učinkovitosti modela glede na predhodno uvedene modele, preden uvedemo nov model. Ukvarjamo se tudi z implementacijo spremljanja modelov in spremljanja odmika sklepnih podatkov Amazonski model monitorja SageMaker, da bi avtomatizirali preusposabljanje modelov.
zaključek
Podjetja se soočajo z izzivom, kako svoje projekte ML uvesti v proizvodnjo na avtomatiziran in učinkovit način. Avtomatizacija celotnega življenjskega cikla modela ML pomaga skrajšati čas projekta in zagotavlja boljšo kakovost modela ter hitrejše in pogostejše uvajanja v proizvodnjo.
Z razvojem standardizirane arhitekture MLOps, ki so jo sprejela različna podjetja v podjetju, smo v Cepsi lahko pospešili zagon projekta ML in izboljšali kakovost modela ML ter zagotovili zanesljiv in avtomatiziran okvir, na podlagi katerega lahko naše ekipe za podatkovno znanost hitreje inovirajo .
Za več informacij o MLOps na SageMaker obiščite Amazon SageMaker za MLOps in preverite druge primere uporabe strank v Blog za strojno učenje AWS.
O avtorjih
Guillermo Ribeiro Jiménez je višji podatkovni znanstvenik pri Cepsi z doktoratom. iz jedrske fizike. Ima 6 let izkušenj s projekti podatkovne znanosti, predvsem v telekomunikacijski in energetski industriji. Trenutno vodi skupine podatkovnih znanstvenikov v oddelku za digitalno transformacijo družbe Cepsa, s poudarkom na skaliranju in produktizaciji projektov strojnega učenja.
Guillermo Menéndez Corral je arhitekt rešitev pri AWS Energy and Utilities. Ima več kot 15 let izkušenj z načrtovanjem in gradnjo programskih aplikacij, trenutno pa nudi arhitekturne smernice strankam AWS v energetski industriji, s poudarkom na analitiki in strojnem učenju.
- Coinsmart. Najboljša evropska borza bitcoinov in kriptovalut.
- Platoblockchain. Web3 Metaverse Intelligence. Razširjeno znanje. PROST DOSTOP.
- CryptoHawk. Altcoin radar. Brezplačen preizkus.
- Vir: https://aws.amazon.com/blogs/machine-learning/how-cepsa-used-amazon-sagemaker-and-aws-step-functions-to-industrialize-their-ml-projects-and-operate- njihovi-modeli-v-merilu/
- "
- 000
- 100
- 15 let
- a
- sposobnost
- O meni
- dostop
- Račun
- Doseči
- čez
- Ad
- dodano
- Prednost
- proti
- algoritem
- algoritmi
- vsi
- omogoča
- že
- Amazon
- med
- analitika
- analizirati
- kjerkoli
- API
- API-ji
- aplikacije
- uporabna
- pristop
- odobri
- architectural
- Arhitektura
- okoli
- povezan
- avtomatizirati
- Avtomatizirano
- Samodejno
- samodejno
- avtomatizacija
- Avtomatizacija
- Na voljo
- AWS
- ker
- postajajo
- pred
- počutje
- spodaj
- BEST
- Blog
- izgradnjo
- Building
- Gradi
- poslovni
- podjetja
- primeru
- primeri
- centralizirano
- nekatere
- izziv
- izzivi
- kemijske
- Cloud
- Koda
- Zavezati
- Skupno
- podjetje
- dokončanje
- popolnoma
- kompleksna
- komponenta
- deli
- Izračunajte
- koncentracija
- Connect
- porabijo
- Potrošnik
- poraba
- Posoda
- Zabojniki
- stroški
- bi
- pokrov
- ustvarjajo
- ustvari
- Oblikovanje
- Trenutno
- po meri
- stranka
- Stranke, ki so
- datum
- znanost o podatkih
- podatkovni znanstvenik
- odločil
- odločitve
- Odvisno
- odvisno
- razporedi
- razporejeni
- uvajanje
- razmestitve
- zasnovan
- oblikovanje
- podrobno
- Zaznali
- Odkrivanje
- Ugotovite,
- Razvijalci
- razvoju
- drugačen
- digitalni
- Digitalni Transformation
- neposredna
- razpravlja
- Dragon
- vsak
- enostavno
- učinkovitosti
- učinkovite
- smirkovim
- omogoča
- Končna točka
- energija
- Motor
- Inženirji
- okolje
- oprema
- ocenjeni
- Event
- evolucija
- točno
- Primer
- pričakovati
- izkušnje
- poskus
- raziskovanje
- s katerimi se sooča
- FAST
- hitreje
- Feature
- izrazit
- končno
- prva
- prilagodljivost
- prilagodljiv
- Osredotočite
- po
- Okvirni
- iz
- polno
- funkcije
- Prihodnost
- Gates
- splošno
- git
- GitHub
- Globalno
- Cilj
- ročaj
- ob
- pomoč
- Pomaga
- zelo
- zgodovinski
- drži
- gostila
- gostovanje
- Kako
- HTTPS
- Stotine
- slike
- Izvajanje
- izvajali
- izboljšanje
- Izboljšanje
- izboljšanju
- V drugi
- vključujejo
- Povečajte
- Neodvisni
- neodvisno
- industrijske
- Industrija
- Podatki
- obvestila
- Infrastruktura
- Inovacije
- vhod
- integrirana
- interaktivno
- Predstavljamo
- izolacija
- Vprašanja
- IT
- Imejte
- vzdrževanje
- Ključne
- začetek
- vodi
- učenje
- Knjižnica
- linije
- kraj aktivnosti
- si
- stroj
- strojno učenje
- je
- vzdrževati
- vzdrževanje
- Znamka
- IZDELA
- upravljanje
- upravlja
- upravljanje
- Način
- Navodilo
- ročno
- pomeni
- Meritve
- ML
- Model
- modeli
- monitor
- spremljanje
- več
- Najbolj
- več
- potrebe
- deluje
- Delovanje
- optimizacija
- možnosti
- Da
- Organizacija
- Ostalo
- lastne
- Lastniki
- Podaje
- performance
- izvajati
- faza
- Fizika
- točke
- napovedati
- Težave
- Postopek
- Procesi
- Proizvajalec
- proizvodnja
- Projekt
- projekti
- če
- zagotavlja
- zagotavljanje
- objavijo
- Namen
- namene
- potisnilo
- kakovost
- v realnem času
- zmanjša
- Registracija
- registriranih
- zanesljiv
- Skladišče
- obvezna
- Zahteve
- Odgovor
- odgovornosti
- REST
- rezultat
- Rezultati
- Run
- tek
- Lestvica
- skaliranje
- Znanost
- Znanstvenik
- Znanstveniki
- zavarovanje
- Serija
- Brez strežnika
- Storitev
- Storitve
- nastavite
- Shanghai
- Delite s prijatelji, znanci, družino in partnerji :-)
- kratkoročno
- Enostavno
- Simulacija
- sam
- Razmere
- SIX
- So
- Rešitev
- rešitve
- nekaj
- Nekaj
- specifična
- hitrost
- postopka
- standardna
- začel
- shranjevanje
- trgovina
- racionalizirati
- Uspešno
- sistem
- ciljna
- skupina
- Skupine
- Telco
- Test
- Testiranje
- O
- Vir
- zato
- temeljito
- Prag
- skozi
- čas
- krat
- proti
- Sledljivost
- sledenje
- Sledenje
- usposabljanje
- Preoblikovanje
- transformacije
- Prehod
- pod
- us
- uporaba
- navadno
- javne gospodarske službe
- vrednost
- različica
- dobro opredeljen
- medtem
- brez
- delo
- delovnih tokov
- deluje
- svet
- pisanje
- leto
- let
- donos