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:
- Tutkijat käyttävät API:ta lähettääkseen uuden työn järjestelmään.
- Työ on rekisteröity
New
tila metatietokaupassa. - 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 muotoonLaunched
orFailed
onnistumisesta riippuen. - Monitori tarkistaa töiden edistymisen säännöllisin väliajoin ja raportoi niistä
Completed
,Failed
taiInProgress
tila metatietosäilössä. - Ilmoittaja laukeaa raportoimaan
Completed
jaFailed
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.
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 esimResourceLimitExceeded
jaCapacityError
, jotta laite joustaa järjestelmän. Sen jälkeen se päivittää työn tilan muodossaLaunched
orFailed
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) Completed
tai 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
Luochao Wang on ohjelmistosuunnittelija Amazon Searchissa. Hän keskittyy skaalautuviin hajautettuihin järjestelmiin ja automaatiotyökaluihin pilvessä nopeuttaakseen koneoppimissovellusten tieteellistä innovaatiota.
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.
Abhinandan Patni on vanhempi ohjelmistosuunnittelija Amazon Searchissa. Hän keskittyy rakentamaan järjestelmiä ja työkaluja skaalautuvaan hajautettuun syväoppimiskoulutukseen ja reaaliaikaiseen päättelyyn.
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.
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.
Tohtori 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.
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.
- Lisäasetukset (300)
- AI
- ai taide
- ai taiteen generaattori
- ai robotti
- Amazon SageMaker -autopilotti
- tekoäly
- tekoälyn sertifiointi
- tekoäly pankkitoiminnassa
- tekoäly robotti
- tekoälyrobotit
- tekoälyohjelmisto
- AWS-koneoppiminen
- blockchain
- blockchain-konferenssi ai
- coingenius
- keskustelullinen tekoäly
- kryptokonferenssi ai
- dall's
- syvä oppiminen
- google ai
- koneoppiminen
- Platon
- plato ai
- Platonin tietotieto
- Platon peli
- PlatonData
- platopeliä
- mittakaava ai
- syntaksi
- zephyrnet