Tämän blogikirjoituksen on kirjoittanut Guillermo Ribeiro, Cepsan vanhempi datatutkija.
Koneoppiminen (ML) on nopeasti kehittynyt muodikkaasta trendistä, joka on noussut akateemisista ympäristöistä ja innovaatioosastoista, ja siitä on tullut keskeinen keino tuottaa arvoa yrityksille kaikilla aloilla. Tämä siirtyminen laboratoriokokeista todellisten ongelmien ratkaisemiseen tuotantoympäristöissä kulkee käsi kädessä MLOpstai DevOpsin mukauttaminen ML-maailmaan.
MLOps auttaa virtaviivaistamaan ja automatisoimaan ML-mallin koko elinkaarta keskittyen lähdetietosarjoihin, kokeiden toistettavuuteen, ML-algoritmikoodiin ja mallin laatuun.
At Cepsa, maailmanlaajuinen energiayhtiö, käytämme ML:ää ratkaistaksemme monimutkaisia ongelmia kaikilla toimialoillamme aina teollisuuslaitteiden ennakoivasta huollosta petrokemian prosessien valvontaan ja parantamiseen jalostamoillamme.
Tässä viestissä keskustelemme siitä, kuinka rakensimme viitearkkitehtuurimme MLOpsille käyttämällä seuraavia keskeisiä AWS-palveluita:
- Amazon Sage Maker, palvelu ML-mallien rakentamiseen, kouluttamiseen ja käyttöönottoon
- AWS-vaihetoiminnot, palvelimeton matalakoodin visuaalinen työnkulkupalvelu, jota käytetään prosessien ohjaamiseen ja automatisointiin
- Amazon EventBridge, palvelimeton tapahtumaväylä
- AWS Lambda, palvelimeton laskentapalvelu, jonka avulla voit suorittaa koodia ilman palvelimien hallintaa tai hallintaa
Selitämme myös, kuinka sovelsimme tätä referenssiarkkitehtuuria uusien ML-projektien käynnistämiseen yrityksessämme.
Haaste
Viimeisten 4 vuoden aikana useat Cepsan toimialat aloittivat ML-projektit, mutta pian tiettyjä ongelmia ja rajoituksia alkoi ilmetä.
Meillä ei ollut viitearkkitehtuuria ML:lle, joten jokainen projekti noudatti erilaista toteutuspolkua suorittaen tapauskohtaista mallikoulutusta ja käyttöönottoa. Ilman yhteistä menetelmää projektikoodin ja parametrien käsittelemiseksi ja ilman ML-mallirekisteriä tai versiointijärjestelmää menetimme tietojoukkojen, koodien ja mallien jäljitettävyyden.
Havaitsimme myös parantamisen varaa tavassa, jolla käytämme malleja tuotannossa, koska emme valvoneet käyttöön otettuja malleja, joten meillä ei ollut keinoja seurata mallien suorituskykyä. Tämän seurauksena me yleensä koulutimme malleja uudelleen aikataulujen perusteella, koska meiltä puuttuivat oikeat mittarit tietoisten uudelleenkoulutuspäätösten tekemiseen.
ratkaisu
Lähtien haasteista, jotka meidän oli voitettava, suunnittelimme yleisen ratkaisun, joka pyrki erottamaan tiedon valmistelun, mallikoulutuksen, päättelyn ja mallin seurannan, ja sisälsimme keskitetyn mallirekisterin. Tällä tavalla yksinkertaistimme useiden AWS-tilien ympäristöjen hallintaa ja otimme käyttöön keskitetyn mallin jäljitettävyyden.
Tietotutkijamme ja kehittäjämme käyttävät AWS-pilvi9 (pilvi-IDE koodin kirjoittamiseen, suorittamiseen ja virheenkorjaukseen) tietojen kiistelyä ja ML-kokeilua varten ja GitHub Git-koodivarastona.
Automaattinen koulutustyönkulku käyttää datatieteen tiimin rakentamaa koodia junamallit SageMakerissa ja rekisteröidä tulosmalleja mallirekisteriin.
Eri työnkulku hallitsee mallin käyttöönottoa: se hakee viitteen mallirekisteristä ja luo päätepisteen käyttämällä SageMaker-mallin isännöintiominaisuudet.
Totesimme sekä mallikoulutuksen että käyttöönoton työnkulkuja Step Functionsilla, koska se tarjosi joustavan viitekehyksen, joka mahdollistaa erityisten työnkulkujen luomisen jokaiselle projektille ja organisoi selkeästi eri AWS-palvelut ja -komponentit.
Tiedonkulutusmalli
Cepsassa käytämme useita datajärviä kattamaan erilaisia liiketoiminnan tarpeita, ja kaikilla näillä datajärvillä on yhteinen tiedonkulutusmalli, joka helpottaa tietoteknisten ja datatieteilijöiden löytämistä ja käyttämistä tarvitsemansa tiedon.
Kustannusten ja vastuiden helpottamiseksi Data Lake -ympäristöt erotetaan täysin datan tuottaja- ja kuluttajasovelluksista ja otetaan käyttöön eri AWS-tileille, jotka kuuluvat yhteiseen AWS-organisaatioon.
ML-mallien kouluttamiseen käytetyt tiedot ja koulutettujen mallien päättelysyötteenä käytetyt tiedot ovat saatavilla eri datajärvistä joukon hyvin määriteltyjä API-liittymiä käyttämällä Amazon API -yhdyskäytävä, palvelu, jolla luodaan, julkaistaan, ylläpidetään, valvotaan ja suojataan sovellusliittymiä laajasti. API-taustaohjelma käyttää Amazon Athena (vuorovaikutteinen kyselypalvelu tietojen analysoimiseksi tavallisella SQL:llä) jo tallennettujen tietojen käyttämiseksi Amazonin yksinkertainen tallennuspalvelu (Amazon S3) ja luetteloitu AWS-liima Data Katalogi.
Seuraava kaavio antaa yleiskuvan Cepsan MLOps-arkkitehtuurista.
Malliharjoittelu
Koulutusprosessi on jokaiselle mallille itsenäinen ja sitä hoitaa a Step Functions -standardin työnkulku, mikä antaa meille joustavuutta mallintaa prosesseja erilaisiin projektivaatimuksiin. Meillä on määritelty perusmalli, jota käytämme uudelleen useimmissa projekteissa ja teemme tarvittaessa pieniä muutoksia. Jotkut projektien omistajat ovat esimerkiksi päättäneet lisätä manuaalisia portteja uusien tuotantomallien käyttöönoton hyväksymiseksi, kun taas toiset projektinomistajat ovat ottaneet käyttöön omia virheiden havaitsemis- ja uudelleenyritysmekanismejaan.
Suoritamme myös muunnoksia mallikoulutuksessa käytettäville syöttötietosarjoille. Käytämme tähän tarkoitukseen Lambda-toimintoja, jotka on integroitu koulutustyönkulkuihin. Joissakin skenaarioissa, joissa vaaditaan monimutkaisempia datamuunnoksia, suoritamme koodimme sisään Amazonin elastisten säiliöiden palvelu (Amazon ECS) päällä AWS-veljeskunta, palvelimeton laskentakone säiliöiden suorittamiseen.
Datatieteen tiimimme käyttää mukautettuja algoritmeja usein, joten hyödynnämme mahdollisuutta käytä mukautettuja säiliöitä SageMaker-mallikoulutuksessa, luottaa johonkin Amazonin elastisten säiliörekisteri (Amazon ECR), täysin hallittu säilörekisteri, jonka avulla on helppo tallentaa, hallita, jakaa ja ottaa käyttöön säilökuvia.
Suurin osa ML-projekteistamme perustuu Scikit-learn-kirjastoon, joten olemme laajentaneet standardia SageMaker Scikit-learn -säiliö sisällyttääksesi projektiin tarvittavat ympäristömuuttujat, kuten Git-tietovaraston tiedot ja käyttöönottovaihtoehdot.
Tällä lähestymistavalla datatieteilijöidemme tarvitsee vain keskittyä koulutusalgoritmin kehittämiseen ja täsmentää projektin edellyttämät kirjastot. Kun he työntävät koodimuutoksia Git-tietovarastoon, CI/CD-järjestelmämme (Jenkins isännöi AWS) rakentaa säilön koulutuskoodilla ja kirjastoilla. Tämä kontti työnnetään Amazon ECR:ään ja siirretään lopulta parametriksi SageMaker-koulutuskutsuun.
Kun koulutusprosessi on valmis, tuloksena oleva malli tallennetaan Amazon S3:een, mallirekisteriin lisätään viite ja kaikki kerätyt tiedot ja mittarit tallennetaan kokeiluluetteloon. Tämä takaa täydellisen toistettavuuden, koska algoritmikoodi ja kirjastot on linkitetty koulutettuun malliin yhdessä kokeeseen liittyvien tietojen kanssa.
Seuraava kaavio havainnollistaa mallin koulutus- ja uudelleenkoulutusprosessia.
Mallin käyttöönotto
Arkkitehtuuri on joustava ja mahdollistaa koulutettujen mallien automaattisen ja manuaalisen käyttöönoton. Mallin käyttöönottotyönkulku käynnistyy automaattisesti tapahtuman avulla, jonka SageMaker-koulutus julkaisee EventBridgessä koulutuksen päätyttyä, mutta se voidaan kutsua tarvittaessa myös manuaalisesti siirtämällä oikea malliversio mallirekisteristä. Lisätietoja automaattisesta kutsusta on kohdassa Amazon SageMakerin automatisointi Amazon EventBridgen avulla.
Mallin käyttöönottotyönkulku noutaa mallitiedot mallirekisteristä ja käyttää niitä AWS-pilven muodostuminen, hallinnoitu infrastruktuuri koodipalveluna joko ottaa malli käyttöön reaaliaikaisessa päättelypäätepisteessä tai suorittaa eräpäätelmän tallennetun syöttötietojoukon avulla projektin vaatimuksista riippuen.
Aina kun malli on otettu käyttöön missä tahansa ympäristössä, mallirekisteri päivitetään uudella tunnisteella, joka osoittaa, missä ympäristöissä mallia parhaillaan käytetään. Aina kun päätepiste poistetaan, sen tunniste poistetaan myös mallirekisteristä.
Seuraava kaavio näyttää työnkulkumallin käyttöönoton ja päättelyn.
Kokeilut ja mallirekisteri
Jokaisen kokeilun ja malliversion tallentaminen yhteen paikkaan ja keskitetty koodivarasto mahdollistavat mallin koulutuksen ja käyttöönoton irrotuksen sekä eri AWS-tillien käytön jokaisessa projektissa ja ympäristössä.
Kaikki kokeilumerkinnät tallentavat koulutuksen sitoutumistunnuksen ja päättelykoodin, joten meillä on täydellinen jäljitettävyys koko kokeiluprosessista ja voimme helposti vertailla eri kokeita. Tämä estää meitä suorittamasta päällekkäistä työtä algoritmien ja mallien tieteellisessä tutkimusvaiheessa ja antaa meille mahdollisuuden ottaa mallimme käyttöön missä tahansa, riippumatta tilistä ja ympäristöstä, jossa malli on koulutettu. Tämä pätee myös malleihin, jotka on koulutettu AWS Cloud9 -kokeiluympäristössämme.
Kaiken kaikkiaan meillä on täysin automatisoitu mallin koulutus- ja käyttöönottoputkistot, ja meillä on joustavuus suorittaa nopeita manuaalisia mallin käyttöönottoja, kun jokin ei toimi kunnolla tai kun tiimi tarvitsee mallia, joka on otettu käyttöön eri ympäristössä kokeilutarkoituksiin.
Yksityiskohtainen käyttötapaus: YET Dragon -projekti
YET Dragon -projektin tavoitteena on parantaa Cepsan petrokemian tehtaan tuotantoa Shanghaissa. Tämän tavoitteen saavuttamiseksi tutkimme tuotantoprosessia perusteellisesti ja etsimme vähemmän tehokkaita vaiheita. Tavoitteenamme oli nostaa prosessien saantotehokkuutta pitämällä komponenttien pitoisuus tasan kynnysarvon alapuolella.
Tämän prosessin simuloimiseksi rakensimme neljä yleistettyä additiivinen mallia tai GAM, lineaarista mallia, joiden vaste riippuu ennustajamuuttujien tasaisista funktioista, ennustamaan kahden hapetusprosessin, yhden konsentraatioprosessin ja edellä mainitun saannon tuloksia. Rakensimme myös optimoijan käsittelemään neljän GAM-mallin tuloksia ja löytämään parhaat optimoinnit, joita tehtaalla voitaisiin soveltaa.
Vaikka mallimme on koulutettu historiallisilla tiedoilla, laitos voi joskus toimia olosuhteissa, joita ei ole rekisteröity koulutustietoaineistoon; odotamme, että simulaatiomallimme eivät toimi hyvin näissä skenaarioissa, joten rakensimme myös kaksi poikkeamien havaitsemismallia käyttämällä Isolation Forests -algoritmeja, jotka määrittävät, kuinka kaukana datapisteet ovat muuhun dataan poikkeamien havaitsemiseksi. Nämä mallit auttavat meitä havaitsemaan tällaiset tilanteet ja poistamaan automaattiset optimointiprosessit käytöstä aina, kun näin tapahtuu.
Teollisuuden kemialliset prosessit ovat erittäin vaihtelevia ja ML-mallit on sovitettava hyvin laitoksen toimintaan, joten tarvitaan toistuvaa uudelleenkoulutusta ja kaikissa tilanteissa käytettävien mallien jäljitettävyyttä. YET Dragon oli ensimmäinen ML-optimointiprojektimme, joka sisälsi mallirekisterin, kokeiden täydellisen toistettavuuden ja täysin hallitun automatisoidun koulutusprosessin.
Nyt täydellinen putki, joka tuo mallin tuotantoon (tietojen muuntaminen, mallin koulutus, kokeiden seuranta, mallirekisteri ja mallin käyttöönotto), on riippumaton jokaisesta ML-mallista. Näin voimme parantaa malleja iteratiivisesti (esimerkiksi lisäämällä uusia muuttujia tai testaamalla uusia algoritmeja) ja yhdistämään koulutus- ja käyttöönottovaiheet erilaisiin triggereihin.
Tulokset ja tulevat parannukset
Pystymme tällä hetkellä automaattisesti kouluttamaan, ottamaan käyttöön ja seuraamaan kuutta YET Dragon -projektissa käytettyä ML-mallia, ja olemme jo ottaneet käyttöön yli 30 versiota jokaiseen tuotantomalliin. Tämä MLOps-arkkitehtuuri on laajennettu satoihin ML-malleihin muissa projekteissa ympäri yritystä.
Aiomme jatkaa uusien YET-projektien käynnistämistä tähän arkkitehtuuriin perustuen, mikä on lyhentänyt projektin keskimääräistä kestoa 25 % bootstrapping-ajan lyhentymisen ja ML-putkien automatisoinnin ansiosta. Olemme myös arvioineet noin 300,000 XNUMX euron säästöjä vuodessa YET Dragon -projektin suorasta seurauksesta johtuvan sadon ja pitoisuuden kasvun ansiosta.
Tämän MLOps-arkkitehtuurin lyhyen aikavälin kehitys on kohti mallien seurantaa ja automaattista testausta. Aiomme testata automaattisesti mallin tehokkuutta verrattuna aiemmin käyttöön otettuihin malleihin ennen uuden mallin käyttöönottoa. Työskentelemme myös malliseurannan ja johtopäätöstietojen ajautuman seurannan toteuttamisessa Amazon SageMaker -mallimonitorimallin uudelleenkoulutuksen automatisoimiseksi.
Yhteenveto
Yritykset kohtaavat haasteen tuoda ML-projektinsa tuotantoon automatisoidusti ja tehokkaasti. ML-mallin täyden elinkaaren automatisointi auttaa lyhentämään projektiaikoja ja takaa paremman mallin laadun sekä nopeamman ja tiheämmän käyttöönoton tuotantoon.
Kehittämällä standardoitua MLOps-arkkitehtuuria, jonka eri liiketoiminnot ovat ottaneet käyttöön eri puolilla yhtiötä, me Cepsalla pystyimme nopeuttamaan ML-projektien käynnistystä ja parantamaan ML-mallin laatua tarjoamalla luotettavan ja automatisoidun kehyksen, jonka pohjalta tietotieteellinen tiimimme voivat innovoida nopeammin. .
Lisätietoja MLOpsista SageMakerissa on osoitteessa Amazon SageMaker MLOpsille ja tutustu muihin asiakkaiden käyttötapauksiin osoitteessa AWS-koneoppimisblogi.
Tietoja kirjoittajista
Guillermo Ribeiro Jiménez on Sr Data Scientist Cepsassa ja tohtori. ydinfysiikassa. Hänellä on 6 vuoden kokemus datatieteen projekteista pääasiassa tele- ja energiateollisuudessa. Tällä hetkellä hän johtaa datatutkijaryhmiä Cepsan Digital Transformation -osastolla keskittyen koneoppimisprojektien skaalaukseen ja tuotteistamiseen.
Guillermo Menéndez Corral on ratkaisuarkkitehti AWS Energy and Utilitiesissä. Hänellä on yli 15 vuoden kokemus SW-sovellusten suunnittelusta ja rakentamisesta, ja hän tarjoaa tällä hetkellä arkkitehtonista ohjausta AWS-asiakkaille energiateollisuudessa keskittyen analytiikkaan ja koneoppimiseen.
- Coinsmart. Euroopan paras Bitcoin- ja kryptopörssi.
- Platoblockchain. Web3 Metaverse Intelligence. Tietoa laajennettu. VAPAA PÄÄSY.
- CryptoHawk. Altcoinin tutka. Ilmainen kokeilu.
- Lähde: https://aws.amazon.com/blogs/machine-learning/how-cepsa-used-amazon-sagemaker-and-aws-step-functions-to-industrialize-their-ml-projects-and-operate- heidän-mallinsa-mittakaavassa/
- "
- 000
- 100
- 15 vuotta
- a
- kyky
- Meistä
- pääsy
- Tili
- Saavuttaa
- poikki
- Ad
- lisä-
- Etu
- vastaan
- algoritmi
- algoritmit
- Kaikki
- mahdollistaa
- jo
- Amazon
- keskuudessa
- Analytics
- analysoida
- kaikkialla
- api
- API
- sovellukset
- sovellettu
- lähestymistapa
- hyväksyä
- arkkitehtuurin
- arkkitehtuuri
- noin
- liittyvä
- automatisoida
- Automatisoitu
- automaattisesti
- automaattisesti
- automatisointi
- Automaatio
- saatavissa
- AWS
- koska
- tulossa
- ennen
- ovat
- alle
- PARAS
- Blogi
- rakentaa
- Rakentaminen
- rakentaa
- liiketoiminta
- yritykset
- tapaus
- tapauksissa
- keskitetty
- tietty
- haaste
- haasteet
- kemiallinen
- pilvi
- koodi
- sitoutumaan
- Yhteinen
- yritys
- täydellinen
- täysin
- monimutkainen
- komponentti
- osat
- Laskea
- keskittyminen
- kytkeä
- kuluttaa
- kuluttaja
- kulutus
- Kontti
- Kontit
- kustannukset
- voisi
- kattaa
- luoda
- luo
- luominen
- Tällä hetkellä
- asiakassuhde
- asiakas
- Asiakkaat
- tiedot
- tietojenkäsittely
- tietojen tutkija
- päätti
- päätökset
- Riippuen
- riippuu
- sijoittaa
- käyttöön
- käyttöönotto
- käyttöönotot
- suunniteltu
- suunnittelu
- yksityiskohtainen
- havaittu
- Detection
- Määrittää
- kehittäjille
- kehittämällä
- eri
- digitaalinen
- Digital Transformation
- ohjata
- pohtia
- Lohikäärme
- kukin
- helposti
- tehokkuus
- tehokas
- syntymässä
- mahdollistaa
- päätepiste
- energia
- Moottori
- Engineers
- ympäristö
- laitteet
- arvioidaan
- tapahtuma
- evoluutio
- täsmälleen
- esimerkki
- odottaa
- experience
- kokeilu
- tutkimus
- päin
- FAST
- nopeampi
- Ominaisuus
- varustellun
- Vihdoin
- Etunimi
- Joustavuus
- joustava
- Keskittää
- jälkeen
- Puitteet
- alkaen
- koko
- tehtävät
- tulevaisuutta
- Gates
- general
- mennä
- GitHub
- Global
- tavoite
- kahva
- ottaa
- auttaa
- auttaa
- erittäin
- historiallinen
- pitää
- isännöi
- hotellit
- Miten
- HTTPS
- Sadat
- kuvien
- täytäntöönpano
- täytäntöön
- parantaa
- parannus
- parantaminen
- Muilla
- sisältää
- Kasvaa
- itsenäinen
- itsenäisesti
- teollinen
- teollisuus
- tiedot
- tietoa
- Infrastruktuuri
- Innovaatio
- panos
- integroitu
- vuorovaikutteinen
- käyttöön
- eristäminen
- kysymykset
- IT
- Pitää
- pito
- avain
- käynnistäminen
- johtava
- oppiminen
- Kirjasto
- linjat
- sijainti
- näköinen
- kone
- koneoppiminen
- tehty
- ylläpitää
- huolto
- tehdä
- TEE
- hoitaa
- onnistui
- toimitusjohtaja
- tapa
- manuaalinen
- käsin
- välineet
- Metrics
- ML
- malli
- mallit
- monitori
- seuranta
- lisää
- eniten
- moninkertainen
- tarpeet
- käyttää
- toiminta
- optimointi
- Vaihtoehdot
- tilata
- organisaatio
- Muut
- oma
- omistajat
- Ohimenevä
- suorituskyky
- esittävä
- vaihe
- Fysiikka
- pistettä
- ennustaa
- ongelmia
- prosessi
- Prosessit
- tuottaja
- tuotanto
- projekti
- hankkeet
- mikäli
- tarjoaa
- tarjoamalla
- julkaista
- tarkoitus
- tarkoituksiin
- työntää
- laatu
- reaaliaikainen
- vähentää
- ilmoittautua
- kirjattu
- luotettava
- säilytyspaikka
- tarvitaan
- vaatimukset
- vastaus
- vastuut
- REST
- Saatu ja
- tulokset
- ajaa
- juoksu
- Asteikko
- skaalaus
- tiede
- Tiedemies
- tutkijat
- turvallinen
- Sarjat
- serverless
- palvelu
- Palvelut
- setti
- Shanghai
- Jaa:
- Lyhytaikainen
- Yksinkertainen
- simulointi
- single
- tilanne
- SIX
- So
- ratkaisu
- Ratkaisumme
- jonkin verran
- jotain
- erityinen
- nopeus
- vaiheissa
- standardi
- alkoi
- Levytila
- verkkokaupasta
- tehostaa
- Onnistuneesti
- järjestelmä
- Kohde
- joukkue-
- tiimit
- Telco
- testi
- Testaus
- -
- Lähde
- siksi
- perin pohjin
- kynnys
- Kautta
- aika
- kertaa
- kohti
- Jäljitettävyys
- raita
- Seuranta
- koulutus
- Muutos
- muunnokset
- siirtyminen
- varten
- us
- käyttää
- yleensä
- apuohjelmia
- arvo
- versio
- tarkkarajainen
- vaikka
- ilman
- Referenssit
- työnkulkuja
- työskentely
- maailman-
- kirjoittaminen
- vuosi
- vuotta
- tuotto