Best practices voor Amazon SageMaker Training Managed Warm Pools

Amazon SageMaker Training Managed Warm Pools geeft u de flexibiliteit om ervoor te kiezen om de onderliggende infrastructuur te hergebruiken en vast te houden voor een door de gebruiker gedefinieerde periode. Dit wordt gedaan met behoud van het voordeel van het doorgeven van het ongedifferentieerde zware werk van het beheer van rekeninstanties Amazon SageMaker-modeltraining. In dit bericht schetsen we de belangrijkste voordelen en pijnpunten die worden aangepakt door SageMaker Training Managed Warm Pools, evenals benchmarks en best practices.

Overzicht van SageMaker Training Managed Warm Pools

SageMaker Model Training is een volledig beheerde mogelijkheid die instances voor elke taak laat draaien, een model traint, uitvoert en vervolgens instances na de taak spint. U wordt alleen gefactureerd voor de duur van de taak tot op de seconde. Deze volledig beheerde mogelijkheid geeft u de vrijheid om u te concentreren op uw algoritme voor machine learning (ML) en u hoeft zich tijdens het trainen van uw modellen geen zorgen te maken over ongedifferentieerd zwaar werk, zoals infrastructuurbeheer.

Dit mechanisme vereist een eindige opstarttijd voor een trainingstaak. Hoewel deze opstarttijd, ook wel bekend als opstarttijd koude start, vrij laag is, vereisen sommige van onze meest veeleisende use-cases van klanten nog kortere opstarttijden, zoals minder dan 20 seconden. Er zijn twee prominente use-cases die deze vereisten hebben:

  • De eerste is actieve ML-experimenten door datawetenschappers met behulp van de Amazon Sage Maker trainingsplatform, vooral tijdens het trainen van grote modellen, zoals GPT3, die meerdere iteraties nodig hebben om productiegereed te worden.
  • De tweede is de programmatische lancering van een groot aantal (in de orde van enkele honderden of duizenden) opeenvolgende taken op hetzelfde soort instanties met een geplande cadans. Bijvoorbeeld parameter zoeken of incrementele training.

Voor dergelijke use-cases heeft elke seconde die aan overhead wordt besteed, zoals de opstarttijd voor een trainingstaak, een cumulatief effect op al deze taken.

Met SageMaker Training Managed Warm Pools hebben datawetenschappers en ML-engineers de mogelijkheid om SageMaker-trainingsinstanties of clusters met meerdere instanties warm te houden gedurende een vooraf gespecificeerde en herconfigureerbare tijd (keep_alive_period_in_seconds) nadat elke trainingstaak is voltooid. Dus ook al krijg je een koude start-penalty voor de eerste trainingstaak die op een instantie of cluster wordt uitgevoerd, voor alle volgende trainingstaken zijn de instanties al actief. Als gevolg hiervan worden deze volgende trainingstaken die beginnen op een instantie vรณรณr de keep_alive_period_in_seconds verloopt niet leiden tot de overhead van de opstarttijd van de koude start. Dit kan de opstarttijd van trainingstaken verkorten tot ongeveer minder dan 20 seconden (P90).

Datawetenschappers en ML-engineers kunnen SageMaker Training Managed Warm Pools gebruiken om enkele of meerdere instanties warm te houden tussen trainingsruns voor experimenten of om meerdere taken achter elkaar uit te voeren op hetzelfde cluster met รฉรฉn of meerdere instanties. U betaalt alleen voor de duur van trainingsopdrachten en het herconfigureerbare keep_alive_period_in_seconds zoals overal elders specificeert u voor elke afzonderlijke instantie.

In essentie krijgt u met SageMaker Training Managed Warm Pools een combinatie van door SageMaker beheerd instantiegebruik met de mogelijkheid om u aan te melden en capaciteit te voorzien en het gebruik voor korte tijd zelf te beheren. Deze intervallen kunnen vรณรณr een taak worden geconfigureerd, maar tijdens de keep_alive_period_in_seconds interval, u moet het verkleinen of verhogen, u kunt dit doen. Verhoogt naar keep_alive_period_in_seconds kan worden gedaan met intervallen van maximaal 60 minuten, met een maximale periode van 7 dagen voor een instantie of cluster.

Om eerst aan de slag te gaan met warme baden een verhoging van de quotalimiet voor warme pool aanvragenen specificeer vervolgens het keep_alive_period_in_seconds parameter bij het starten van een opleidingsbaan.

benchmarks

We hebben benchmarktests uitgevoerd om de latentie van het opstarten van taken te meten met behulp van een TensorFlow-afbeelding van 1.34 GB, 2 GB aan gegevens en verschillende invoermodi voor trainingsgegevens (Amazon FSx, Fast File Mode, File Mode). De tests zijn uitgevoerd op verschillende instantietypen uit de m4-, c4-, m5- en c5-families in de regio us-east-2. De opstartlatentie werd gemeten als de tijd van het maken van een taak tot het begin van de daadwerkelijke trainingstaak op de instances. De eerste taken die het cluster startten en de warme pool creรซerden, hadden een opstartlatentie van 2 tot 3 minuten. Deze hogere latentie is te wijten aan de tijd die nodig is om de infrastructuur in te richten, de afbeelding te downloaden en de gegevens te downloaden. De resulterende taken die gebruik maakten van het warme poolcluster hadden een opstartlatentie van ongeveer 20 seconden voor Fast File Mode (FFM) of Amazon FSx, en 70 seconden voor File Mode (FM). Deze delta is een gevolg van het feit dat FM vereist dat de volledige dataset wordt gedownload van Amazon S3 voorafgaand aan de start van de taak.

Uw keuze voor de invoermodus voor trainingsgegevens is van invloed op de opstarttijd, zelfs met Warm Pools. Richtlijnen voor welke invoermodus u moet selecteren, vindt u in het gedeelte met best practices verderop in dit bericht.

De volgende tabel geeft een overzicht van de latentie voor het opstarten van taken P90 voor verschillende invoermodi voor trainingsgegevens.

Gegevensinvoermodus Opstartlatentie P90 (seconden)
Eerste baan Warm Pool-banen (vanaf tweede baan)
FSx 136 19
Snelle bestandsmodus 143 21
Bestandsmodus 176 70

Best practices voor het gebruik van warme baden

In het volgende gedeelte delen we enkele best practices bij het gebruik van warme baden.

Wanneer moet u warme zwembaden gebruiken?

Warme zwembaden worden aanbevolen in de volgende scenario's:

  • Je experimenteert interactief en stemt je script af tijdens een reeks korte opdrachten.
  • U voert uw eigen op maat gemaakte, grootschalige hyperparameteroptimalisatie uit (bijvoorbeeld Syne Tune).
  • U hebt een batchproces dat een groot aantal (in de orde van enkele honderden of duizenden) opeenvolgende taken uitvoert op dezelfde soort exemplaren in een dagelijkse of wekelijkse cadans. Bijvoorbeeld per stad een ML-model trainen.

Warme baden worden niet aanbevolen als het onwaarschijnlijk is dat iemand de warme pool opnieuw zal gebruiken voordat deze verloopt. Bijvoorbeeld een enkele langdurige taak die wordt uitgevoerd via een geautomatiseerde ML-pijplijn.

Minimaliseer de opstartlatentie van warm pool-trainingstaken

Trainingstaken die een warm zwembad hergebruiken, starten sneller dan de eerste taak die het warme zwembad heeft gemaakt. Dit komt doordat de ML-instanties tussen taken blijven draaien met een Docker-image van een trainingscontainer in de cache om het ophalen van de container over te slaan Amazon Elastic Container-register (Amazone ECR). Maar zelfs bij hergebruik van een warm zwembad vinden er voor alle taken bepaalde initialisatiestappen plaats. Door deze stappen te optimaliseren, kunt u de opstarttijd van uw taak verkorten (zowel de eerste als de volgende taken). Stel je de volgende situatie voor:

  • De invoermodus voor trainingsgegevens kan de opstarttijd beรฏnvloeden - Beheerde invoerkanalen voor trainingsgegevens worden opnieuw gemaakt voor elke trainingstaak, wat bijdraagt โ€‹โ€‹aan de latentie bij het opstarten van taken. Dus het doen van eerste experimenten met een kleinere dataset zorgt voor een snellere opstarttijd (en snellere trainingstijd). Voor latere stadia van experimenten, wanneer een grote gegevensset nodig is, kunt u overwegen een type invoermodus te gebruiken met een minimale of vaste initialisatietijd. De invoermodus FILE kopieert bijvoorbeeld de volledige dataset van Amazon eenvoudige opslagservice (Amazon S3) naar de trainingsinstantie, wat tijdrovend is voor grote datasets (zelfs met warme baden). De snelle bestandsmodus is beter geschikt voor een kortere opstartlatentie, omdat alleen metagegevens van S3-objecten uit Amazon S3 hoeven te worden gelezen voordat de werklast kan beginnen. De Amazon FSx voor Lusterof Amazon elastisch bestandssysteem (Amazon EFS) bestandssysteem invoermodus, heeft een vaste initialisatietijd ongeacht het aantal bestanden in het bestandssysteem, wat handig is bij het werken met een grote dataset.
    Zie voor meer informatie over het kiezen van een ingangskanaal Kies de beste gegevensbron voor uw Amazon SageMaker-trainingstaak.
  • Verminder runtime-installatie van pakketten - Elke software-installatie die plaatsvindt tijdens het opstarten van de container, bijvoorbeeld Python's pip of besturingssysteem apt-get, zal de latentie van trainingstaken vergroten. Om deze opstartlatentie te minimaliseren, moet een afweging worden gemaakt tussen de flexibiliteit en eenvoud van runtime-installaties versus installatie tijdens het bouwen van de container. Als u uw eigen Docker-container gebruikt met SageMaker, raadpleeg dan Uw eigen Docker-container aanpassen om met SageMaker te werken. Als je vertrouwt op vooraf gebouwde SageMaker-containerafbeeldingen, je zult het moeten doen een voorgebouwde container uitbreiden en beheer deze containers expliciet. Overweeg dit als uw runtime-installaties de opstartlatentie aanzienlijk verhogen.
  • Vermijd het regelmatig bijwerken van uw Docker-image - Als u uw eigen Docker-container met SageMaker gebruikt, probeer deze dan niet bij elke taakuitvoering bij te werken. Als de Docker-afbeelding verandert tussen het indienen van de taak, wordt de warme pool opnieuw gebruikt, maar moet het opstartproces de containerafbeelding opnieuw ophalen van Amazon ECR in plaats van een in de cache opgeslagen containerafbeelding opnieuw te gebruiken. Als de Docker-image moet worden bijgewerkt, beperkt u de updates tot de laatste Docker-laag om te profiteren van Docker-laagcaching. Idealiter zou u de Dockerfile-inhoud moeten verwijderen die waarschijnlijk zal veranderen tijdens iteraties, zoals hyperparameter, datasetdefinities en de ML-code zelf. Om ML-code te herhalen zonder dat u Docker-images bij elke wijziging opnieuw hoeft op te bouwen, kunt u het framework-containerparadigma gebruiken dat wordt aanbevolen in de SageMaker Training Toolkit. Als u een raamwerkcontainer met uw eigen code wilt ontwikkelen, raadpleegt u dit Amazon SageMaker-zelfstudie.

Deel warme zwembaden tussen meerdere gebruikers

Wanneer u met een groot team van datawetenschappers werkt, kunt u warme zwembaden delen die dat wel hebben overeenkomende functiecriteria, zoals hetzelfde AWS Identiteits- en toegangsbeheer (IAM) rol of containerimage.

Laten we een voorbeeld van een tijdlijn bekijken. Gebruiker-1 start een trainingstaak die wordt voltooid en resulteert in een nieuwe warme pool. Wanneer gebruiker-2 een trainingstaak start, zal de taak de bestaande warme pool hergebruiken, wat resulteert in een snelle start van de taak. Terwijl de taak van gebruiker-2 wordt uitgevoerd terwijl de warme pool in gebruik is en een andere gebruiker een trainingstaak start, wordt er een tweede warme pool gecreรซerd.

Dit hergebruikgedrag helpt de kosten te verlagen door warme pools te delen tussen gebruikers die soortgelijke taken starten. Als u wilt voorkomen dat gebruikers warme zwembaden delen, mogen de banen van gebruikers dat niet hebben overeenkomende functiecriteria (ze moeten bijvoorbeeld een andere IAM-rol gebruiken).

Stel gebruikers op de hoogte wanneer de taak is voltooid

Wanneer u warme zwembaden gebruikt voor experimenten, raden we u aan gebruikers op de hoogte te stellen wanneer hun taak is voltooid. Hierdoor kunnen gebruikers het experimenteren hervatten voordat de warme pool afloopt of stoppen het warme zwembad als het niet meer nodig is. Je kan ook activeer automatisch meldingen door Amazon EventBridge.

Meer hulpmiddelen voor snel experimenteren en probleemoplossing bij trainingstaken

Met warme zwembaden kunt u in minder dan 20 seconden aan een klus beginnen. Sommige scenario's vereisen real-time, hands-on interactieve experimenten en probleemoplossing. De open source SageMaker SSH Helper-bibliotheek stelt u in staat om in een SageMaker-trainingscontainer te springen en op afstand te ontwikkelen en te debuggen.

Conclusie

Met SageMaker Training Managed Warm Pools kunt u de trainingshardware-exemplaren van uw model na elke taak gedurende een bepaalde periode warm houden. Dit kan de opstartlatentie voor een modeltrainingstaak tot wel 8x verminderen. SageMaker Training Managed Warm Pools zijn beschikbaar in alle openbare AWS-regio's waar SageMaker Model Training beschikbaar is.

Om te beginnen, zie Train met behulp van door SageMaker beheerde warme baden.


Over de auteurs

Romi DattaDr Romi Datta  is een Senior Manager Product Management in het Amazon SageMaker-team dat verantwoordelijk is voor training, verwerking en feature store. Hij werkt al meer dan 4 jaar bij AWS en bekleedde verschillende leidinggevende functies op het gebied van productbeheer in SageMaker, S3 en IoT. Voorafgaand aan AWS werkte hij in verschillende productmanagement-, engineering- en operationele leiderschapsrollen bij IBM, Texas Instruments en Nvidia. Hij heeft een MS en Ph.D. in Electrical and Computer Engineering van de University of Texas in Austin, en een MBA van de University of Chicago Booth School of Business.

Best practices voor Amazon SageMaker Training Beheerde warme pools PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Arun Nagarajan is een hoofdingenieur bij het Amazon SageMaker-team dat zich richt op de gebieden Training en MLOps. Hij is vanaf het lanceringsjaar bij het SageMaker-team geweest en heeft met veel plezier bijgedragen aan verschillende gebieden in SageMaker, waaronder de realtime inferentie en Model Monitor-producten. Hij verkent graag het buitenleven in het Pacific Northwest-gebied en beklimt graag bergen.

Best practices voor Amazon SageMaker Training Beheerde warme pools PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Amy jij is Software Development Manager bij AWS SageMaker. Ze richt zich op het samenbrengen van een team van software-engineers om nieuwe mogelijkheden van het SageMaker-trainingsplatform te bouwen, te onderhouden en te ontwikkelen, waarmee klanten hun ML-modellen efficiรซnter en gemakkelijker kunnen trainen. Ze heeft een passie voor ML en AI-technologie, vooral met betrekking tot beeld en visie uit haar afstudeeronderzoek. In haar vrije tijd werkt ze graag met haar gezin aan muziek en kunst.

Best practices voor Amazon SageMaker Training Beheerde warme pools PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai. Sifei Li is een Software Engineer in Amazon AI waar ze werkt aan het bouwen van Amazon Machine Learning Platforms en maakte deel uit van het lanceringsteam voor Amazon SageMaker. In haar vrije tijd speelt ze graag muziek en leest ze graag.

Best practices voor Amazon SageMaker Training Beheerde warme pools PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Jenna Zhao is Software Development Engineer bij AWS SageMaker. Ze is gepassioneerd door ML/AI-technologie en heeft zich gericht op het bouwen van het SageMaker-trainingsplatform waarmee klanten snel en eenvoudig machine learning-modellen kunnen trainen. Naast haar werk houdt ze van reizen en tijd doorbrengen met haar gezin.

Best practices voor Amazon SageMaker Training Beheerde warme pools PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Para Mehra is senior productmanager bij AWS. Hij richt zich op het helpen bouwen van Amazon SageMaker Training en Processing. In zijn vrije tijd brengt Paras graag tijd door met zijn gezin en houdt hij van wielrennen in de Bay Area. Je vindt hem op LinkedIn.

Best practices voor Amazon SageMaker Training Beheerde warme pools PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Gili Nachum is een senior AI/ML Specialist Solutions Architect die werkt als onderdeel van het EMEA Amazon Machine Learning-team. Gili is gepassioneerd door de uitdagingen van het trainen van deep learning-modellen en hoe machine learning de wereld zoals wij die kennen verandert. In zijn vrije tijd speelt Gili graag tafeltennis.

Best practices voor Amazon SageMaker Training Beheerde warme pools PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Olivier Cruchant is een Machine Learning Specialist Solutions Architect bij AWS, gevestigd in Frankrijk. Olivier helpt AWS-klanten - van kleine startups tot grote ondernemingen - bij het ontwikkelen en implementeren van machine learning-applicaties op productieniveau. In zijn vrije tijd leest hij graag onderzoekspapers en verkent hij de wildernis met vrienden en familie.

Best practices voor Amazon SageMaker Training Beheerde warme pools PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Emily Webber kwam bij AWS net na de lancering van SageMaker en probeert sindsdien de wereld erover te vertellen! Naast het bouwen van nieuwe ML-ervaringen voor klanten, mediteert Emily graag en bestudeert ze het Tibetaans boeddhisme.

Tijdstempel:

Meer van AWS-machine learning