Improving stability and flexibility of ML pipelines at Amazon Packaging Innovation with Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Az ML csővezetékek stabilitásának és rugalmasságának javítása az Amazon Packaging Innovationnél az Amazon SageMaker Pipelines segítségével

A vásárlók örömére és a csomagolási hulladék minimalizálása érdekében az Amazonnak évente több milliárd csomaghoz ki kell választania az optimális csomagolási típust. Ha túl kevés védelmet használnak egy törékeny tárgyhoz, például egy kávésbögréhez, az elem sérülten érkezik, és az Amazon kockáztatja ügyfele bizalmát. A túl sok védelem használata megnövekszik a költségekhez és túlságosan megtelnek az újrahasznosító edények. A több százmillió elérhető termék miatt méretezhető döntési mechanizmusra van szükség ahhoz, hogy folyamatosan tanuljunk a terméktesztelésekből és a vásárlói visszajelzésekből.

E problémák megoldására az Amazon Packaging Innovation csapata gépi tanulási (ML) modelleket fejlesztett ki, amelyek osztályozzák, hogy a termékek alkalmasak-e az Amazon csomagolási típusaihoz, például postai küldeményekhez, táskákhoz vagy dobozokhoz, vagy akár további csomagolás nélkül is szállíthatók-e. Korábban a csapat egyedi csővezetéket fejlesztett ki az alapján AWS lépésfunkciók heti képzés és napi vagy havi következtetési munkák elvégzésére. Idővel azonban a folyamat nem biztosított kellő rugalmasságot az új architektúrájú modellek elindításához. Az új csővezetékek fejlesztése többletköltséget és szükséges koordinációt jelentett az adattudósok és a fejlesztők között. E nehézségek leküzdése, valamint az új modellek és architektúrák bevezetésének gyorsítása érdekében a csapat úgy döntött, hogy megszervezi a modellképzést és a következtetéseket. Amazon SageMaker csővezetékek.

Ebben a bejegyzésben a Step Functions-on alapuló korábbi hangszerelési architektúrát tárgyaljuk, felvázoljuk a képzési és következtetési architektúrákat a Pipelines használatával, és kiemeljük az Amazon Packaging Innovation csapata által elért rugalmasságot.

Az Amazon Packaging Innovation korábbi ML-csővezetékének kihívásai

A csomagok teljesítményével kapcsolatos folyamatos visszajelzések beépítése érdekében hetente egy új modellt képeznek ki egyre több címkével. A teljes termékkészletre vonatkozó következtetést havonta hajtják végre, és napi következtetést hajtanak végre annak érdekében, hogy az újonnan hozzáadott készlethez pontosan időben előrejelzéseket készítsenek.

A több modell betanítási folyamatának automatizálása és az előrejelzések biztosítása érdekében a csapat a Step Functions-on alapuló egyéni folyamatot fejlesztett ki a következő lépések összehangolására:

  • Adatok előkészítése oktatási és következtetési munkákhoz, valamint előrejelzések betöltése az adatbázisba (Amazon RedShift) A AWS ragasztó.
  • Modellképzés és következtetés Amazon SageMaker.
  • A modell teljesítménymutatóinak kiszámítása az érvényesítési halmazon -val AWS köteg.
  • <p></p> Amazon DynamoDB modellkonfigurációk tárolására (például adatfelosztási arány a betanításhoz és érvényesítéshez, a modell műtermékének helye, a modell típusa, valamint a betanításhoz és következtetésekhez szükséges példányok száma), a modell teljesítménymutatói és a legújabb sikeresen betanított modellverzió.
  • A modell teljesítménypontszámai közötti különbségek kiszámítása, a képzési címkék eloszlásában bekövetkezett változások, valamint a bemeneti adatok méretének összehasonlítása a korábbi és az új modellverziók között AWS Lambda funkciókat.
  • A lépések nagy száma miatt a csővezeték minden lépésénél megbízható riasztórendszerre is szükség volt, hogy figyelmeztesse az érdekelt feleket az esetleges problémákra. Ez kombinációjával valósult meg Amazon Simple Queue Service (Amazon SQS) és Amazon Simple Notification Service (Amazon SNS). A riasztásokat azért hozták létre, hogy értesítsék az üzleti érdekelt feleket, az adatkutatókat és a fejlesztőket a sikertelen lépésekről és a modell- és adatmetrikák nagy eltéréseiről.

A megoldás közel 2 éves használata után a csapat rájött, hogy ez az implementáció csak egy tipikus ML-munkafolyamatnál működik jól, ahol egyetlen modellt betanítottak és értékeltek egy validációs adatkészleten. A megoldás azonban nem volt elég rugalmas az összetett modellekhez, és nem volt ellenálló a hibákkal szemben. Például az architektúra nem tudta könnyen befogadni a szekvenciális modellképzést. Nehéz volt hozzáadni vagy eltávolítani egy lépést a teljes folyamat megkettőzése és az infrastruktúra módosítása nélkül. Még az adatfeldolgozási lépések egyszerű megváltoztatása is, mint például az adatfelosztási arány módosítása vagy egy másik szolgáltatáskészlet kiválasztása, mind az adattudós, mind a fejlesztő koordinációját igényelte. Ha a csővezeték bármely lépésben meghibásodott, elölről kellett újraindítani, ami ismételt futtatásokat és megnövekedett költségeket eredményezett. Az ismételt futtatások és a sikertelen lépésből való újraindítás elkerülése érdekében a csapat létrehoz egy új másolatot egy rövidített állapotú gépről. Ez a hibaelhárítás az állapotgépek elterjedéséhez vezetett, mindegyik a gyakran meghibásodott lépésekből indult ki. Végül, ha egy képzési feladat eltérést észlelt a címkék elosztásában, a modell pontszámában vagy a címkék számában, az adatkutatónak manuálisan kellett átnéznie a modellt és annak mérőszámait. Ezután egy adattudós hozzáfér egy DynamoDB táblához a modell verzióival, és frissíti a táblát annak biztosítására, hogy a következő következtetési feladathoz a megfelelő modellt használták-e.

Ennek az architektúrának a karbantartása legalább egy dedikált erőforrást és egy további teljes munkaidős erőforrást igényelt a fejlesztéshez. Tekintettel a folyamat új felhasználási esetekhez való kiterjesztésének nehézségeire, az adatkutatók elkezdték saját munkafolyamataikat kifejleszteni, ami viszont növekvő kódbázishoz, több, hasonló adatsémákkal rendelkező adattáblázathoz és decentralizált modellfigyeléshez vezetett. Ezeknek a problémáknak a felhalmozódása csökkentette a csapat termelékenységét és megnövekedett rezsiköltséget.

E kihívások megoldása érdekében az Amazon Packaging Innovation csapata más meglévő megoldásokat értékelt az MLOps számára, beleértve a SageMaker Pipelines-t (2020. decemberi megjelenési bejelentés). A Pipelines a SageMaker képessége a végpontok közötti ML munkafolyamatok felépítésére, kezelésére, automatizálására és méretezésére. A folyamatok lehetővé teszik a lépések számának csökkentését a teljes ML-munkafolyamatban, és elég rugalmasak ahhoz, hogy az adattudósok egyéni ML-munkafolyamatot határozhassanak meg. Gondoskodik a lépések figyeléséről és naplózásáról. Tartalmaz egy modellnyilvántartást is, amely automatikusan kidolgozza az új modelleket. A modellnyilvántartás beépített jóváhagyási munkafolyamatokkal rendelkezik a modellek kiválasztásához a gyártás során történő következtetésre. A folyamatok lehetővé teszik az azonos argumentumokkal meghívott lépések gyorsítótárazását is. Ha egy korábbi futtatást talál, a rendszer gyorsítótárat hoz létre, amely lehetővé teszi az egyszerű újraindítást a sikeresen végrehajtott lépések újraszámítása helyett.

Az értékelési folyamatban a Pipelines a többi megoldás közül kiemelkedett rugalmasságával és a jelenlegi és jövőbeli munkafolyamatok támogatására és bővítésére szolgáló funkciók elérhetőségével. A Pipelinesre való váltás felszabadította a fejlesztők idejét a platform karbantartása és hibaelhárítása előtt, és az új funkciók hozzáadására irányította a figyelmet. Ebben a bejegyzésben bemutatjuk a képzési és következtetési munkafolyamatok tervezését az Amazon Packaging Innovation csapatánál a Pipelines használatával. Megbeszéljük azt is, hogy milyen előnyökkel és költségcsökkentéssel járt a csapat a Pipelinesre való átállással.

Képzési csővezeték

Az Amazon Packaging Innovation csapata egyre több címkét használva képez modelleket minden csomagtípushoz. Az alábbi diagram a teljes folyamatot mutatja be.

A munkafolyamat a címkék és szolgáltatások kinyerésével kezdődik egy Amazon Redshift adatbázisból, majd kirakja az adatokat ide Amazon egyszerű tárolási szolgáltatás (Amazon S3) ütemezett kibontási, átalakítási és betöltési (ETL) feladaton keresztül. A bemeneti adatokkal együtt az S3 vödörbe kerül egy fájlobjektum a modell típusával és paramétereivel. Ez a fájl folyamatindítóként szolgál egy Lambda függvényen keresztül.

A következő lépések teljesen testreszabhatók, és teljes egészében egy adattudós határozza meg a SageMaker Python SDK for Pipelines használatával. Az ebben a bejegyzésben bemutatott forgatókönyv szerint a bemeneti adatok képzési és érvényesítési készletekre vannak felosztva, és egy SageMaker feldolgozási feladat elindításával visszamenthetők egy S3 tárolóba.

Amikor az adatok készen állnak az Amazon S3-ban, elindul a SageMaker képzési munka. A modell sikeres betanítása és létrehozása után a modellértékelési lépés végrehajtásra kerül az érvényesítési adatokon egy SageMaker kötegelt átalakítási feladaton keresztül. A modell mérőszámait ezután a rendszer összehasonlítja az előző heti modell mérőszámaival egy SageMaker feldolgozási feladat segítségével. A csapat több egyéni kritériumot határozott meg a modell teljesítményében mutatkozó eltérések értékelésére. A modellt e kritériumok alapján elutasítják vagy jóváhagyják. Ha a modellt elutasítják, akkor a következő következtetési feladatokhoz az előző jóváhagyott modell kerül felhasználásra. Ha a modellt jóváhagyják, a verziója regisztrálásra kerül, és azt a modellt használják a következtetési feladatokhoz. Az érintettek értesítést kapnak az eredményről amazonfelhőóra riasztások.

Az alábbi képernyőkép innen Amazon SageMaker Studio bemutatja a képzési folyamat lépéseit.

CsomagolásInnovációs-SMP-képzés

A Pipelines nyomon követi az egyes folyamatok futtatását, amelyeket a Studio alkalmazásban figyelhet. Alternatív megoldásként lekérdezheti a futtatás előrehaladását a segítségével Boto3 vagy a AWS parancssori interfész (AWS CLI). Megjelenítheti a modell mérőszámait a Studio alkalmazásban, és összehasonlíthatja a különböző modellverziókat.

Következtetési csővezeték

Az Amazon Packaging Innovation csapata havonta frissíti az előrejelzéseket a teljes termékkészletre vonatkozóan. Napi előrejelzések készülnek annak érdekében, hogy a legújabb betanított modellt használó, újonnan hozzáadott készlethez megfelelő csomagolási ajánlásokat adjon. Ez megköveteli, hogy a következtetési folyamat naponta fusson különböző mennyiségű adattal. A következő diagram ezt a munkafolyamatot mutatja be.

CsomagolásInnováció-következtetés-architektúra

A képzési folyamathoz hasonlóan a következtetés az adatok Amazon Redshiftből egy S3 tárolóba való kirakásával kezdődik. Az Amazon S3-ba helyezett fájlobjektum elindítja a Lambda függvényt, amely elindítja a következtetési folyamatot. A jellemzők fel vannak készítve a következtetésre, és az adatok megfelelő méretű fájlokra vannak osztva egy SageMaker Processing feladat segítségével. Ezután a folyamat azonosítja a legfrissebb jóváhagyott modellt az előrejelzések futtatásához és az S3 tárolóba való betöltéséhez. Végül az előrejelzések visszatöltésre kerülnek az Amazon Redshiftbe a Boto3-data API segítségével a SageMaker Processing feladaton belül.

A Studio következő képernyőképe a következtetési folyamat részleteit mutatja.

Improving stability and flexibility of ML pipelines at Amazon Packaging Innovation with Amazon SageMaker Pipelines PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Az ML munkafolyamatok SageMaker Pipelines segítségével történő megtervezésének előnyei

Ebben a részben bemutatjuk, hogy az Amazon Packaging Innovation csapata milyen eredményeket ért el a Pipelines-re való átállással a modellképzés és a következtetések levonásával.

Gyári szintű MLOps-funkciók

Miközben a következő ML-folyamatsor különböző belső és külső megoldásait hasonlította össze, egyetlen adattudósnak sikerült prototípust készítenie és kifejlesztenie egy Pipelines-alapú ML-munkafolyamat teljes verzióját egy Studio Jupyter környezetben, kevesebb mint 3 hét alatt. Már a prototípuskészítési szakaszban világossá vált, hogy a Pipelines minden szükséges infrastruktúra-összetevőt biztosít a termelési szintű munkafolyamatokhoz: a modellverziót, a gyorsítótárat és a riasztásokat. Ezen funkciók azonnali elérhetősége azt jelentette, hogy nem kell további időt tölteni fejlesztésükkel és testreszabásukkal. Ez az érték egyértelmű demonstrációja volt, amely meggyőzte az Amazon Packaging Innovation csapatát arról, hogy a Pipelines a megfelelő megoldás.

Rugalmasság az ML modellek fejlesztésében

A csapat adattudósai számára a legnagyobb nyereség az volt, hogy könnyen kísérleteztek és különböző modelleken keresztül iterálhattak. Függetlenül attól, hogy melyik keretrendszert részesítették előnyben az ML munkájukhoz, valamint a lépések és funkciók számától, a Pipelines kielégítette igényeiket. Az adatkutatókat felhatalmazták arra, hogy kísérletezzenek anélkül, hogy meg kellett volna várniuk a szoftverfejlesztési sprintet egy további funkció vagy lépés hozzáadásával.

Csökkent költségek

A SageMaker Pipelines képessége az ingyenes: csak a számítási erőforrásokért és a képzéshez és a következtetésekhez kapcsolódó tárhelyért kell fizetni. Ha azonban a költségekre gondol, nem csak az igénybe vett szolgáltatások költségeivel kell számolnia, hanem a munkafolyamat karbantartásához, hibakereséséhez és javításához szükséges fejlesztői órákkal is. A Pipelines-szel történő hangszerelés egyszerűbb, mert kevesebb darabból és ismerős infrastruktúrából áll. Korábban egy új funkció hozzáadásához legalább két emberre (adattudósra és szoftvermérnökre) volt szükség az Amazon Packaging Innovation csapatánál. Az újratervezett csővezetékkel a mérnöki erőfeszítések a csővezeték körüli további egyéni infrastruktúra felé irányulnak, mint például egyetlen tároló létrehozása a gépi tanulási kód nyomon követésére, a modell AWS-fiókok közötti telepítésének egyszerűsítése, az integrált ETL-feladatok fejlesztése és a közös újrafelhasználható funkciók.

A lépések hasonló bemenettel történő gyorsítótárazásának lehetősége is hozzájárult a költségek csökkenéséhez, mivel a csapatok kisebb valószínűséggel futották újra a teljes folyamatot. Ehelyett könnyen elindíthatnák a kudarc pontjáról.

Következtetés

Az Amazon Packaging Innovation csapata havi rendszerességgel képezi az ML modelleket, és rendszeresen frissíti az ajánlott termékcsomagolási típusokra vonatkozó előrejelzéseket. Ezek az ajánlások segítettek nekik elérni több csapat- és vállalati szintű célt azáltal, hogy csökkentik a hulladék mennyiségét, és minden egyes megrendeléssel örömet szereztek az ügyfeleknek. A betanítási és következtetési csővezetékeknek rendszeresen megbízhatóan kell futniuk, ugyanakkor lehetővé kell tenni a modellek folyamatos fejlesztését.

A Pipelines-re való átállás lehetővé tette a csapat számára, hogy 2 hónap alatt négy új multimodális modellarchitektúrát üzembe helyezzen. Egy új modell telepítéséhez a korábbi architektúrával 5 nap (ugyanolyan modellarchitektúra esetén) 1 hónap (új modellarchitektúra esetén) kellett volna. Ugyanennek a modellnek a Pipelines használatával történő telepítése lehetővé tette a csapat számára, hogy a fejlesztési időt 4 órára csökkentse ugyanazzal a modellarchitektúrával, és 5 napra egy új modellarchitektúrával. Ez a munkaidő közel 80%-os megtakarítását jelenti.

További források

További információért tekintse meg a következő forrásokat:


A szerzőkről

Ankur-Shukla-szerzőAnkur Shukla a Palo Alto-i székhelyű AWS-ProServe vezető adatkutatója. Az Ankur több mint 15 éves tanácsadói tapasztalattal rendelkezik, amely közvetlenül az ügyfelekkel dolgozik, és segíti őket a technológiai problémák megoldásában. Számos globális alkalmazott tudományos és ML-Ops kezdeményezést vezet az AWS-en belül. Szabadidejében szívesen olvas és a családjával tölti az idejét.

Akash-Singla-szerzőAkash Singla idősebb rendszerfejlesztő mérnök az Amazon Packaging Innovation csapatánál. Több mint 17 éves tapasztalattal rendelkezik kritikus üzleti problémák megoldásában a technológia segítségével számos üzleti ágazat számára. Jelenleg a NAWS-infrastruktúra frissítésére összpontosít a különféle csomagolás-központú alkalmazásokhoz, hogy jobb méretezhető legyen.

Vitalina-Komashko-szerzőVitalina Komashko az AWS Professional Services adattudós. PhD fokozatot szerzett farmakológiából és toxikológiából, de a kísérleti munkáról áttért az adattudományra, mert „az adatok generálását és az eredmények értelmezését saját kezűleg akarta”. Pályafutása során korábban biotechnológiai és gyógyszeripari cégeknél dolgozott. Az AWS-nél szívesen megoldja a különféle iparágakból származó ügyfelek problémáit, és megismeri egyedi kihívásaikat.

Prasanth-Meiyappan-szerzőPrasanth Meiyappan az Amazon Packaging Innovation Sr. Applied Scientist 4+ éve. Több mint 6 éves iparági tapasztalattal rendelkezik a gépi tanulás terén, és termékeket szállított, hogy javítsa a keresési és a csomagolási élményt. Prasanth szenvedélyesen rajong a fenntarthatóságért, és PhD fokozatot szerzett az éghajlatváltozás statisztikai modellezéséből.

Matthew-Bales-szerzőMatthew Bales idősebb kutató, aki a csomagtípusok kiválasztásának optimalizálásán dolgozik az ügyfelek visszajelzései és a gépi tanulás segítségével. Az Amazon előtt Matt posztdoktorként részecskefizikai szimulációkat végzett Németországban, előző életében pedig radioaktív orvosi implantátumok gyártási vezetőjeként dolgozott egy startupban. Ph.D. fokozattal rendelkezik. fizikából a Michigani Egyetemen.

Időbélyeg:

Még több AWS gépi tanulás