Hogyan futtat az Amazon Search nagyszabású, rugalmas gépi tanulási projekteket az Amazon SageMaker PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.

Hogyan futtat az Amazon Search nagyszabású, rugalmas gépi tanulási projekteket az Amazon SageMakerrel

Ha vásárolni kívánt terméket keresett az amazon.com oldalon, akkor az Amazon Search szolgáltatásait használta. Az Amazon Searchnál mi vagyunk felelősek ügyfeleink keresési és felfedezési élményéért világszerte. A háttérben indexeljük világméretű termékkatalógusunkat, nagymértékben méretezhető AWS-flottákat telepítünk, és fejlett gépi tanulást (ML) használunk, hogy releváns és érdekes termékeket illesszünk minden ügyfél kérésére.

Tudósaink rendszeresen több ezer ML modellt képeznek ki a keresési eredmények minőségének javítása érdekében. A nagyszabású kísérletezés támogatása sajátos kihívásokat jelent, különösen az ezeket az ML-modelleket oktató tudósok termelékenységének javítását illetően.

Ebben a bejegyzésben megosztjuk, hogyan építettünk fel egy irányítási rendszert Amazon SageMaker képzési munkákat, lehetővé téve tudósaink számára, hogy kísérletek ezreit gyújtsák meg és felejtsék el, és szükség esetén értesítést kapjanak. Mostantól a nagy értékű feladatokra és az algoritmushibák megoldására összpontosíthatnak, idejük 60%-át megtakarítva.

A kihívás

Az Amazon Searchnál tudósaink az információ-visszakeresési problémákat úgy oldják meg, hogy kísérleteznek és számos ML modell képzési feladatot futtatnak a SageMakeren. Hogy lépést tudjunk tartani csapatunk innovációjával, modelljeink összetettsége és a képzési munkák száma az idők során nőtt. A SageMaker képzési munkái lehetővé teszik számunkra, hogy csökkentsük a modellek méretarányos betanításának és hangolásának idejét és költségeit, az infrastruktúra kezelésének szükségessége nélkül.

Mint minden az ilyen nagyszabású ML projektekben, a képzési munkák is számos tényező miatt meghiúsulhatnak. Ez a bejegyzés az algoritmushibák miatti kapacitáshiányokra és meghibásodásokra összpontosít.

Feladatkezelő rendszerrel rendelkező architektúrát terveztünk, amely elviseli és csökkenti annak valószínűségét, hogy egy feladat kapacitáshiány vagy algoritmushiba miatt meghiúsul. Lehetővé teszi a tudósok számára, hogy kirúgjanak és felejtsenek el több ezer képzési feladatot, automatikusan újrapróbálják őket átmeneti meghibásodás esetén, és szükség esetén értesítést kapjanak a sikerről vagy a kudarcról.

Megoldás áttekintése

Az alábbi megoldási diagramon a SageMaker képzési munkákat használjuk megoldásunk alapegységeként. Vagyis egy munka egy ML-modell végpontok közötti betanítását jelenti.

Ennek a megoldásnak a magas szintű munkafolyamata a következő:

  1. A tudósok egy API-t hívnak meg, hogy új feladatot küldjenek be a rendszernek.
  2. Az állás regisztrálva van a New állapotát egy metaadattárban.
  3. A feladatütemező aszinkron módon lekéri New feladatokat a metaadattárból, elemzi a bemenetüket, és mindegyikhez megpróbál SageMaker képzési feladatokat indítani. Állapotuk erre módosul Launched or Failed sikerétől függően.
  4. A monitor rendszeres időközönként ellenőrzi a munkák előrehaladását, és jelentést készít róluk Completed, Failedvagy InProgress állapot a metaadattárban.
  5. Egy értesítő aktiválódik a jelentéshez Completed és a Failed munkát a tudósoknak.

A munkaelőzmények megőrzése a metaadattárban azt is lehetővé teszi csapatunk számára, hogy trendelemzést végezzen, és nyomon kövesse a projekt előrehaladását.

Ez a munkaütemezési megoldás lazán csatolt kiszolgáló nélküli komponenseket használ a AWS Lambda, Amazon DynamoDB, Amazon Simple Notification Service (Amazon SNS), és Amazon EventBridge. Ez biztosítja a horizontális méretezhetőséget, lehetővé téve tudósaink számára, hogy munkák ezreit indítsák el minimális műveleti ráfordítással. A következő ábra a szerver nélküli architektúrát mutatja be.

Megoldásunk építészeti áttekintése

A következő szakaszokban részletesebben foglalkozunk az egyes szolgáltatásokkal és azok összetevőivel.

A DynamoDB a feladatfuttatások metaadattárolója

A DynamoDB könnyű használhatósága és méretezhetősége természetes választássá tette a feladatok metaadatainak DynamoDB táblában való megőrzését. Ez a megoldás a tudósok által benyújtott munkák számos attribútumait tárolja, ezáltal segítve az előrehaladás nyomon követését és a munkafolyamatok összehangolását. A legfontosabb tulajdonságok a következők:

  • JobId – Egyedi munkaazonosító. Ezt automatikusan generálhatja vagy a tudós biztosíthatja.
  • JobStatus – A munka állapota.
  • JobArgs – A képzési feladat létrehozásához szükséges egyéb érvek, például az Amazon S3 beviteli útvonala, a képzési kép URI-ja stb. A képzési feladat létrehozásához szükséges paraméterek teljes listáját lásd: CreateTrainingJob.

Lambda az alapvető logikához

Hármat használunk konténer alapú A lambda funkciók a munkafolyamat irányításához:

  • Állás beküldése – Ezt a funkciót a tudósok akkor használják fel, amikor új munkákat kell indítaniuk. Az egyszerűség kedvéért API-ként működik. Előre is lehet vele Amazon API átjáró, ha szükséges. Ez a függvény regisztrálja a feladatokat a DynamoDB táblában.
  • Indítsa el a Jobs alkalmazást – Ez a funkció időnként visszakeres New feladatokat a DynamoDB táblából, és elindítja azokat a SageMaker segítségével CreateTrainingJob parancs. Újrapróbál átmeneti hibák esetén, mint pl ResourceLimitExceeded és a CapacityError, hogy a műszer rugalmasságát a rendszerbe. Ezután frissíti a munka állapotát mint Launched or Failed sikerétől függően.
  • Monitor Jobs – Ez a funkció rendszeresen nyomon követi a munka előrehaladását a gomb segítségével Leírja a TrainingJob parancsot, és ennek megfelelően frissíti a DynamoDB táblát. Ez szavaz Failed feladatokat a metaadatokból, és felméri, hogy kell-e újra elküldeni, vagy véglegesen meghiúsultként kell-e megjelölni. Ezenkívül értesítő üzeneteket tesz közzé a tudósoknak, amikor munkájuk terminális állapotba kerül.

EventBridge az ütemezéshez

Az EventBridge-et használjuk a Jobs Launch Jobs és a Monitor Jobs Lambda funkciók ütemezett futtatására. További információkért lásd: Oktatóanyag: Ütemezze az AWS Lambda funkcióit az EventBridge segítségével.

Alternatív megoldásként használhatja Amazon DynamoDB Streams a kiváltó okok számára. További információkért lásd DynamoDB Streams és AWS Lambda triggerek.

Értesítések az Amazon SNS-rel

Tudósaink azok e-mailben értesítik az Amazon SNS segítségével amikor munkáik terminális állapotba kerülnek (Failed maximális számú újrapróbálkozás után), Completedvagy Stopped.

Következtetés

Ebben a bejegyzésben megosztottuk, hogy az Amazon Search hogyan növeli rugalmasságát az ML-modell képzési terheléseihez azáltal, hogy ütemezi őket, és kapacitáshiány vagy algoritmushiba esetén újrapróbálja őket. A Lambda függvényeket a DynamoDB táblával együtt használtuk központi metaadattárolóként a teljes munkafolyamat irányításához.

Egy ilyen ütemezési rendszer lehetővé teszi a tudósok számára, hogy beadják munkáikat, és elfelejtsenek róluk. Ez időt takarít meg, és lehetővé teszi számukra, hogy jobb modellek írására összpontosítsanak.

Ha tovább szeretne tanulni, látogassa meg Félelmetes SageMaker és egyetlen helyen megtalálja a SageMakerrel való munkához szükséges összes releváns és naprakész erőforrást.


A szerzőkről

Hogyan futtat az Amazon Search nagyszabású, rugalmas gépi tanulási projekteket az Amazon SageMaker PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.Luochao Wang az Amazon Search szoftvermérnöke. A skálázható elosztott rendszerekre és a felhőben található automatizálási eszközökre összpontosít, hogy felgyorsítsa a tudományos innováció ütemét a Machine Learning alkalmazásokban.

Hogyan futtat az Amazon Search nagyszabású, rugalmas gépi tanulási projekteket az Amazon SageMaker PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.Ishan Bhatt az Amazon Prime Video csapat szoftvermérnöke. Elsősorban az MLOps területen dolgozik, és az elmúlt 4 évben szerzett tapasztalatot MLOps termékek építésében az Amazon SageMaker használatával.

Hogyan futtat az Amazon Search nagyszabású, rugalmas gépi tanulási projekteket az Amazon SageMaker PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.Abhinandan Patni az Amazon Search vezető szoftvermérnöke. A skálázható, elosztott mély tanulási képzéshez és a valós idejű következtetésekhez szükséges rendszerek és eszközök kiépítésére összpontosít.

Hogyan futtat az Amazon Search nagyszabású, rugalmas gépi tanulási projekteket az Amazon SageMaker PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.Eiman Elnahrawy az Amazon Search vezető szoftvermérnöke, aki a gépi tanulás gyorsításával, méretezésével és automatizálásával kapcsolatos erőfeszítéseket vezeti. Szakértelme több területre is kiterjed, beleértve a gépi tanulást, az elosztott rendszereket és a személyre szabást.

Hogyan futtat az Amazon Search nagyszabású, rugalmas gépi tanulási projekteket az Amazon SageMaker PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.Sofian Hamiti az AWS AI/ML-specialista megoldástervezője. Segíti az ügyfeleket a különböző iparágakban, hogy felgyorsítsák az AI/ML-útjukat azáltal, hogy segít nekik a végpontok közötti gépi tanulási megoldások kidolgozásában és üzemeltetésében.

Romi DattaDr. Romi Datta  az Amazon SageMaker csapatának termékmenedzsmentért felelős vezető menedzsere, aki a képzésért, a feldolgozásért és a funkciók tárolásáért felelős. Több mint 4 éve dolgozik az AWS-ben, és számos termékmenedzsment-vezetői szerepet tölt be a SageMaker, az S3 és az IoT területén. Az AWS előtt különböző termékmenedzsment, mérnöki és üzemeltetési vezetői pozíciókban dolgozott az IBM-nél, a Texas Instrumentsnél és az Nvidiánál. MS és Ph.D fokozata van. Elektromos és számítástechnikai mérnöki diplomát az austini Texasi Egyetemen, valamint MBA-t a University of Chicago Booth School of Business-én.

Hogyan futtat az Amazon Search nagyszabású, rugalmas gépi tanulási projekteket az Amazon SageMaker PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.RJ a Search M5 csapatának mérnöke, aki nagyszabású mély tanulási rendszerek kiépítésére irányuló erőfeszítéseket vezet a képzéshez és a következtetésekhez. A munkán kívül különféle ételeket fedez fel, és ütősportokat űz.

Időbélyeg:

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