Najboljše prakse za Amazon SageMaker Training Managed Warm Pools

Amazon SageMaker Training Managed Warm Pools vam daje prilagodljivost, da se odločite za ponovno uporabo in obdržite osnovno infrastrukturo za časovno obdobje, ki ga določi uporabnik. To je storjeno, hkrati pa ohranja prednost prenosa nediferenciranega težkega dela upravljanja računalniških primerkov na Usposabljanje modela Amazon SageMaker. V tem prispevku opisujemo ključne prednosti in težave, ki jih obravnavajo SageMaker Training Managed Warm Pools, ter primerjalne vrednosti in najboljše prakse.

Pregled upravljanih toplih bazenov SageMaker Training

SageMaker Model Training je popolnoma upravljana zmogljivost, ki zavrti instance za vsako opravilo, usposobi model, zažene in nato zavrti primerke po opravilu. Zaračunajo vam samo trajanje posla do sekunde. Ta popolnoma upravljana zmogljivost vam daje svobodo, da se osredotočite na svoj algoritem strojnega učenja (ML) in ne skrbite zaradi nediferenciranega dvigovanja težkih predmetov, kot je upravljanje infrastrukture, medtem ko usposabljate svoje modele.

Ta mehanizem zahteva omejen čas zagona za delo usposabljanja. Čeprav je ta čas zagona, znan tudi kot čas zagona hladnega zagona, je dokaj nizka, nekateri primeri uporabe naših najzahtevnejših strank zahtevajo še krajše zagonske čase, na primer manj kot 20 sekund. Obstajata dva vidna primera uporabe, ki imata te zahteve:

  • Prvi je aktivno eksperimentiranje ML s strani podatkovnih znanstvenikov z uporabo Amazon SageMaker platformo za usposabljanje, zlasti med usposabljanjem velikih modelov, kot je GPT3, ki zahtevajo več iteracij, da pridejo v stanje, pripravljeno za proizvodnjo.
  • Drugi je programski zagon velikega števila (v vrstnem redu nekaj sto ali tisoč) zaporednih opravil na isti vrsti instanc ob načrtovani kadenci. Na primer iskanje parametrov ali postopno usposabljanje.

Za takšne primere uporabe ima vsaka sekunda, porabljena za režijske stroške, kot čas zagona za opravilo usposabljanja, kumulativni učinek na vsa ta opravila.

S SageMaker Training Managed Warm Pools imajo podatkovni znanstveniki in inženirji ML možnost, da se odločijo za vzdrževanje ogrevanja izobraževalnih primerkov SageMaker ali gruč z več primerki za vnaprej določen čas, ki ga je mogoče znova konfigurirati (keep_alive_period_in_seconds) po vsakem zaključku usposabljanja. Torej, čeprav prejmete kazen hladnega zagona za prvo učno opravilo, ki se izvaja na instanci ali gruči, so primerki za vsa naslednja učna opravila že pripravljeni in se izvajajo. Kot rezultat, ta nadaljnja usposabljanja, ki se začnejo na primerku pred keep_alive_period_in_seconds poteče, ne povzročajo dodatnih stroškov za zagonski čas hladnega zagona. To lahko zmanjša čas zagona vadbenega opravila na približno manj kot 20 sekund (P90).

Podatkovni znanstveniki in inženirji ML lahko uporabljajo SageMaker Training Managed Warm Pools za ohranjanje toplega enega ali več primerkov med izvajanjem usposabljanja za eksperimentiranje ali izvajanje več opravil zaporedoma v isti gruči z enim ali več primerki. Plačate samo za trajanje delovnih mest za usposabljanje in rekonfigurabilno keep_alive_period_in_seconds kot povsod drugje določite za vsak posamezen primer.

V bistvu s SageMaker Training Managed Warm Pools dobite kombinacijo uporabe upravljane instance SageMaker z možnostjo privolitve in zagotavljanja zmogljivosti ter samoupravljanja uporabe za kratke časovne intervale. Te intervale je mogoče konfigurirati pred opravilom, če pa med keep_alive_period_in_seconds interval, ga morate zmanjšati ali povečati, to lahko storite. Poveča se na keep_alive_period_in_seconds je mogoče izvesti v intervalih do 60 minut, pri čemer je najdaljše obdobje za primerek ali gručo 7 dni.

Za začetek s toplimi bazeni zahtevajte povečanje omejitve kvote toplega bazena, nato določite keep_alive_period_in_seconds parameter ob začetku usposabljanja.

merila

Izvedli smo primerjalne teste za merjenje zakasnitve zagona opravila z uporabo slike TensorFlow velikosti 1.34 GB, 2 GB podatkov in različnih načinov vnosa podatkov o usposabljanju (Amazon FSx, način hitre datoteke, način datoteke). Preizkusi so bili izvedeni na različnih vrstah primerkov iz družin m4, c4, m5 in c5 v regiji us-east-2. Zakasnitev zagona je bila izmerjena kot čas od ustvarjanja delovnega mesta do začetka dejanskega učnega opravila na instancah. Prva opravila, ki so zagnala gručo in ustvarila toplo skupino, so imela zakasnitev zagona 2–3 minute. Ta večja zakasnitev je posledica časa, ki je potreben za zagotavljanje infrastrukture, prenos slike in prenos podatkov. Posledična opravila, ki so uporabljala gručo toplega bazena, so imela zagonsko zakasnitev približno 20 sekund za hitri datotečni način (FFM) ali Amazon FSx in 70 sekund za datotečni način (FM). Ta delta je posledica FM, ki zahteva prenos celotnega nabora podatkov iz Amazon S3 pred začetkom opravila.

Vaša izbira načina vnosa podatkov o vadbi vpliva na čas zagona, tudi pri Warm Pools. Navodila o tem, kateri način vnosa izbrati, so v razdelku z najboljšimi praksami kasneje v tej objavi.

Naslednja tabela povzema zakasnitev zagona opravila P90 za različne načine vnosa podatkov o usposabljanju.

Način vnosa podatkov Zakasnitev zagona P90 (sekunde)
Prvo delo Warm Pool Jobs (drugo delo naprej)
FSx 136 19
Hitri datotečni način 143 21
Način datoteke 176 70

Najboljše prakse za uporabo toplih bazenov

V naslednjem razdelku delimo nekaj najboljših praks pri uporabi toplih bazenov.

Kdaj uporabljati tople bazene?

Topli bazeni so priporočljivi v naslednjih primerih:

  • Interaktivno eksperimentirate in prilagajate svoj skript v nizu kratkih opravil.
  • Izvajate lastno po meri izdelano obsežno optimizacijo hiperparametrov (npr. Syne Tune).
  • Imate paketni proces, ki izvaja veliko število (v vrstnem redu nekaj sto ali tisoč) zaporednih opravil na isti vrsti primerkov na dnevni ali tedenski stopnji. Na primer usposabljanje modela ML na mesto.

Topli bazeni niso priporočljivi, če je malo verjetno, da bo nekdo ponovno uporabil topli bazen, preden mu poteče rok uporabe. Na primer, eno dolgo opravilo, ki poteka prek avtomatiziranega cevovoda ML.

Zmanjšajte zakasnitev zagona opravila usposabljanja v topli bazen

Opravila usposabljanja, ki ponovno uporabljajo toplo skupino, se začnejo hitreje kot prvo opravilo, ki je ustvarilo toplo skupino. To je posledica tega, da se primerki ML izvajajo med opravili s predpomnjeno vadbeno sliko Dockerja, da preskočite vlečenje vsebnika iz Registar elastičnih zabojnikov Amazon (Amazon ECR). Vendar pa tudi pri ponovni uporabi toplega bazena pride do določenih inicializacijskih korakov za vsa opravila. Optimiziranje teh korakov lahko skrajša čas zagona vašega opravila (tako prvega kot naslednjih opravil). Upoštevajte naslednje:

  • Način vnosa podatkov o vadbi lahko vpliva na čas zagona – Upravljani kanali za vnos podatkov o usposabljanju so ponovno ustvarjeni za vsako opravilo usposabljanja, kar prispeva k zakasnitvi zagona opravila. Izvajanje začetnih poskusov na manjšem naboru podatkov bo torej omogočilo hitrejši zagonski čas (in hitrejši čas usposabljanja). Za kasnejše faze eksperimentiranja, ko je potreben velik nabor podatkov, razmislite o uporabi vrste vnosnega načina, ki ima minimalen ali fiksen čas inicializacije. Na primer, način vnosa DATOTEKA kopira celoten nabor podatkov iz Preprosta storitev shranjevanja Amazon (Amazon S3) na instanco za usposabljanje, kar je zamudno za velike nabore podatkov (tudi s toplimi bazeni). Hitri datotečni način je bolj primeren za nižjo zakasnitev pri zagonu, ker je treba iz Amazona S3 prebrati samo metapodatke predmeta S3, preden se lahko začne delovna obremenitev. The Amazon FSx za Lusterali Elastični datotečni sistem Amazon (Amazon EFS) vnosni način datotečnega sistema ima fiksen čas inicializacije ne glede na število datotek v datotečnem sistemu, kar je koristno pri delu z velikim naborom podatkov.
    Za več informacij o tem, kako izbrati vhodni kanal, glejte Izberite najboljši vir podatkov za svoje izobraževalno delo Amazon SageMaker.
  • Skrajšajte čas izvajanja namestitve paketov – Vsaka namestitev programske opreme, ki se izvede med zagonom vsebnika, na primer Pythonov pip ali operacijski sistem apt-get, bo povečala zakasnitev opravila usposabljanja. Zmanjšanje te zakasnitve ob zagonu zahteva kompromis med prilagodljivostjo in preprostostjo namestitve med izvajanjem in namestitvijo v času gradnje vsebnika. Če uporabljate svoj vsebnik Docker s SageMakerjem, glejte Prilagoditev lastnega vsebnika Docker za delo s SageMakerjem. Če se zanašate na predizdelane slike vsebnika SageMaker, boste morali razširite vnaprej zgrajeno posodo in izrecno upravljate te vsebnike. Upoštevajte to, če vaše namestitve izvajalnega okolja znatno povečajo zakasnitev zagona.
  • Izogibajte se pogostemu posodabljanju slike Docker – Če uporabljate svoj vsebnik Docker s SageMakerjem, se poskusite izogniti njegovemu posodabljanju ob vsakem zagonu opravila. Če se slika Dockerja med oddajami opravil spremeni, bo topla zbirka ponovno uporabljena, vendar bo moral postopek zagona znova potegniti sliko vsebnika iz Amazon ECR namesto ponovne uporabe predpomnjene slike vsebnika. Če je treba sliko Docker posodobiti, omejite posodobitve na zadnjo plast Docker, da izkoristite predpomnjenje plasti Docker. V idealnem primeru bi morali odstraniti vsebino datoteke Dockerfile, ki se bo verjetno spremenila med iteracijami, na primer hiperparameter, definicije nabora podatkov in samo kodo ML. Če želite ponoviti kodo ML, ne da bi morali ob vsaki spremembi ponovno zgraditi slike Docker, lahko sprejmete paradigmo okvirnega vsebnika, ki jo zagovarja SageMaker Training Toolkit. Če želite razviti okvirni vsebnik s svojo kodo, si oglejte to Vadnica za Amazon SageMaker.

Delite tople bazene med več uporabniki

Ko delate z veliko ekipo podatkovnih znanstvenikov, lahko delite tople bazene, ki imajo ujemanje kriterijev delovnega mesta, kot je isto AWS upravljanje identitete in dostopa (IAM) vlogo ali sliko vsebnika.

Oglejmo si primer časovnice. Uporabnik-1 začne usposabljanje, ki se zaključi in povzroči ustvarjen nov topel bazen. Ko uporabnik-2 začne učno opravilo, bo opravilo znova uporabilo obstoječe toplo območje, kar bo povzročilo hiter zagon opravila. Medtem ko se opravilo uporabnika-2 izvaja z ogrevanim bazenom v uporabi, bo ustvarjeno drugo toplo bazen, če drug uporabnik začne izvajati usposabljanje.

To vedenje ponovne uporabe pomaga zmanjšati stroške z deljenjem toplih bazenov med uporabniki, ki začnejo s podobnimi opravili. Če se želite izogniti skupni rabi toplih bazenov med uporabniki, ne smejo imeti delovnih mest uporabnikov ujemanje kriterijev delovnega mesta (uporabiti morajo na primer drugo vlogo IAM).

Obvesti uporabnike o zaključku dela

Pri uporabi toplih bazenov za eksperimentiranje priporočamo, da uporabnike obvestite, ko je njihovo delo končano. To omogoča uporabnikom, da nadaljujejo z eksperimentiranjem, preden poteče topli bazen oz stop topel bazen, če ga ne potrebujete več. Lahko tudi samodejno sproži obvestila skozi Amazon EventBridge.

Dodatna orodja za hitro eksperimentiranje in usposabljanje za odpravljanje težav

S toplimi bazeni lahko začnete delo v manj kot 20 sekundah. Nekateri scenariji zahtevajo sprotno interaktivno preizkušanje in odpravljanje težav. Odprtokodni SageMaker SSH Helper knjižnica vam omogoča vstavljanje v vsebnik za usposabljanje SageMaker ter vodenje oddaljenega razvoja in odpravljanja napak.

zaključek

S SageMaker Training Managed Warm Pools lahko svoje instance strojne opreme za usposabljanje modela ohranjate tople po vsakem opravilu za določeno obdobje. To lahko zmanjša zakasnitev zagona za delo usposabljanja modela do 8x. SageMaker Training Managed Warm Pools so na voljo v vseh javnih regijah AWS, kjer je na voljo SageMaker Model Training.

Za začetek glejte Usposabljajte se z uporabo toplih bazenov, ki jih upravlja SageMaker.


O avtorjih

Romi DattaRomi Datta  je višji vodja produktnega upravljanja v skupini Amazon SageMaker, odgovoren za usposabljanje, obdelavo in trgovino s funkcijami. V AWS je že več kot 4 leta in opravlja več vodilnih vlog pri upravljanju izdelkov v SageMaker, S3 in IoT. Pred AWS je delal v različnih vodstvenih vlogah produktnega menedžmenta, inženiringa in operativnih vodstev pri IBM, Texas Instruments in Nvidia. Ima magisterij in doktorat znanosti. magistriral iz elektrotehnike in računalništva na Univerzi v Teksasu v Austinu in magistriral na poslovni šoli Booth Univerze v Chicagu.

Best practices for Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligence. Vertical Search. Ai.Arun Nagarajan je glavni inženir pri ekipi Amazon SageMaker, ki se osredotoča na področja usposabljanja in MLOps. Z ekipo SageMaker je bil od leta lansiranja, z veseljem je prispeval k različnim področjem v SageMakerju, vključno s sklepanjem v realnem času in izdelki Model Monitor. Rad raziskuje naravo na pacifiškem severozahodnem območju in pleza v gore.

Best practices for Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligence. Vertical Search. Ai.Amy Ti je vodja razvoja programske opreme pri AWS SageMaker. Osredotoča se na združevanje ekipe inženirjev programske opreme za izgradnjo, vzdrževanje in razvoj novih zmogljivosti platforme SageMaker Training, ki strankam pomaga pri učinkovitejšem in preprostejšem usposabljanju njihovih modelov ML. Ima strast do ML in tehnologije umetne inteligence, zlasti povezane s podobo in vizijo iz podiplomskega študija. V prostem času se z družino rada ukvarja z glasbo in umetnostjo.

Best practices for Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligence. Vertical Search. Ai. Sifei Li je programska inženirka v Amazon AI, kjer dela na izdelavi Amazonovih platform za strojno učenje, in je bila del zagonske ekipe za Amazon SageMaker. V prostem času rada posluša glasbo in bere.

Best practices for Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligence. Vertical Search. Ai.Jenna Zhao je inženir za razvoj programske opreme pri AWS SageMaker. Navdušena je nad tehnologijo ML/AI in se osredotoča na izgradnjo platforme SageMaker Training, ki strankam omogoča hitro in preprosto usposabljanje modelov strojnega učenja. Zunaj dela rada potuje in preživlja čas z družino.

Best practices for Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligence. Vertical Search. Ai.Paras Mehra je višji produktni vodja pri AWS. Osredotočen je na pomoč pri izgradnji Amazon SageMaker Training and Processing. V prostem času Paras rad preživlja čas s svojo družino in kolesari po območju Bay. Najdete ga na LinkedIn.

Best practices for Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligence. Vertical Search. Ai.Gili Nachum je višji AI/ML Specialist Solutions Architect, ki dela kot del skupine EMEA Amazon Machine Learning. Gili je navdušen nad izzivi usposabljanja modelov globokega učenja in nad tem, kako strojno učenje spreminja svet, kot ga poznamo. V prostem času Gili rad igra namizni tenis.

Best practices for Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligence. Vertical Search. Ai.Olivier Cruchant je strokovnjak za rešitve za strojno učenje pri AWS s sedežem v Franciji. Olivier pomaga strankam AWS – od majhnih novoustanovljenih podjetij do velikih podjetij – pri razvoju in uvajanju aplikacij za strojno učenje proizvodnega razreda. V prostem času rad bere raziskovalne naloge in s prijatelji in družino raziskuje divjino.

Best practices for Amazon SageMaker Training Managed Warm Pools PlatoBlockchain Data Intelligence. Vertical Search. Ai.Emily Webber se je pridružil AWS takoj po lansiranju SageMakerja in od takrat poskuša svetu povedati o njem! Poleg ustvarjanja novih izkušenj ML za stranke Emily uživa v meditaciji in preučevanju tibetanskega budizma.

Časovni žig:

Več od Strojno učenje AWS