Parhaat käytännöt Amazon SageMaker Training Managed Warm Pools -altaille

Amazon SageMaker Training Managed Warm Pools antaa sinulle joustavuuden ottaa käyttöön uudelleenkäyttö ja pitää yllä taustalla olevaa infrastruktuuria käyttäjän määrittämän ajan. Tämä tehdään samalla, kun säilytetään se etu, että laskentaesiintymien hallinnan eriyttämätön raskas nostaminen tapahtuu Amazon SageMaker -mallikoulutus. Tässä viestissä hahmottelemme SageMaker Training Managed Warm Poolsin tärkeimmät edut ja kipukohdat sekä vertailuarvot ja parhaat käytännöt.

Yleiskatsaus SageMaker Training -hallittuihin lämpimiin altaisiin

SageMaker Model Training on täysin hallittu ominaisuus, joka pyörittää ilmentymiä jokaista työtä varten, kouluttaa mallin, suorittaa ja sitten pyörittää ilmentymiä työn jälkeen. Sinua laskutetaan vain työn kestosta sekuntiin asti. Tämä täysin hallittu ominaisuus antaa sinulle vapauden keskittyä koneoppimisalgoritmiisi (ML) etkä tarvitse huolehtia eriyttämättömistä raskaiden nostoista, kuten infrastruktuurin hallinnasta, kun harjoitat mallejasi.

Tämä mekanismi edellyttää rajallisen käynnistysajan koulutustyötä varten. Vaikka tämä käynnistysaika, joka tunnetaan myös nimellä kylmäkäynnistysaika, on melko alhainen, jotkut vaativimmista asiakaskäyttötapauksistamme vaativat vielä lyhyempiä käynnistysaikoja, esimerkiksi alle 20 sekuntia. On olemassa kaksi näkyvää käyttötapausta, joilla on nämä vaatimukset:

  • Ensimmäinen on aktiivinen ML-kokeilu, jonka datatieteilijät käyttävät Amazon Sage Maker koulutusalusta, erityisesti opetettaessa suuria malleja, kuten GPT3, jotka vaativat useita iteraatioita päästäkseen tuotantovalmiiseen tilaan.
  • Toinen on suuren määrän (useita satoja tai tuhansia) peräkkäisten töiden ohjelmallinen käynnistäminen samanlaisissa instansseissa ajoitetulla poljinnopeudella. Esimerkiksi parametrien haku tai inkrementaalinen harjoittelu.

Tällaisissa käyttötapauksissa jokainen yleiskustannuksiin käytetty sekunti, kuten koulutustyön käynnistysaika, vaikuttaa kumulatiivisesti kaikkiin näihin töihin.

SageMaker Training Managed Warm Poolsissa datatieteilijät ja ML-insinöörit voivat halutessaan pitää SageMaker-koulutusinstanssit tai usean ilmentymän klusterit lämpiminä ennalta määritetyn ja uudelleen konfiguroitavan ajan (keep_alive_period_in_seconds) jokaisen koulutustyön jälkeen. Joten vaikka saat kylmäkäynnistysrangaistuksen ensimmäisestä ilmentymässä tai klusterissa suoritetusta koulutustyöstä, kaikkien seuraavien koulutustöiden osalta ilmentymät ovat jo käynnissä. Tämän seurauksena nämä myöhemmät koulutustyöt, jotka alkavat esiintymässä ennen keep_alive_period_in_seconds vanheneminen ei aiheuta kylmäkäynnistysaikaa. Tämä voi lyhentää koulutustöiden aloitusajat noin alle 20 sekuntiin (P90).

Datatieteilijät ja ML-insinöörit voivat käyttää SageMaker Training Managed Warm Pool -palveluita pitääkseen yksittäiset tai useat instanssit lämpimänä harjoitusajojen välillä kokeilua varten tai suorittaakseen useita töitä peräkkäin samassa yhden tai usean esiintymän klusterissa. Maksat vain koulutustöiden kestosta ja uudelleenkonfiguroitavasta keep_alive_period_in_seconds kuten kaikkialla muualla, jonka määrität jokaiselle yksittäiselle esiintymälle.

Pohjimmiltaan SageMaker Training Managed Warm Pools tarjoaa yhdistelmän SageMakerin hallitun ilmentymän käyttöastetta ja mahdollisuutta valita ja tarjota kapasiteettia ja itsehallinnollista käyttöä lyhyin aikavälein. Nämä intervallit voidaan määrittää ennen työtä, mutta jos sen aikana keep_alive_period_in_seconds aikaväliä, sinun on pienennettävä tai lisättävä sitä, voit tehdä niin. Lisääntyy keep_alive_period_in_seconds voidaan tehdä enintään 60 minuutin välein, jolloin esiintymän tai klusterin enimmäisjakso on 7 päivää.

Aloita lämpimien uima-altaiden käyttö ensin pyytää lämpimän allaskiintiön korotustaja määritä sitten keep_alive_period_in_seconds parametri koulutustyötä aloittaessaan.

viitearvot

Teimme benchmarking-testejä työn aloitusviiveen mittaamiseksi käyttämällä 1.34 Gt:n TensorFlow-kuvaa, 2 Gt dataa ja erilaisia ​​harjoitustietojen syöttötiloja (Amazon FSx, Fast File Mode, File Mode). Testit ajettiin useille ilmentymätyypeille m4-, c4-, m5- ja c5-perheistä us-east-2 -alueella. Käynnistysviive mitattiin työpaikkojen luomisajankohdan ja varsinaisen koulutustyön alkamisen välisenä aikana. Ensimmäisten klusterin käynnistäneiden ja lämpimän altaan luoneiden töiden käynnistysviive oli 2–3 minuuttia. Tämä korkeampi viive johtuu ajasta, joka kuluu infrastruktuurin luomiseen, kuvan lataamiseen ja tietojen lataamiseen. Seuraavien töiden, jotka käyttivät lämmintä allasklusteria, käynnistysviive oli noin 20 sekuntia nopeassa tiedostotilassa (FFM) tai Amazon FSx:ssä ja 70 sekuntia tiedostotilassa (FM). Tämä delta johtuu siitä, että FM vaatii koko tietojoukon lataamisen Amazon S3:sta ennen työn aloittamista.

Valitsemasi harjoitustietojen syöttötila vaikuttaa käynnistysaikaan, jopa lämminaltaiden kanssa. Ohjeet siitä, mikä syöttötila valitaan, on parhaiden käytäntöjen osiossa myöhemmin tässä viestissä.

Seuraavassa taulukossa on yhteenveto työn käynnistysviiveestä P90 eri harjoitustietojen syöttötiloissa.

Tietojen syöttötila Käynnistysviive P90 (sekuntia)
Ensimmäinen työ Lämpimän allastyöt (toisesta työstä eteenpäin)
FSx 136 19
Nopea tiedostotila 143 21
Tiedostotila 176 70

Parhaat käytännöt lämpimien uima-altaiden käyttöön

Seuraavassa osiossa jaamme parhaita käytäntöjä lämpimien uima-altaiden käyttöön.

Milloin lämpimiä uima-altaita kannattaa käyttää?

Lämpimiä uima-altaita suositellaan seuraavissa tilanteissa:

  • Kokeilet ja virität käsikirjoitustasi vuorovaikutteisesti useiden lyhyiden töiden aikana.
  • Käytät omaa räätälöityä, laajamittaista hyperparametrioptimointiasi (esim. SyNee -viritys).
  • Sinulla on eräprosessi, joka suorittaa suuren määrän (useita satoja tai tuhansia) peräkkäisiä töitä samanlaisissa tapauksissa päivittäisellä tai viikoittaisella tahdilla. Esimerkiksi ML-mallin kouluttaminen kaupunkia kohden.

Lämpimiä uima-altaita ei suositella, jos on epätodennäköistä, että joku käyttää lämmintä allasta uudelleen ennen sen voimassaolon päättymistä. Esimerkiksi yksi pitkä työ, joka suoritetaan automatisoidun ML-putkilinjan kautta.

Minimoi lämpimän uima-altaan harjoittelun aloitusviive

Harjoittelutyöt, joissa käytetään uudelleen lämmintä allasta, alkavat nopeammin kuin ensimmäinen työ, joka loi lämpimän altaan. Tämä johtuu siitä, että ML-instanssit pidetään käynnissä välimuistissa olevan harjoitussäiliön Docker-kuvan töiden välillä, jotta säilön noutaminen ei Amazonin elastisten säiliörekisteri (Amazon ECR). Kaikille töille suoritetaan kuitenkin tiettyjä alustusvaiheita, vaikka lämmintä allasta käytetään uudelleen. Näiden vaiheiden optimointi voi lyhentää työn käynnistysaikaa (sekä ensimmäiset että seuraavat työt). Harkitse seuraavaa:

  • Harjoitustietojen syöttötila voi vaikuttaa käynnistysaikaan – Hallitut koulutusdatan syöttökanavat luodaan uudelleen jokaista koulutustyötä varten, mikä edistää työn käynnistysviivettä. Alkukokeilujen tekeminen pienemmällä tietojoukolla mahdollistaa nopeamman käynnistysajan (ja nopeamman harjoitusajan). Kokeilun myöhemmissä vaiheissa, kun tarvitaan suuri tietojoukko, harkitse sellaisen syöttötilan käyttöä, jolla on minimaalinen tai kiinteä alustusaika. Esimerkiksi FILE-syöttötila kopioi koko tietojoukon kohteesta Amazonin yksinkertainen tallennuspalvelu (Amazon S3) koulutusinstanssiin, mikä vie aikaa suurille tietojoukoille (jopa lämpimillä poolilla). Fast File Mode sopii paremmin pienempään käynnistysviiveeseen, koska vain S3-objektin metatiedot on luettava Amazon S3:sta ennen kuin työkuorma voi alkaa. The Amazon FSx Lusterilletai Amazonin elastinen tiedostojärjestelmä (Amazon EFS) -tiedostojärjestelmän syöttötilassa, sillä on kiinteä alustusaika tiedostojärjestelmän tiedostomäärästä riippumatta, mikä on hyödyllistä työskennellessäsi suuren tietojoukon kanssa.
    Lisätietoja tulokanavan valitsemisesta on kohdassa Valitse paras tietolähde Amazon SageMaker -koulutustyöllesi.
  • Vähennä pakettien ajonaikaista asennusta – Kaikki ohjelmistoasennukset, jotka tapahtuvat kontin käynnistyksen aikana, esimerkiksi Pythonin pip tai käyttöjärjestelmä apt-get, lisäävät koulutustyön viivettä. Tämän käynnistysviiveen minimoiminen edellyttää kompromissin tekemistä ajonaikaisten asennusten joustavuuden ja yksinkertaisuuden välillä verrattuna asennukseen kontin rakennusaikana. Jos käytät omaa Docker-säiliötäsi SageMakerin kanssa, katso Oman Docker-säiliön mukauttaminen toimimaan SageMakerin kanssa. Jos luotat valmiiksi rakennetut SageMaker-säiliökuvat, sinun täytyy laajentaa valmiiksi rakennettua konttia ja hallinnoida näitä säilöjä erikseen. Harkitse tätä, jos suorituksenaikaiset asennuksesi lisäävät merkittävästi käynnistysviivettä.
  • Vältä Docker-kuvan päivittämistä usein – Jos käytät omaa Docker-säilöäsi SageMakerin kanssa, yritä välttää sen päivittämistä jokaisen työn aikana. Jos Docker-kuva vaihtuu töiden lähetysten välillä, lämmintä poolia käytetään uudelleen, mutta käynnistysprosessin on poistettava säilökuva Amazon ECR:stä sen sijaan, että käytettäisiin uudelleen välimuistissa olevaa säilön kuvaa. Jos Docker-kuva on päivitettävä, rajoita päivitykset viimeiseen Docker-tasoon hyödyntääksesi Docker-tason välimuistia. Ihannetapauksessa sinun pitäisi poistaa Dockerfile-sisältö, joka todennäköisesti muuttuu iteraatioiden aikana, kuten hyperparametrit, tietojoukon määritelmät ja itse ML-koodi. Jos haluat iteroida ML-koodia ilman, että sinun tarvitsee rakentaa Docker-kuvia uudelleen jokaisen muutoksen yhteydessä, voit ottaa käyttöön SageMaker Training Toolkitissa suositun kehyssäilöparadigman. Jos haluat kehittää kehyskontin omalla koodillasi, katso tämä Amazon SageMaker opetusohjelma.

Jaa lämmin allas useiden käyttäjien kesken

Kun työskentelet suuren datatieteilijäryhmän kanssa, voit jakaa lämpimiä pooleja, joilla on vastaavat työn kriteerit, kuten sama AWS-henkilöllisyyden ja käyttöoikeuksien hallinta (IAM) rooli tai säilön kuva.

Katsotaanpa esimerkkiä aikajanasta. Käyttäjä-1 aloittaa harjoitustyön, joka valmistuu ja tuloksena on uusi lämmin allas. Kun käyttäjä-2 aloittaa koulutustyön, työ käyttää uudelleen olemassa olevaa lämmintä allasta, mikä johtaa työn nopeaan käynnistymiseen. Kun käyttäjä-2:n työ on käynnissä lämpimän altaan ollessa käytössä, jos toinen käyttäjä aloittaa harjoitustyön, luodaan toinen lämmin pool.

Tämä uudelleenkäyttökäyttäytyminen auttaa vähentämään kustannuksia jakamalla lämpimät poolit samanlaisia ​​töitä aloittavien käyttäjien kesken. Jos haluat välttää lämpimän poolin jakamisen käyttäjien kesken, käyttäjien työpaikoilla ei saa olla vastaavat työn kriteerit (heidän on esimerkiksi käytettävä erilaista IAM-roolia).

Ilmoita käyttäjille työn valmistumisesta

Kun käytät lämpimiä uima-altaita kokeiluihin, suosittelemme ilmoittamaan käyttäjille, kun heidän työnsä on valmis. Näin käyttäjät voivat jatkaa kokeilua ennen kuin lämmin uima-allas vanhenee tai pysäkki lämmin uima-allas, jos sitä ei enää tarvita. Voit myös käynnistää ilmoitukset automaattisesti kautta Amazon EventBridge.

Muita työkaluja koulutustöiden nopeaan kokeiluun ja vianetsintään

Lämpimillä altailla voit aloittaa työn alle 20 sekunnissa. Jotkut skenaariot vaativat reaaliaikaista, käytännönläheistä interaktiivista kokeilua ja vianetsintää. Avoimen lähdekoodin SageMaker SSH Helper -kirjasto antaa sinun kuoria SageMaker-harjoitussäiliöön ja suorittaa etäkehitystä ja virheenkorjausta.

Yhteenveto

SageMaker Training Managed Warm Pools -altaiden avulla voit pitää mallisi harjoituslaitteistosi lämpiminä jokaisen työn jälkeen tietyn ajan. Tämä voi vähentää mallin koulutustyön käynnistysviivettä jopa 8x. SageMaker Training Managed Warm -altaat ovat saatavilla kaikilla julkisilla AWS-alueilla, joissa SageMaker Model Training on saatavilla.

Aloita katsomalla Harjoittele SageMaker-hallittujen lämpimien uima-altaiden avulla.


Tietoja kirjoittajista

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.

Parhaat käytännöt Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligencelle. Pystysuuntainen haku. Ai.Arun Nagarajan on johtava insinööri Amazon SageMaker -tiimissä, joka keskittyy koulutus- ja MLOps-alueisiin. Hän on työskennellyt SageMaker-tiimissä julkaisuvuodesta lähtien, nauttien osallistumisesta SageMakerin eri osa-alueisiin, mukaan lukien reaaliaikainen päättely ja Model Monitor -tuotteet. Hän tykkää tutkia ulkoilmaa Tyynenmeren luoteisalueella ja kiivetä vuorille.

Parhaat käytännöt Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligencelle. Pystysuuntainen haku. Ai.Amy Sinä on AWS SageMakerin ohjelmistokehityspäällikkö. Hän keskittyy kokoamaan yhteen ohjelmistosuunnittelijoiden tiimin rakentamaan, ylläpitämään ja kehittämään SageMaker Training -alustan uusia ominaisuuksia, jotka auttavat asiakkaita kouluttamaan ML-mallejaan tehokkaammin ja helpommin. Hänellä on intohimo ML- ja tekoälyteknologiaan, erityisesti imagoon ja visioon liittyvään jatko-opinnoistaan. Vapaa-ajallaan hän työskentelee mielellään musiikin ja taiteen parissa perheensä kanssa.

Parhaat käytännöt Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligencelle. Pystysuuntainen haku. Ai. Sifei Li on ohjelmistosuunnittelija Amazon AI:ssä, jossa hän työskentelee Amazon Machine Learning Platforms -alustojen rakentamisen parissa ja oli osa Amazon SageMakerin julkaisutiimiä. Vapaa-ajallaan hän pitää musiikin soittamisesta ja lukemisesta.

Parhaat käytännöt Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligencelle. Pystysuuntainen haku. Ai.Jenna Zhao on ohjelmistokehitysinsinööri AWS SageMakerissa. Hän on intohimoinen ML/AI-teknologiasta ja on keskittynyt rakentamaan SageMaker Training -alustan, jonka avulla asiakkaat voivat kouluttaa koneoppimismalleja nopeasti ja helposti. Työn ulkopuolella hän nauttii matkustamisesta ja perheen kanssa viettämisestä.

Parhaat käytännöt Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligencelle. Pystysuuntainen haku. Ai.Paras Mehra on AWS:n vanhempi tuotepäällikkö. Hän on keskittynyt auttamaan Amazon SageMaker -koulutuksen ja -käsittelyn rakentamisessa. Vapaa-ajallaan Paras viettää aikaa perheensä kanssa ja pyöräilee lahden alueella. Löydät hänet LinkedIn.

Parhaat käytännöt Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligencelle. Pystysuuntainen haku. Ai.Gili Nachum on vanhempi AI/ML Specialist Solutions -arkkitehti, joka työskentelee osana EMEA-alueen Amazon Machine Learning -tiimiä. Gili on intohimoinen syväoppimismallien koulutuksen haasteista ja siitä, kuinka koneoppiminen muuttaa maailmaa sellaisena kuin me sen tunnemme. Vapaa-ajallaan Gili pelaa pöytätennistä.

Parhaat käytännöt Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligencelle. Pystysuuntainen haku. Ai.Olivier Cruchant on Machine Learning Specialist Solutions -arkkitehti AWS:ssä Ranskassa. Olivier auttaa AWS-asiakkaita – pienistä startupeista suuriin yrityksiin – kehittämään ja ottamaan käyttöön tuotantotason koneoppimissovelluksia. Vapaa-ajallaan hän lukee mielellään tutkimuspapereita ja tutkii erämaata ystävien ja perheen kanssa.

Parhaat käytännöt Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligencelle. Pystysuuntainen haku. Ai.Emily Webber liittyi AWS:ään heti SageMakerin julkaisun jälkeen ja on yrittänyt kertoa siitä maailmalle siitä lähtien! Asiakkaille uusien ML-elämysten rakentamisen lisäksi Emily nauttii meditoinnista ja Tiibetin buddhalaisuuden opiskelusta.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen