Selle ajaveebi postituse kaasautor on Cepsa vanem andmeteadlane Guillermo Ribeiro.
Masinõpe (ML) on kiiresti arenenud moodsast trendist, mis kerkib esile akadeemilises keskkonnas ja innovatsiooniosakondades, muutudes peamiseks vahendiks väärtuste pakkumisel kõigis tööstusharudes. See üleminek laborites katsetelt reaalsete probleemide lahendamisele tootmiskeskkondades käib käsikäes MLOpsvõi DevOpsi kohandamine ML-maailmaga.
MLOps aitab sujuvamaks muuta ja automatiseerida ML-mudeli kogu elutsüklit, keskendudes lähteandmete kogumitele, katse reprodutseeritavusele, ML-algoritmi koodile ja mudeli kvaliteedile.
At Cepsa, ülemaailmne energiaettevõte, kasutame ML-i, et lahendada keerulisi probleeme kõigis oma ärivaldkondades, alates tööstusseadmete prognoositavast hooldusest kuni naftakeemiaprotsesside jälgimiseni ja täiustamiseni meie rafineerimistehastes.
Selles postituses arutleme, kuidas ehitasime MLO-de jaoks võrdlusarhitektuuri, kasutades järgmisi peamisi AWS-teenuseid:
- Amazon SageMakerteenus ML-mudelite ehitamiseks, koolitamiseks ja juurutamiseks
- AWS-i astmefunktsioonid, serverita madala koodiga visuaalse töövoo teenus, mida kasutatakse protsesside korraldamiseks ja automatiseerimiseks
- Amazon EventBridge, serverita sündmuste siin
- AWS Lambda, serverita arvutusteenus, mis võimaldab teil koodi käitada ilma servereid pakkumata või haldamata
Samuti selgitame, kuidas kasutasime seda võrdlusarhitektuuri meie ettevõtte uute ML-projektide käivitamiseks.
Väljakutse
Viimase 4 aasta jooksul käivitasid mitmed Cepsa ärivaldkonnad ML-projektid, kuid peagi hakkasid ilmnema teatud probleemid ja piirangud.
Meil ei olnud ML-i jaoks võrdlusarhitektuuri, nii et iga projekt järgis erinevat rakendusteed, viies läbi ad hoc mudelikoolituse ja juurutamise. Ilma ühise meetodita projekti koodi ja parameetrite käsitlemiseks ning ilma ML-mudelite registrita või versioonisüsteemita kaotasime andmekogumite, koodide ja mudelite jälgitavuse.
Avastasime ka arenguruumi selles, kuidas me tootmismudelid kasutasime, sest me ei jälginud juurutatud mudeleid ja seetõttu ei olnud meil vahendeid mudeli jõudluse jälgimiseks. Seetõttu õpetasime mudeleid tavaliselt ajakavade alusel ümber, kuna meil puudusid õiged mõõdikud teadlike ümberõppeotsuste tegemiseks.
lahendus
Lähtudes väljakutsetest, mida pidime ületama, kavandasime üldise lahenduse, mille eesmärk oli andmete ettevalmistamise, mudelikoolituse, järelduste ja mudelite jälgimise lahtisidumine, ning pakkusime tsentraliseeritud mudeliregistrit. Nii lihtsustasime keskkondade haldamist mitmel AWS-i kontol, võttes samal ajal kasutusele tsentraliseeritud mudeli jälgitavuse.
Meie andmeteadlased ja arendajad kasutavad AWSi pilv (pilve-IDE koodi kirjutamiseks, käitamiseks ja silumiseks) andmete vaidlustamiseks ja ML-i katsetamiseks ning GitHub kui Giti koodihoidla.
Automaatne koolituse töövoog kasutab andmeteaduse meeskonna loodud koodi rongimudelid SageMakeris ja väljundmudelite registreerimiseks mudeliregistris.
Mudeli juurutamist haldab erinev töövoog: see hangib viite mudeliregistrist ja loob järelduse lõpp-punkti, kasutades SageMakeri mudeli hostimise funktsioonid.
Rakendasime nii mudelkoolituse kui ka juurutamise töövooge Step Functionsi abil, kuna see pakkus paindlikku raamistikku, mis võimaldab luua iga projekti jaoks konkreetseid töövooge ning korraldab arusaadavalt erinevaid AWS-i teenuseid ja komponente.
Andmetarbimise mudel
Cepsas kasutame erinevate ärivajaduste katmiseks mitmeid andmejärve ning kõik need andmejärved jagavad ühist andmetarbimise mudelit, mis hõlbustab andmeinseneridel ja andmeteadlastel vajalike andmete leidmist ja tarbimist.
Kulude ja kohustuste hõlpsaks haldamiseks on Data Lake'i keskkonnad andmetootja- ja tarbijarakendustest täielikult eraldatud ning juurutatud erinevatele AWS-i kontodele, mis kuuluvad ühisesse AWS-i organisatsiooni.
ML-mudelite koolitamiseks kasutatavad andmed ja treenitud mudelite järeldussisendina kasutatavad andmed tehakse kättesaadavaks erinevatest andmejärvedest läbi hästi määratletud API-de komplekti, kasutades Amazon API värav, teenus API-de loomiseks, avaldamiseks, hooldamiseks, jälgimiseks ja turvamiseks. API taustaprogramm kasutab Amazonase Athena (interaktiivne päringuteenus andmete analüüsimiseks standardse SQL-i abil), et pääseda juurde andmetele, mis on juba salvestatud Amazoni lihtne salvestusteenus (Amazon S3) ja kataloogitud AWS liim Andmekataloog.
Järgmine diagramm annab üldise ülevaate Cepsa MLOps arhitektuurist.
Modellikoolitus
Koolitusprotsess on iga mudeli puhul sõltumatu ja seda juhib a Step Funktsioonide standardne töövoog, mis annab meile paindlikkuse protsesside modelleerimiseks erinevate projektinõuete alusel. Meil on määratletud baasmall, mida enamiku projektide puhul taaskasutame, tehes vajadusel väiksemaid muudatusi. Näiteks on mõned projektiomanikud otsustanud lisada uute tootmismudelite juurutamise heakskiitmiseks käsitsi väravad, samas kui teised projektiomanikud on rakendanud oma vigade tuvastamise ja uuesti proovimise mehhanisme.
Samuti teostame teisendusi mudelitreeninguks kasutatavate sisendandmete kogumitele. Selleks kasutame Lambda funktsioone, mis on integreeritud koolituse töövoogudesse. Mõne stsenaariumi korral, kus on vaja keerukamaid andmete teisendusi, käivitame oma koodi Amazoni elastsete konteinerite teenus (Amazon ECS) sees AWS Fargate, serverita arvutusmootor konteinerite käitamiseks.
Meie andmeteaduse meeskond kasutab sageli kohandatud algoritme, seega kasutame seda võimalust ära kasutage SageMakeri mudelikoolituses kohandatud konteinereid, tuginedes Amazoni elastsete konteinerite register (Amazon ECR), täielikult hallatav konteineriregister, mis muudab konteineri kujutiste salvestamise, haldamise, jagamise ja juurutamise lihtsaks.
Enamik meie ML-projekte põhinevad Scikit-learni raamatukogul, seega oleme standardit laiendanud SageMaker Scikit-learn konteiner projekti jaoks vajalike keskkonnamuutujate, näiteks Giti hoidla teabe ja juurutamisvalikute lisamiseks.
Selle lähenemisviisi korral peavad meie andmeteadlased keskenduma koolitusalgoritmi väljatöötamisele ja täpsustama projekti jaoks vajalikke teeke. Kui nad edastavad koodimuudatused Giti hoidlasse, siis meie CI/CD süsteem (Jenkins AWS-is hostitud) ehitab konteineri koolituskoodi ja teekidega. See konteiner lükatakse Amazon ECR-i ja edastatakse lõpuks parameetrina SageMakeri koolituskutsele.
Kui koolitusprotsess on lõppenud, salvestatakse saadud mudel Amazon S3-sse, mudeliregistrisse lisatakse viide ning kogu kogutud teave ja mõõdikud salvestatakse katsete kataloogi. See tagab täieliku reprodutseeritavuse, kuna algoritmi kood ja teegid on seotud koolitatud mudeliga koos katsega seotud andmetega.
Järgmine diagramm illustreerib mudeli koolituse ja ümberõppe protsessi.
Mudeli juurutamine
Arhitektuur on paindlik ja võimaldab koolitatud mudelite nii automaatset kui ka käsitsi juurutamist. Mudeli juurutaja töövoog käivitatakse automaatselt sündmuse kaudu, mille SageMakeri koolitus avaldab EventBridge'is pärast koolituse lõppu, kuid vajaduse korral saab seda ka käsitsi käivitada, edastades mudeliregistrist õige mudeliversiooni. Lisateavet automaatse kutsumise kohta vt Amazon SageMakeri automatiseerimine Amazon EventBridge'iga.
Mudeli juurutaja töövoog hangib mudeliteabe mudeliregistrist ja kasutab AWS CloudFormation, hallatav infrastruktuur kooditeenusena, et kas juurutada mudel reaalajas järelduse lõpp-punkti või teostada pakettjäreldust salvestatud sisendandmestikuga, olenevalt projekti nõuetest.
Kui mudel on mis tahes keskkonnas edukalt juurutatud, värskendatakse mudeliregistrit uue sildiga, mis näitab, millistes keskkondades mudel praegu töötab. Iga kord, kui lõpp-punkt eemaldatakse, kustutatakse selle silt ka mudeliregistrist.
Järgmine diagramm näitab mudeli juurutamise ja järelduste töövoogu.
Katsed ja mudeliregister
Iga katse ja mudeli versiooni salvestamine ühte kohta ja tsentraliseeritud koodihoidla võimaldab meil lahti siduda mudeli koolituse ja juurutamise ning kasutada iga projekti ja keskkonna jaoks erinevaid AWS-i kontosid.
Kõik katsekirjed salvestavad koolituse commit ID ja järelduskoodi, nii et meil on kogu katseprotsessi täielik jälgitavus ja saame hõlpsalt võrrelda erinevaid katseid. See takistab meil algoritmide ja mudelite teadusliku uurimise etapis dubleerivat tööd tegemast ning võimaldab meil oma mudeleid juurutada kõikjal, sõltumata kontost ja keskkonnast, kus mudelit koolitati. See kehtib ka meie AWS Cloud9 katsekeskkonnas koolitatud mudelite kohta.
Kokkuvõttes on meil täielikult automatiseeritud mudelite väljaõppe ja juurutamise torujuhtmed ning meil on paindlikud võimalused mudelite kiireks käsitsi juurutamiseks, kui miski ei tööta korralikult või kui meeskond vajab katsetamiseks erinevasse keskkonda juurutatud mudelit.
Üksikasjalik kasutusjuht: YET Dragon projekt
Projekti YET Dragon eesmärk on parandada Cepsa naftakeemiatehase tootmist Shanghais. Selle eesmärgi saavutamiseks uurisime põhjalikult tootmisprotsessi, otsides vähem tõhusaid samme. Meie eesmärk oli suurendada protsesside saagikuse efektiivsust, hoides komponentide kontsentratsiooni täpselt alla läve.
Selle protsessi simuleerimiseks koostasime neli üldistatud aditiivset mudelit ehk GAM, lineaarset mudelit, mille reaktsioon sõltub ennustavate muutujate sujuvatest funktsioonidest, et ennustada kahe oksüdatsiooniprotsessi, ühe kontsentratsiooniprotsessi ja eelnimetatud saagise tulemusi. Ehitasime ka optimeerija nelja GAM-mudeli tulemuste töötlemiseks ja parimate optimeerimiste leidmiseks, mida tehases saaks rakendada.
Kuigi meie mudelid on koolitatud ajalooliste andmetega, võib tehas mõnikord töötada tingimustes, mida koolituse andmekogus ei registreeritud; Eeldame, et meie simulatsioonimudelid ei tööta nende stsenaariumide korral hästi, seetõttu ehitasime ka kaks anomaalia tuvastamise mudelit, kasutades Isolation Forestsi algoritme, mis määravad, kui kaugel on andmepunktid anomaaliate tuvastamiseks ülejäänud andmetest. Need mudelid aitavad meil selliseid olukordi tuvastada, et keelata automaatsed optimeerimisprotsessid, kui see juhtub.
Tööstuslikud keemilised protsessid on väga varieeruvad ja ML-mudelid peavad olema tehase tööga hästi kooskõlas, mistõttu on vaja sagedast ümberõpet ja igas olukorras kasutatavate mudelite jälgitavust. VEEL oli Dragon meie esimene ML-i optimeerimisprojekt, mis sisaldas mudeliregistrit, katsete täielikku reprodutseeritavust ja täielikult hallatavat automatiseeritud koolitusprotsessi.
Nüüd on täielik konveier, mis toob mudeli tootmisse (andmete teisendamine, mudeli koolitus, katsete jälgimine, mudeliregister ja mudeli juurutamine), iga ML-mudeli puhul sõltumatu. See võimaldab meil mudeleid iteratiivselt täiustada (näiteks lisada uusi muutujaid või testida uusi algoritme) ning ühendada koolituse ja juurutamise etapid erinevate käivitajatega.
Tulemused ja edasised parandused
Praegu saame automaatselt koolitada, juurutada ja jälgida kuut YET Dragoni projektis kasutatud ML-mudelit ning oleme iga tootmismudeli jaoks juba kasutusele võtnud üle 30 versiooni. Seda MLOps-i arhitektuuri on laiendatud sadadele ML-mudelitele ettevõtte teistes projektides.
Sellel arhitektuuril põhinevate uute YET projektide käivitamist plaanime jätkata, mis on tänu alglaadimisaja lühenemisele ja ML torujuhtmete automatiseerimisele vähendanud projekti keskmist kestust 25%. Samuti oleme hinnanguliselt säästnud umbes 300,000 XNUMX eurot aastas tänu saagikuse ja kontsentratsiooni suurenemisele, mis on projekti YET Dragon otsene tulemus.
Selle MLOps-i arhitektuuri lühiajaline areng on suunatud mudelite jälgimisele ja automatiseeritud testimisele. Plaanime enne uue mudeli kasutuselevõttu automaatselt testida mudeli tõhusust võrreldes varem juurutatud mudelitega. Töötame ka mudeliseire ja järelduste andmete triivimise jälgimise juurutamisel Amazon SageMakeri mudelimonitor, et automatiseerida mudelite ümberõpet.
Järeldus
Ettevõtted seisavad silmitsi väljakutsega viia oma ML-projektid tootmisse automatiseeritud ja tõhusal viisil. ML-mudeli täieliku elutsükli automatiseerimine aitab vähendada projekti aega ja tagab parema mudeli kvaliteedi ning kiirema ja sagedasema juurutamise tootmisse.
Töötades välja standardiseeritud MLOps-arhitektuuri, mille on kasutusele võtnud ettevõtte erinevad ettevõtted, suutsime Cepsas kiirendada ML-projektide alglaadimist ja parandada ML-mudeli kvaliteeti, pakkudes usaldusväärset ja automatiseeritud raamistikku, mille alusel meie andmeteaduse meeskonnad saavad kiiremini uuendusi teha. .
Lisateavet SageMakeri MLO-de kohta leiate aadressilt Amazon SageMaker MLOps jaoks ja vaadake teisi klientide kasutusjuhtumeid saidist AWS-i masinõppe ajaveeb.
Autoritest
Guillermo Ribeiro Jiménez on Cepsa vanem andmeteadlane doktorikraadiga. tuumafüüsikas. Tal on 6-aastane kogemus andmeteaduse projektidega, peamiselt tele- ja energiatööstuses. Praegu juhib ta Cepsa digitaalse transformatsiooni osakonna andmeteadlaste meeskondi, keskendudes masinõppeprojektide skaleerimisele ja produktiseerimisele.
Guillermo Menéndez Corral on AWS Energy and Utilities lahenduste arhitekt. Tal on üle 15-aastane kogemus SW-rakenduste projekteerimisel ja ehitamisel ning praegu annab ta AWS-i klientidele energiatööstuses arhitektuurilisi juhiseid, keskendudes analüütikale ja masinõppele.
- Münditark. Euroopa parim Bitcoini ja krüptobörs.
- Platoblockchain. Web3 metaversiooni intelligentsus. Täiustatud teadmised. TASUTA PÄÄS.
- CryptoHawk. Altcoini radar. Tasuta prooviversioon.
- Allikas: https://aws.amazon.com/blogs/machine-learning/how-cepsa-used-amazon-sagemaker-and-aws-step-functions-to-industrialize-their-ml-projects-and-operate- nende-mudelid-skaalal/
- "
- 000
- 100
- 15 aastat
- a
- võime
- MEIST
- juurdepääs
- konto
- Saavutada
- üle
- Ad
- lisatud
- ADEelis
- vastu
- algoritm
- algoritme
- Materjal: BPA ja flataatide vaba plastik
- võimaldab
- juba
- Amazon
- hulgas
- analytics
- analüüsima
- kuskil
- API
- API-liidesed
- rakendused
- rakendatud
- lähenemine
- heaks kiitma
- arhitektuuri-
- arhitektuur
- ümber
- seotud
- automatiseerima
- Automatiseeritud
- Automaatne
- automaatselt
- automatiseerimine
- Automaatika
- saadaval
- AWS
- sest
- saada
- enne
- on
- alla
- BEST
- Blogi
- ehitama
- Ehitus
- Ehitab
- äri
- ettevõtted
- juhul
- juhtudel
- tsentraliseeritud
- kindel
- väljakutse
- väljakutseid
- keemiline
- Cloud
- kood
- endale
- ühine
- ettevõte
- täitma
- täiesti
- keeruline
- komponent
- komponendid
- Arvutama
- kontsentratsioon
- Võta meiega ühendust
- tarbima
- tarbija
- tarbimine
- Konteiner
- Konteinerid
- kulud
- võiks
- cover
- looma
- loob
- loomine
- Praegu
- tava
- klient
- Kliendid
- andmed
- andmeteadus
- andmeteadlane
- otsustatud
- otsused
- Olenevalt
- sõltub
- juurutada
- lähetatud
- kasutuselevõtu
- kasutuselevõtt
- kavandatud
- projekteerimine
- üksikasjalik
- tuvastatud
- Detection
- Määrama
- Arendajad
- arenev
- erinev
- digitaalne
- Digitaalne Transformation
- otsene
- arutama
- draakon
- iga
- kergesti
- efektiivsus
- tõhus
- smirgel
- võimaldab
- Lõpp-punkt
- energia
- Mootor
- Inseneride
- keskkond
- seadmed
- Hinnanguliselt
- sündmus
- evolutsioon
- täpselt
- näide
- ootama
- kogemus
- eksperiment
- uurimine
- ees
- KIIRE
- kiiremini
- tunnusjoon
- Objekte
- Lõpuks
- esimene
- Paindlikkus
- paindlik
- Keskenduma
- Järel
- Raamistik
- Alates
- täis
- funktsioonid
- tulevik
- Gates
- Üldine
- Git
- GitHub
- Globaalne
- eesmärk
- käepide
- võttes
- aitama
- aitab
- kõrgelt
- ajalooline
- omab
- võõrustas
- Hosting
- Kuidas
- HTTPS
- sajad
- pildid
- täitmine
- rakendatud
- parandama
- paranemine
- Paranemist
- Teistes
- sisaldama
- Suurendama
- sõltumatud
- iseseisvalt
- tööstus-
- tööstus
- info
- teavitatakse
- Infrastruktuur
- Innovatsioon
- sisend
- integreeritud
- interaktiivne
- sisse
- isolatsioon
- küsimustes
- IT
- hoidma
- pidamine
- Võti
- käivitamine
- juhtivate
- õppimine
- Raamatukogu
- liinid
- liising
- otsin
- masin
- masinõpe
- tehtud
- säilitada
- hooldus
- tegema
- TEEB
- juhtima
- juhitud
- juhtiv
- viis
- käsiraamat
- käsitsi
- vahendid
- Meetrika
- ML
- mudel
- mudelid
- Jälgida
- järelevalve
- rohkem
- kõige
- mitmekordne
- vajadustele
- töötama
- töö
- optimeerimine
- Valikud
- et
- organisatsioon
- Muu
- enda
- omanikud
- Mööduv
- jõudlus
- esitades
- faas
- Füüsika
- võrra
- ennustada
- probleeme
- protsess
- Protsessid
- tootja
- Produktsioon
- projekt
- projektid
- tingimusel
- annab
- pakkudes
- avaldama
- eesmärk
- eesmärkidel
- lükatakse
- kvaliteet
- reaalajas
- vähendama
- registreerima
- registreeritud
- usaldusväärne
- Hoidla
- nõutav
- Nõuded
- vastus
- kohustused
- REST
- tulemuseks
- Tulemused
- jooks
- jooksmine
- Skaala
- ketendamine
- teadus
- teadlane
- teadlased
- kindlustama
- Seeria
- Serverita
- teenus
- Teenused
- komplekt
- Shanghai
- Jaga
- lühiajaline
- lihtne
- simuleerimine
- ühekordne
- olukord
- SIX
- So
- lahendus
- Lahendused
- mõned
- midagi
- konkreetse
- kiirus
- etappidel
- standard
- alustatud
- ladustamine
- salvestada
- kiirendama
- Edukalt
- süsteem
- sihtmärk
- meeskond
- meeskonnad
- Telco
- test
- Testimine
- .
- Allikas
- seetõttu
- põhjalikult
- künnis
- Läbi
- aeg
- korda
- suunas
- Jälgitavus
- jälgida
- Jälgimine
- koolitus
- Transformation
- muundumised
- üleminek
- all
- us
- kasutama
- tavaliselt
- kommunaalteenused
- väärtus
- versioon
- hästi määratletud
- kuigi
- ilma
- Töö
- Töövoogud
- töö
- maailm
- kirjutamine
- aasta
- aastat
- saak