Kuinka Amazon Search suorittaa suuria, joustavia koneoppimisprojekteja Amazon SageMaker PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.

Kuinka Amazon Search suorittaa suuria, joustavia koneoppimisprojekteja Amazon SageMakerin avulla

Jos olet etsinyt ostettavaa tuotetta osoitteessa amazon.com, olet käyttänyt Amazon Search -palveluita. Olemme Amazon Searchilla vastuussa asiakkaidemme haku- ja löytökokemuksesta maailmanlaajuisesti. Taustalla indeksoimme maailmanlaajuista tuoteluetteloamme, otamme käyttöön erittäin skaalautuvia AWS-kalustoja ja käytämme edistynyttä koneoppimista (ML) löytääksemme osuvia ja kiinnostavia tuotteita jokaisen asiakkaan kyselyyn.

Tutkijamme kouluttavat säännöllisesti tuhansia ML-malleja parantaakseen hakutulosten laatua. Laajamittaisen kokeilun tukeminen asettaa omat haasteensa, erityisesti mitä tulee ML-malleja kouluttavien tutkijoiden tuottavuuden parantamiseen.

Tässä postauksessa kerromme, kuinka rakensimme johtamisjärjestelmän Amazon Sage Maker koulutustöitä, jolloin tutkijamme voivat ampua ja unohtaa tuhansia kokeita ja saada ilmoituksia tarvittaessa. He voivat nyt keskittyä arvokkaisiin tehtäviin ja algoritmisten virheiden ratkaisemiseen, mikä säästää 60 % ajastaan.

Haaste

Amazon Searchissa tutkijamme ratkaisevat tiedonhakuongelmia kokeilemalla ja suorittamalla lukuisia ML-mallin koulutustehtäviä SageMakerissa. Jotta voimme pysyä tiimimme innovaatioiden tahdissa, malliemme monimutkaisuus ja koulutustehtävien määrä ovat kasvaneet ajan myötä. SageMaker-koulutustyöt antavat meille mahdollisuuden vähentää aikaa ja kustannuksia näiden mallien kouluttamiseen ja virittämiseen mittakaavassa ilman infrastruktuurin hallintaa.

Kuten kaikki tällaisissa suurissa ML-projekteissa, koulutustyöt voivat epäonnistua useiden tekijöiden vuoksi. Tämä viesti keskittyy kapasiteetin puutteisiin ja algoritmivirheistä johtuviin vioihin.

Suunnittelimme arkkitehtuurin työnhallintajärjestelmällä, joka sietää ja pienentää työn epäonnistumisen todennäköisyyttä kapasiteetin puutteen tai algoritmivirheiden vuoksi. Sen avulla tutkijat voivat ampua ja unohtaa tuhansia koulutustöitä, yrittää niitä automaattisesti uudelleen ohimenevän vian sattuessa ja saada tarvittaessa ilmoituksen onnistumisesta tai epäonnistumisesta.

Ratkaisun yleiskatsaus

Seuraavassa ratkaisukaaviossa käytämme SageMakerin koulutustöitä ratkaisumme perusyksikkönä. Toisin sanoen työ edustaa ML-mallin päästä päähän -koulutusta.

Tämän ratkaisun korkean tason työnkulku on seuraava:

  1. Tutkijat käyttävät API:ta lähettääkseen uuden työn järjestelmään.
  2. Työ on rekisteröity New tila metatietokaupassa.
  3. Työn ajoitus noutaa asynkronisesti New työt metatietokaupasta, jäsentää niiden syötteen ja yrittää käynnistää SageMaker-koulutustyöt jokaiselle. Niiden tila muuttuu muotoon Launched or Failed onnistumisesta riippuen.
  4. Monitori tarkistaa töiden edistymisen säännöllisin väliajoin ja raportoi niistä Completed, Failedtai InProgress tila metatietosäilössä.
  5. Ilmoittaja laukeaa raportoimaan Completed ja Failed työpaikkoja tutkijoille.

Työhistorian säilyttäminen metatietosäilössä antaa myös tiimillemme mahdollisuuden tehdä trendianalyysiä ja seurata projektin edistymistä.

Tämä työn ajoitusratkaisu käyttää löyhästi kytkettyjä palvelimettomia komponentteja, jotka perustuvat AWS Lambda, Amazon DynamoDB, Amazonin yksinkertainen ilmoituspalvelu (Amazon SNS) ja Amazon EventBridge. Tämä varmistaa vaakasuuntaisen skaalautuvuuden, jolloin tutkijamme voivat käynnistää tuhansia työpaikkoja minimaalisella vaivalla. Seuraava kaavio havainnollistaa palvelimetonta arkkitehtuuria.

Ratkaisumme arkkitehtuurikatsaus

Seuraavissa osioissa käydään tarkemmin kustakin palvelusta ja sen osista.

DynamoDB metatietosäilönä työn suorittamista varten

DynamoDB:n helppokäyttöisyys ja skaalautuvuus tekivät töiden metatietojen säilyttämisestä DynamoDB-taulukossa luonnollisen valinnan. Tämä ratkaisu tallentaa useita tutkijoiden lähettämien töiden määritteitä, mikä auttaa edistymisen seurantaa ja työnkulun organisointia. Tärkeimmät attribuutit ovat seuraavat:

  • Työtunnus – Yksilöllinen työtunnus. Tämä voi olla automaattisesti luotu tai tiedemiesten tarjoama.
  • Työtilanne – Työn tila.
  • JobArgs – Muut koulutustyön luomiseen vaadittavat argumentit, kuten Amazon S3:n syöttöpolku, koulutuskuvan URI ja paljon muuta. Täydellinen luettelo koulutustyön luomiseen tarvittavista parametreista on kohdassa LuoTrainingJob.

Lambda ydinlogiikkaan

Käytämme kolmea konttipohjainen Lambda-toiminnot ohjaavat työnkulkua:

  • Lähetä työ – Tiedemiehet käyttävät tätä toimintoa, kun heidän on aloitettava uusia työpaikkoja. Se toimii API:na yksinkertaisuuden vuoksi. Voit myös edestä sen kanssa Amazon API -yhdyskäytävä, tarvittaessa. Tämä toiminto rekisteröi työt DynamoDB-taulukkoon.
  • Käynnistä Jobs – Tämä toiminto hakee ajoittain New työt DynamoDB-taulukosta ja käynnistää ne SageMakerin avulla LuoTrainingJob komento. Se yrittää uudelleen ohimenevien vikojen, kuten esim ResourceLimitExceeded ja CapacityError, jotta laite joustaa järjestelmän. Sen jälkeen se päivittää työn tilan muodossa Launched or Failed onnistumisesta riippuen.
  • Valvo työpaikkoja – Tämä toiminto seuraa ajoittain työn edistymistä käyttämällä Kuvaile TrainingJob -komento ja päivittää DynamoDB-taulukon vastaavasti. Se äänestää Failed työt metatiedoista ja arvioi, pitäisikö ne lähettää uudelleen tai merkitä lopullisesti epäonnistuneiksi. Se myös julkaisee ilmoitusviestejä tutkijoille, kun heidän työnsä saavuttavat terminaalitilan.

EventBridge ajoitusta varten

Käytämme EventBridgeä Launch Jobs- ja Monitor Jobs Lambda -toimintojen suorittamiseen aikataulussa. Lisätietoja on kohdassa Oppitunti: Ajoita AWS Lambda -toiminnot EventBridgen avulla.

Vaihtoehtoisesti voit käyttää Amazon DynamoDB-virrat laukaisimia varten. Katso lisätietoja DynamoDB-virrat ja AWS Lambda -liipaisimet.

Ilmoitukset Amazon SNS:n kautta

Tiedemiehemme ovat sähköpostitse Amazon SNS:n kautta kun heidän työnsä saavuttavat terminaalitilan (Failed enimmäismäärän uudelleenyritysten jälkeen) Completedtai Stopped.

Yhteenveto

Tässä viestissä jaoimme, kuinka Amazon Search lisää joustavuutta ML-mallin harjoitustyökuormille ajoittamalla ne ja yrittämällä niitä uudelleen kapasiteetin puutteen tai algoritmivirheiden vuoksi. Käytimme Lambda-funktioita yhdessä DynamoDB-taulukon kanssa keskeisenä metatietovarastona koko työnkulun järjestämiseen.

Tällainen aikataulujärjestelmä antaa tutkijoille mahdollisuuden jättää työpaikkansa ja unohtaa ne. Tämä säästää aikaa ja antaa heille mahdollisuuden keskittyä parempien mallien kirjoittamiseen.

Jos haluat mennä pidemmälle oppimisessasi, voit käydä osoitteessa Mahtava SageMaker ja löydät yhdestä paikasta kaikki olennaiset ja ajantasaiset resurssit, joita tarvitaan työskentelyyn SageMakerin kanssa.


Tietoja Tekijät

Kuinka Amazon Search suorittaa suuria, joustavia koneoppimisprojekteja Amazon SageMaker PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.Luochao Wang on ohjelmistosuunnittelija Amazon Searchissa. Hän keskittyy skaalautuviin hajautettuihin järjestelmiin ja automaatiotyökaluihin pilvessä nopeuttaakseen koneoppimissovellusten tieteellistä innovaatiota.

Kuinka Amazon Search suorittaa suuria, joustavia koneoppimisprojekteja Amazon SageMaker PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.Ishan Bhatt on ohjelmistosuunnittelija Amazon Prime Video -tiimissä. Hän työskentelee ensisijaisesti MLOps-tilassa ja hänellä on kokemusta MLOps-tuotteiden rakentamisesta viimeisten 4 vuoden ajalta Amazon SageMakerin avulla.

Kuinka Amazon Search suorittaa suuria, joustavia koneoppimisprojekteja Amazon SageMaker PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.Abhinandan Patni on vanhempi ohjelmistosuunnittelija Amazon Searchissa. Hän keskittyy rakentamaan järjestelmiä ja työkaluja skaalautuvaan hajautettuun syväoppimiskoulutukseen ja reaaliaikaiseen päättelyyn.

Kuinka Amazon Search suorittaa suuria, joustavia koneoppimisprojekteja Amazon SageMaker PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.Eiman Elnahrawy on Amazon Searchin johtava ohjelmistosuunnittelija, joka johtaa koneoppimisen kiihdyttämiseen, skaalaukseen ja automatisointiin liittyviä toimia. Hänen asiantuntemuksensa kattaa useita alueita, mukaan lukien koneoppiminen, hajautetut järjestelmät ja personointi.

Kuinka Amazon Search suorittaa suuria, joustavia koneoppimisprojekteja Amazon SageMaker PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.Sofian Hamiti on AI / ML-asiantuntijaratkaisuarkkitehti AWS: llä. Hän auttaa asiakkaita kaikilla toimialoilla nopeuttamaan tekoälyn / ML-matkansa auttamalla heitä rakentamaan ja operoimaan kokonaisvaltaisia ​​koneoppimisratkaisuja.

Romi DattaTohtori Romi Datta  on Amazon SageMaker -tiimin tuotehallinnan johtaja, joka vastaa koulutuksesta, käsittelystä ja ominaisuuskaupasta. Hän on työskennellyt AWS:ssä yli 4 vuotta ja hänellä on useita tuotehallinnan johtotehtäviä SageMakerissa, S3:ssa ja IoT:ssä. Ennen AWS:ää hän työskenteli erilaisissa tuotehallinnan, suunnittelun ja operatiivisen johtamisen tehtävissä IBM:llä, Texas Instrumentsilla ja Nvidialla. Hän on MS-tutkinto ja tohtori. sähkö- ja tietokonetekniikan tutkinnon Texasin yliopistosta Austinista ja MBA-tutkinnon Chicagon yliopiston Booth School of Businessista.

Kuinka Amazon Search suorittaa suuria, joustavia koneoppimisprojekteja Amazon SageMaker PlatoBlockchain Data Intelligencen avulla. Pystysuuntainen haku. Ai.RJ on Search M5 -tiimin insinööri, joka johtaa laajamittaisten syväoppimisjärjestelmien rakentamista koulutusta ja päätelmiä varten. Työn ulkopuolella hän tutkii erilaisia ​​ruokakulttuureja ja harrastaa mailaurheilua.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen