Ennek a blogbejegyzésnek a társszerzője Guillermo Ribeiro, a Cepsa Sr. Data Scientist.
A gépi tanulás (ML) gyorsan fejlődött az akadémiai környezetből és az innovációs részlegekből kibontakozó divatos trendből, amely kulcsfontosságú eszközzé vált az értékteremtéshez minden iparágban. Ez az átmenet a laboratóriumi kísérletekről a valós problémák megoldására a termelési környezetben kéz a kézben jár MLOps, vagy a DevOps adaptálása az ML világhoz.
Az MLOps segít az ML-modellek teljes életciklusának egyszerűsítésében és automatizálásában, a forrásadatkészletekre, a kísérletek reprodukálhatóságára, az ML algoritmus kódjára és a modell minőségére helyezve a hangsúlyt.
At Cepsa, egy globális energiaipari vállalat, az ML segítségével komplex problémákat kezelünk üzletágainkban, az ipari berendezések prediktív karbantartásától kezdve a finomítóink petrolkémiai folyamatainak felügyeletéig és fejlesztéséig.
Ebben a bejegyzésben megvitatjuk, hogyan építettük fel referenciaarchitektúránkat MLOps-hoz a következő kulcsfontosságú AWS-szolgáltatások használatával:
- Amazon SageMaker, az ML modellek építésére, betanítására és üzembe helyezésére szolgáló szolgáltatás
- AWS lépésfunkciók, egy szerver nélküli, alacsony kódú vizuális munkafolyamat-szolgáltatás, amelyet a folyamatok összehangolására és automatizálására használnak
- Amazon EventBridge, egy szerver nélküli eseménybusz
- AWS Lambda, egy kiszolgáló nélküli számítási szolgáltatás, amely lehetővé teszi a kód futtatását kiszolgálók kiépítése vagy kezelése nélkül
Azt is elmagyarázzuk, hogyan alkalmaztuk ezt a referencia-architektúrát az új ML projektek indítására cégünkben.
A kihívás
Az elmúlt 4 év során a Cepsa több üzletága indította el az ML projekteket, de hamarosan felmerültek bizonyos problémák és korlátok.
Nem rendelkeztünk referencia-architektúrával az ML-hez, így minden projekt más megvalósítási utat követett, ad hoc modellképzést és telepítést hajtott végre. A projektkód és a paraméterek kezelésének közös módszere, valamint az ML-modell-nyilvántartás vagy a verziókezelő rendszer nélkül elveszítettük az adatkészletek, kódok és modellek nyomon követhetőségét.
Azt is észleltük, hogy javítani kell a modellek éles üzemben tartásában, mivel nem figyeltük a telepített modelleket, és ezért nem volt módunk a modellek teljesítményének nyomon követésére. Ennek következtében általában időbeosztás alapján képeztük át a modelleket, mert hiányoztak a megfelelő mérőszámok a megalapozott átképzési döntések meghozatalához.
A megoldás
A leküzdendő kihívásokból kiindulva egy általános megoldást terveztünk, amely az adat-előkészítés, a modelltanítás, a következtetések és a modellfigyelés szétválasztását tűzte ki célul, és központi modellnyilvántartást tartalmazott. Így leegyszerűsítettük a környezetek kezelését több AWS-fiókban, miközben bevezettük a központosított modellkövethetőséget.
Adattudósaink és fejlesztőink használják AWS Cloud9 (egy felhőalapú IDE kód írásához, futtatásához és hibakereséséhez) az adatok bonyolítására és az ML-kísérletekre, a GitHub pedig a Git-kód tárháza.
Az automatikus képzési munkafolyamat az adattudományi csapat által készített kódot használja vonatmodellek a SageMakeren és a kimeneti modellek regisztrálásához a modellnyilvántartásban.
Egy másik munkafolyamat kezeli a modelltelepítést: beszerzi a hivatkozást a modellnyilvántartásból, és következtetési végpontot hoz létre a A SageMaker modell hosting szolgáltatásai.
Mind a modellképzési, mind az üzembe helyezési munkafolyamatokat Step Functions segítségével valósítottuk meg, mert ez olyan rugalmas keretrendszert biztosított, amely lehetővé teszi az egyes projektekhez specifikus munkafolyamatok létrehozását, valamint a különböző AWS-szolgáltatások és komponensek egyszerű összehangolását.
Adatfogyasztási modell
A Cepsában egy sor adattárat használunk a különféle üzleti igények kielégítésére, és ezeknek az adattóknak egy közös adatfelhasználási modellje van, amely megkönnyíti az adatmérnökök és adatkutatók számára a szükséges adatok megtalálását és felhasználását.
A költségek és felelősségek egyszerű kezelése érdekében a Data Lake környezeteket teljesen elválasztják az adatelőállító és fogyasztói alkalmazásoktól, és egy közös AWS-szervezethez tartozó különböző AWS-fiókokban helyezik üzembe.
Az ML-modellek betanításához használt adatok és a betanított modellek következtetési bemeneteként használt adatok elérhetővé válnak a különböző adatforrásokból jól definiált API-k segítségével. Amazon API átjáró, az API-k létrehozására, közzétételére, karbantartására, figyelésére és biztonságossá tételére szolgáló szolgáltatás. Az API háttérrendszer használja Amazon Athéné (interaktív lekérdező szolgáltatás az adatok szabványos SQL használatával történő elemzéséhez) a már tárolt adatok eléréséhez Amazon egyszerű tárolási szolgáltatás (Amazon S3) és katalogizálva a AWS ragasztó Adatkatalógus.
Az alábbi ábra általános áttekintést nyújt a Cepsa MLOps architektúrájáról.
Modellképzés
A képzési folyamat minden modell esetében független, és a Step Functions szabványos munkafolyamat, amely rugalmasságot biztosít számunkra a folyamatok modellezéséhez a különböző projektkövetelmények alapján. Van egy meghatározott alapsablonunk, amelyet a legtöbb projektnél újra felhasználunk, és szükség esetén kisebb módosításokat hajtunk végre. Például egyes projekttulajdonosok úgy döntöttek, hogy manuális kapukat adnak hozzá az új éles modellek telepítésének jóváhagyásához, míg más projekttulajdonosok saját hibaészlelési és újrapróbálkozási mechanizmusokat vezettek be.
Transzformációkat is végzünk a modelltanításhoz használt bemeneti adatkészleteken. Erre a célra a képzési munkafolyamatokba integrált Lambda funkciókat használunk. Egyes forgatókönyvekben, ahol összetettebb adatátalakításokra van szükség, befuttatjuk a kódunkat Amazon Elastic Container Service (Amazon ECS) bekapcsolva AWS Fargate, egy szerver nélküli számítási motor a konténerek futtatásához.
Adattudományi csapatunk gyakran használ egyéni algoritmusokat, ezért kihasználjuk a lehetőséget használjon egyedi konténereket a SageMaker modellképzésben, alapul véve Amazon Elastic Container Registry (Amazon ECR), egy teljesen felügyelt tároló-nyilvántartás, amely megkönnyíti a tárolóképek tárolását, kezelését, megosztását és telepítését.
A legtöbb ML projektünk a Scikit-learn könyvtáron alapul, ezért kiterjesztettük a szabványt SageMaker Scikit-learn tároló hogy tartalmazza a projekthez szükséges környezeti változókat, például a Git lerakat információit és a telepítési lehetőségeket.
Ezzel a megközelítéssel adattudósainknak csak a képzési algoritmus fejlesztésére kell összpontosítaniuk, és meg kell határozniuk a projekt által igényelt könyvtárakat. Amikor kódmódosításokat küldenek a Git tárolóba, a CI/CD rendszerünk (Jenkins Az AWS-en tárolt) összeállítja a tárolót a tanítási kóddal és a könyvtárakkal. Ezt a tárolót az Amazon ECR-be küldik, és végül paraméterként átadják a SageMaker képzési meghívónak.
Amikor a betanítási folyamat befejeződött, az eredményül kapott modellt az Amazon S3 tárolja, egy hivatkozást ad hozzá a modellnyilvántartáshoz, és az összes összegyűjtött információt és mérőszámot elmenti a kísérleti katalógusba. Ez biztosítja a teljes reprodukálhatóságot, mivel az algoritmus kódja és a könyvtárak a betanított modellhez kapcsolódnak a kísérlethez kapcsolódó adatokkal együtt.
A következő diagram a modellképzési és átképzési folyamatot szemlélteti.
Modell telepítés
Az architektúra rugalmas, és lehetővé teszi a betanított modellek automatikus és manuális telepítését. A modelltelepítő munkafolyamat automatikusan meghívásra kerül egy olyan eseményen keresztül, amelyet a SageMaker képzés az EventBridge-ben tesz közzé a képzés befejezése után, de szükség esetén manuálisan is meghívható, átadva a megfelelő modellverziót a modellnyilvántartásból. Az automatikus meghívással kapcsolatos további információkért lásd: Az Amazon SageMaker automatizálása az Amazon EventBridge segítségével.
A modelltelepítő munkafolyamata lekéri a modellinformációkat a modellnyilvántartásból, és használja AWS felhőképződés, egy felügyelt infrastruktúra kódszolgáltatásként, hogy a modellt valós idejű következtetési végpontra telepítse, vagy kötegelt következtetést hajtson végre egy tárolt bemeneti adatkészlettel, a projekt követelményeitől függően.
Amikor egy modellt bármilyen környezetben sikeresen telepítenek, a modell-nyilvántartás frissül egy új címkével, amely jelzi, hogy a modell jelenleg mely környezetekben fut. Amikor egy végpontot eltávolítanak, a címkéje is törlődik a modellnyilvántartásból.
A következő diagram a modelltelepítés és a következtetés munkafolyamatát mutatja be.
Kísérletek és modellnyilvántartás
Ha minden kísérletet és modellváltozatot egyetlen helyen tárolunk, és központi kódtárral rendelkezünk, akkor a modellképzés és a telepítés szétválasztható, és minden projekthez és környezethez különböző AWS-fiókokat használhatunk.
Minden kísérleti bejegyzés tárolja a betanítási és következtetési kód véglegesítési azonosítóját, így teljes körűen nyomon követhető a teljes kísérletezési folyamat, és könnyen össze tudjuk hasonlítani a különböző kísérleteket. Ez megakadályozza, hogy ismétlődő munkát végezzünk az algoritmusok és modellek tudományos feltárási szakaszában, és lehetővé teszi, hogy modelljeinket bárhol üzembe helyezzük, függetlenül attól a fióktól és környezettől, ahol a modellt betanították. Ez az AWS Cloud9 kísérleti környezetünkben betanított modellekre is igaz.
Összességében teljesen automatizált modellképzési és üzembe helyezési folyamataink vannak, és rugalmasak vagyunk a gyors kézi modelltelepítések végrehajtására, ha valami nem működik megfelelően, vagy ha egy csapatnak kísérleti célból egy másik környezetben telepített modellre van szüksége.
Részletes használati eset: YET Dragon projekt
A YET Dragon projekt célja a Cepsa sanghaji petrolkémiai üzemének termelési teljesítményének javítása. A cél elérése érdekében alaposan áttanulmányoztuk a gyártási folyamatot, keresve a kevésbé hatékony lépéseket. Célunk az volt, hogy a komponenskoncentrációt pontosan egy küszöbérték alatt tartsuk a folyamatok hozamhatékonyságának növelése érdekében.
Ennek a folyamatnak a szimulálására négy általánosított additív modellt vagy GAM-modellt építettünk, amelyek válasza a prediktor változók sima függvényeitől függ, hogy előre jelezzük két oxidációs folyamat, egy koncentrációs folyamat és a fent említett hozam eredményét. Építettünk egy optimalizálót is, amely feldolgozza a négy GAM modell eredményeit, és megtalálja az üzemben alkalmazható legjobb optimalizációkat.
Bár modelljeink előzményadatokkal vannak betanítva, az üzem néha olyan körülmények között is működhet, amelyeket nem regisztráltak a betanítási adatkészletben; arra számítunk, hogy a szimulációs modelljeink nem működnek jól ezekben a forgatókönyvekben, ezért két anomália-észlelési modellt is építettünk Isolation Forests algoritmusok segítségével, amelyek meghatározzák, milyen távolságra vannak az adatpontok a többi adattól az anomáliák észleléséhez. Ezek a modellek segítenek az ilyen helyzetek észlelésében, és letiltjuk az automatizált optimalizálási folyamatokat, amikor ez megtörténik.
Az ipari kémiai folyamatok nagyon változóak, és az ML modelleket jól össze kell hangolni az üzem működésével, ezért gyakori átképzésre, valamint az egyes helyzetekben alkalmazott modellek nyomon követhetőségére van szükség. MÉGIS a Dragon volt az első ML optimalizálási projektünk, amely modellnyilvántartást, a kísérletek teljes reprodukálhatóságát és egy teljesen felügyelt automatizált képzési folyamatot tartalmazott.
Mostantól a modellt termelésbe hozó teljes folyamat (adatátalakítás, modell betanítás, kísérletkövetés, modellnyilvántartás és modelltelepítés) független minden egyes ML-modell esetében. Ez lehetővé teszi a modellek iteratív javítását (például új változók hozzáadásával vagy új algoritmusok tesztelésével), valamint a képzési és telepítési szakaszok összekapcsolását különböző triggerekkel.
Az eredmények és a jövőbeni fejlesztések
Jelenleg képesek vagyunk automatikusan betanítani, üzembe helyezni és nyomon követni a YET Dragon projektben használt hat ML-modellt, és már több mint 30 verziót telepítettünk mindegyik éles modellhez. Ezt az MLOps architektúrát több száz ML modellre kiterjesztették a vállalat más projektjeiben.
Terveink szerint ezen az architektúrán alapuló újabb YET projektek indítását tervezzük, ami 25%-kal csökkentette a projektek átlagos időtartamát, köszönhetően a bootstrapping idő csökkentésének és az ML pipeline automatizálásának. Évente körülbelül 300,000 XNUMX eurós megtakarítást is becsültünk a hozam és a koncentráció növekedésének köszönhetően, amely a YET Dragon projekt közvetlen eredménye.
Ennek az MLOps architektúrának a rövid távú fejlődése a modellfigyelés és az automatizált tesztelés felé irányul. Azt tervezzük, hogy egy új modell bevezetése előtt automatikusan teszteljük a modell hatékonyságát a korábban telepített modellekkel szemben. Dolgozunk a modellfigyelés és a következtetési adatsodródás figyelésének megvalósításán is Amazon SageMaker Model Monitor, a modell-átképzés automatizálása érdekében.
Következtetés
A vállalatok azzal a kihívással néznek szembe, hogy ML projektjeiket automatizáltan és hatékonyan hozzák termelésbe. A teljes ML-modell életciklusának automatizálása csökkenti a projektidőt, és jobb modellminőséget, valamint gyorsabb és gyakoribb üzembe helyezést biztosít a termelésben.
Azáltal, hogy szabványosított MLOps architektúrát fejlesztettünk ki, amelyet a vállalat különböző üzletágai alkalmaztak, mi, a Cepsa felgyorsíthattuk az ML projektek rendszerindítását és javítani tudtuk az ML modellek minőségét, megbízható és automatizált keretrendszert biztosítva, amelyen adattudományi csapataink gyorsabban tudnak újítani. .
A SageMaker MLOp-jaival kapcsolatos további információkért látogasson el ide Amazon SageMaker MLOps-hoz és tekintse meg a többi ügyfélhasználati esetet a AWS gépi tanulási blog.
A szerzőkről
Guillermo Ribeiro Jiménez a Cepsa Sr Data Scientist PhD fokozattal. a nukleáris fizikában. 6 éves tapasztalattal rendelkezik adattudományi projektekben, elsősorban a telekommunikációs és energiaiparban. Jelenleg adatkutatói csoportokat vezet a Cepsa digitális átalakítási részlegében, a gépi tanulási projektek méretezésére és termékesítésére összpontosítva.
Guillermo Menéndez karám az AWS Energy and Utilities megoldások építésze. Több mint 15 éves tapasztalattal rendelkezik SW-alkalmazások tervezésében és építésében, jelenleg pedig építészeti útmutatást ad az AWS-ügyfeleknek az energiaiparban, az elemzésre és a gépi tanulásra összpontosítva.
- Coinsmart. Európa legjobb Bitcoin- és kriptográfiai tőzsdéje.
- Platoblockchain. Web3 metaverzum intelligencia. Felerősített tudás. SZABAD HOZZÁFÉRÉS.
- CryptoHawk. Altcoin radar. Ingyenes próbaverzió.
- Forrás: https://aws.amazon.com/blogs/machine-learning/how-cepsa-used-amazon-sagemaker-and-aws-step-functions-to-industrialize-their-ml-projects-and-operate- modelljeik méretben/
- "
- 000
- 100
- 15 év
- a
- képesség
- Rólunk
- hozzáférés
- Fiók
- Elérése
- át
- Ad
- hozzáadott
- Előny
- ellen
- algoritmus
- algoritmusok
- Minden termék
- lehetővé teszi, hogy
- már
- amazon
- között
- analitika
- elemez
- bárhol
- api
- API-k
- alkalmazások
- alkalmazott
- megközelítés
- jóváhagy
- építészeti
- építészet
- körül
- társult
- automatizált
- Automatizált
- Automatikus
- automatikusan
- automatizálás
- Automatizálás
- elérhető
- AWS
- mert
- egyre
- előtt
- hogy
- lent
- BEST
- Blog
- épít
- Épület
- épít
- üzleti
- vállalkozások
- eset
- esetek
- központosított
- bizonyos
- kihívás
- kihívások
- kémiai
- felhő
- kód
- elkövetni
- Közös
- vállalat
- teljes
- teljesen
- bonyolult
- összetevő
- alkatrészek
- Kiszámít
- koncentráció
- Csatlakozás
- fogyaszt
- fogyasztó
- fogyasztás
- Konténer
- Konténerek
- kiadások
- tudott
- terjed
- teremt
- teremt
- teremtés
- Jelenleg
- szokás
- vevő
- Ügyfelek
- dátum
- adat-tudomány
- adattudós
- határozott
- határozatok
- attól
- függ
- telepíteni
- telepített
- bevetés
- bevetések
- tervezett
- tervezés
- részletes
- észlelt
- Érzékelés
- Határozzuk meg
- fejlesztők
- fejlesztése
- különböző
- digitális
- digitális átalakítás
- közvetlen
- megvitatni
- Sárkány
- minden
- könnyen
- hatékonyság
- hatékony
- csiszolókő
- lehetővé teszi
- Endpoint
- energia
- Motor
- Mérnökök
- Környezet
- felszerelés
- becsült
- esemény
- evolúció
- pontosan
- példa
- vár
- tapasztalat
- kísérlet
- kutatás
- néző
- GYORS
- gyorsabb
- Funkció
- jellegű
- Végül
- vezetéknév
- Rugalmasság
- rugalmas
- Összpontosít
- következő
- Keretrendszer
- ból ből
- Tele
- funkciók
- jövő
- Gates
- általános
- megy
- GitHub
- Globális
- cél
- fogantyú
- tekintettel
- segít
- segít
- nagyon
- történeti
- tart
- házigazdája
- tárhely
- Hogyan
- HTTPS
- Több száz
- képek
- végrehajtás
- végre
- javul
- javulás
- javuló
- Más
- tartalmaz
- Növelje
- független
- függetlenül
- ipari
- ipar
- információ
- tájékoztatták
- Infrastruktúra
- Innováció
- bemenet
- integrált
- interaktív
- bevezetéséről
- szigetelés
- kérdések
- IT
- Tart
- tartás
- Kulcs
- indítás
- vezető
- tanulás
- könyvtár
- vonalak
- elhelyezkedés
- keres
- gép
- gépi tanulás
- készült
- fenntartása
- karbantartás
- csinál
- KÉSZÍT
- kezelése
- sikerült
- kezelése
- mód
- kézikönyv
- kézzel
- eszközök
- Metrics
- ML
- modell
- modellek
- monitor
- ellenőrzés
- több
- a legtöbb
- többszörös
- igények
- működik
- működés
- optimalizálás
- Opciók
- érdekében
- szervezet
- Más
- saját
- tulajdonosok
- Múló
- teljesítmény
- előadó
- fázis
- Fizika
- pont
- előre
- problémák
- folyamat
- Folyamatok
- termelő
- Termelés
- program
- projektek
- feltéve,
- biztosít
- amely
- közzétesz
- cél
- célokra
- meglökött
- világítás
- real-time
- csökkenteni
- Regisztráció
- nyilvántartott
- megbízható
- raktár
- kötelező
- követelmények
- válasz
- felelősség
- REST
- kapott
- Eredmények
- futás
- futás
- Skála
- skálázás
- Tudomány
- Tudós
- tudósok
- biztonság
- Series of
- vagy szerver
- szolgáltatás
- Szolgáltatások
- készlet
- Sanghajban
- Megosztás
- rövid időszak
- Egyszerű
- tettetés
- egyetlen
- helyzet
- SIX
- So
- megoldások
- Megoldások
- néhány
- valami
- különleges
- sebesség
- állapota
- standard
- kezdődött
- tárolás
- tárolni
- áramvonal
- sikeresen
- rendszer
- cél
- csapat
- csapat
- Telco
- teszt
- Tesztelés
- A
- The Source
- ebből adódóan
- alaposan
- küszöb
- Keresztül
- idő
- alkalommal
- felé
- Nyomon követhetőség
- vágány
- Csomagkövetés
- Képzések
- Átalakítás
- transzformációk
- átmenet
- alatt
- us
- használ
- rendszerint
- segédprogramok
- érték
- változat
- jól definiált
- míg
- nélkül
- Munka
- munkafolyamatok
- dolgozó
- világ
- írás
- év
- év
- Hozam