Analyseer Amazon SageMaker-uitgaven en bepaal mogelijkheden voor kostenoptimalisatie op basis van gebruik, Deel 4: Trainingsbanen | Amazon-webservices

Analyseer Amazon SageMaker-uitgaven en bepaal mogelijkheden voor kostenoptimalisatie op basis van gebruik, Deel 4: Trainingsbanen | Amazon-webservices

In 2021 lanceerden we AWS ondersteunt proactieve services kader van de AWS Enterprise-ondersteuning plan. Sinds de introductie hebben we honderden klanten geholpen hun workloads te optimaliseren, vangrails te plaatsen en de zichtbaarheid van de kosten en het gebruik van hun machine learning-workloads te verbeteren.

In deze reeks berichten delen we geleerde lessen over het optimaliseren van kosten in Amazon Sage Maker. In dit bericht richten we ons op SageMaker-trainingsbanen.

SageMaker-trainingsbanen

SageMaker-trainingstaken zijn asynchrone batchprocessen met ingebouwde functies voor training en optimalisatie van ML-modellen.

Met SageMaker-trainingstaken kunt u uw eigen algoritme meenemen of kiezen uit meer dan 25 ingebouwde algoritmen. SageMaker ondersteunt verschillende gegevensbronnen en toegangspatronen, gedistribueerde training inclusief heterogene clusters, evenals functies voor experimentbeheer en automatische afstemming van modellen.

De kosten van een trainingstaak zijn gebaseerd op de bronnen die u gebruikt (exemplaren en opslag) voor de duur (in seconden) dat die instanties worden uitgevoerd. Dit is inclusief de tijd dat de training plaatsvindt en, als je de warm zwembad functie, de keep-alive-periode die u configureert. In Deel 1, hebben we laten zien hoe u aan de slag kunt gaan AWS-kostenverkenner om mogelijkheden voor kostenoptimalisatie in SageMaker te identificeren. U kunt trainingskosten filteren door een filter toe te passen op het gebruikstype. De namen van deze gebruikstypen zijn als volgt:

  • REGION-Train:instanceType (bijvoorbeeld, USE1-Train:ml.m5.large)
  • REGION-Train:VolumeUsage.gp2 (bijvoorbeeld, USE1-Train:VolumeUsage.gp2)

Om een โ€‹โ€‹uitsplitsing van uw opleidingskosten in Kostenverkenner te bekijken, kunt u invullen train: als voorvoegsel voor Gebruikstype:. Als u alleen filtert op gebruikte uren (zie de volgende schermafbeelding), genereert Cost Explorer twee grafieken: Cost en Usage. Deze weergave helpt u prioriteit te geven aan uw optimalisatiemogelijkheden en te identificeren welke instanties langlopend en kostbaar zijn.

Analyseer de uitgaven van Amazon SageMaker en bepaal mogelijkheden voor kostenoptimalisatie op basis van gebruik, Deel 4: Trainingsbanen | Amazon Web Services PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Voordat u een bestaande trainingstaak optimaliseert, raden we u aan de best practices in te volgen Kosten optimaliseren voor machine learning met Amazon SageMaker: test uw code lokaal en gebruik lokale modus gebruik voor het testen waar mogelijk vooraf getrainde modellen en overweeg Managed Spot Training (wat de kosten tot 90% kan optimaliseren ten opzichte van On-Demand-exemplaren).

Wanneer een On-Demand-taak wordt gestart, doorloopt deze vijf fasen: starten, downloaden, trainen, uploaden en voltooid. U kunt die fasen en beschrijvingen zien op de pagina met trainingstaken op de SageMaker-console.

Analyseer de uitgaven van Amazon SageMaker en bepaal mogelijkheden voor kostenoptimalisatie op basis van gebruik, Deel 4: Trainingsbanen | Amazon Web Services PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Vanuit prijsperspectief worden er kosten in rekening gebracht voor de download-, trainings- en uploadfasen.

Het herzien van deze fasen is een eerste stap om te bepalen waar u uw opleidingskosten kunt optimaliseren. In dit bericht bespreken we de download- en trainingsfasen.

Fase downloaden

In het voorgaande voorbeeld duurde de downloadfase minder dan een minuut. Als het downloaden van gegevens echter een grote factor is in uw trainingskosten, moet u rekening houden met de gegevensbron die u gebruikt en de toegangsmethoden. SageMaker-trainingstaken ondersteunen standaard drie gegevensbronnen: Amazon elastisch bestandssysteem (Amazone EFS), Amazon eenvoudige opslagservice (Amazon S3), en Amazon FSx voor Luster. Voor Amazon S3 biedt SageMaker drie beheerde manieren waarop uw algoritme toegang heeft tot de training: Bestandsmodus (waarbij gegevens worden gedownload naar de instantieblokopslag), Pipe-modus (gegevens worden naar de instantie gestreamd, waardoor de downloadfase wordt geรซlimineerd) en Fast File-modus (combineert het gebruiksgemak van de bestaande File-modus met de prestaties van Pipe-modus). Raadpleeg voor gedetailleerde hulp bij het kiezen van de juiste gegevensbron en toegangsmethoden Kies de beste gegevensbron voor uw Amazon SageMaker-trainingstaak.

Bij gebruik van beheerde spottraining worden eventuele herhaalde downloadfasen die zijn opgetreden als gevolg van een onderbreking niet in rekening gebracht (u betaalt dus slechts รฉรฉn keer voor de duur van de gegevensdownload).

Het is belangrijk op te merken dat hoewel SageMaker-trainingstaken de door ons genoemde gegevensbronnen ondersteunen, ze niet verplicht zijn. In uw trainingscode kunt u elke methode implementeren voor het downloaden van de trainingsgegevens van elke bron (op voorwaarde dat de trainingsinstantie er toegang toe heeft). Er zijn andere manieren om de downloadtijd te versnellen, zoals het gebruik van de Boto3 API met multiprocessing om bestanden gelijktijdig te downloaden, of het gebruik van bibliotheken van derden zoals WebDataset of s5cmd voor sneller downloaden van Amazon S3. Voor meer informatie, zie S3-workloads parallel maken met s5cmd.

Trainingsfase

Het optimaliseren van de kosten van de trainingsfase bestaat uit het optimaliseren van twee vectoren: het kiezen van de juiste infrastructuur (instantiefamilie en grootte) en het optimaliseren van de training zelf. We kunnen trainingsinstanties grofweg in twee categorieรซn verdelen: versnelde GPU-gebaseerd, meestal voor deep-learning-modellen, en CPU-gebaseerd voor algemene ML-frameworks. Raadpleeg voor hulp bij het selecteren van de juiste instantiefamilie voor training Zorg voor efficiรซnte rekenbronnen op Amazon SageMaker. Als uw training GPU-instanties vereist, raden we u aan de video te raadplegen Hoe u Amazon EC2 GPU-instanties selecteert voor diep leren.

Als algemene leidraad: als uw werklast een NVIDIA GPU vereist, ontdekten we dat klanten aanzienlijke kostenbesparingen behalen met twee Amazon Elastic Compute-cloud (Amazon EC2) instantietypen: ml.g4dn en ml.g5. De ml.g4dn is uitgerust met NVIDIA T4 en biedt bijzonder lage kosten per geheugen. De ml.g5-instantie is uitgerust met NVIDIA A10g Tensor Core en heeft de laagste kosten per CUDA-flop (fp32).

AWS biedt specifieke kostenbesparende functies voor deep learning-trainingen:

Om uw instantie de juiste grootte te geven en te optimaliseren, moet u eerst kijken naar de Amazon Cloud Watch statistieken die de trainingstaken genereren. Voor meer informatie, zie SageMaker-taken en eindpuntstatistieken. U kunt CloudWatch verder gebruiken aangepaste algoritmestatistieken om de trainingsprestaties te volgen.

Analyseer de uitgaven van Amazon SageMaker en bepaal mogelijkheden voor kostenoptimalisatie op basis van gebruik, Deel 4: Trainingsbanen | Amazon Web Services PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Deze statistieken kunnen knelpunten of overbevoorrading van resources aangeven. Als u bijvoorbeeld een hoog CPU-gebruik waarneemt met een laag GPU-gebruik, kunt u het probleem oplossen door te gebruiken heterogene clusters. Een ander voorbeeld is het zien van een consistent laag CPU-gebruik gedurende de taakduur. Dit kan leiden tot een kleinere instantie.

Als u gebruik maakt gedistribueerde training, moet u verschillende distributiemethoden testen (toren, Ring-AllReduce, gespiegeld, enzovoort) om het maximale gebruik te valideren en uw raamwerkparameters dienovereenkomstig af te stemmen (zie bijvoorbeeld Best practices voor TensorFlow 1.x acceleratietraining op Amazon SageMaker). Het is belangrijk om te benadrukken dat u de SageMaker-distributie-API en bibliotheken kunt gebruiken SageMaker gedistribueerde gegevens parallel, SageMaker-model parallel en SageMaker Gedeelde gegevens parallel, die zijn geoptimaliseerd voor de AWS-infrastructuur en helpen de trainingskosten te verlagen.

Houd er rekening mee dat gedistribueerde training niet noodzakelijkerwijs lineair wordt geschaald en mogelijk enige overhead met zich meebrengt, wat van invloed is op de algehele runtime.

Voor deep learning-modellen gebruikt een andere optimalisatietechniek gemengde precisie. Gemengde precisie kan de training versnellen, waardoor zowel de trainingstijd als het geheugengebruik worden verminderd met minimale tot geen invloed op de modelnauwkeurigheid. Voor meer informatie, zie de Train met Data Parallel en Model Parallel sectie in Gedistribueerde training in Amazon SageMaker.

Ten slotte kan het optimaliseren van raamwerkspecifieke parameters een aanzienlijke impact hebben op het optimaliseren van het trainingsproces. Automatische afstemming van SageMaker-modellen vindt hyperparameters die het beste presteren, zoals gemeten door een objectieve maatstaf die u kiest. Door de trainingstijd in te stellen als een objectieve maatstaf en een raamwerkconfiguratie als hyperparameters, kunnen knelpunten worden weggenomen en de totale trainingstijd worden verkort. Raadpleeg voor een voorbeeld van het optimaliseren van de standaard TensorFlow-instellingen en het verwijderen van een CPU-bottleneck Aerobotics verbetert de trainingssnelheid met 24 keer per monster met Amazon SageMaker en TensorFlow.

Een andere mogelijkheid om zowel de download- als de verwerkingstijd te optimaliseren, is door te overwegen om te trainen op een subset van uw gegevens. Als uw gegevens bestaan โ€‹โ€‹uit meerdere dubbele vermeldingen of functies met weinig informatiewinst, kunt u mogelijk trainen op een subset van gegevens en de download- en trainingstijd verkorten, evenals een kleinere instantie gebruiken en Amazon elastische blokwinkel (Amazon EBS) volume. Zie voor een voorbeeld Gebruik een gegevensgerichte benadering om de hoeveelheid gegevens die nodig is om Amazon SageMaker-modellen te trainen, te minimaliseren. Ook, Amazon SageMaker-gegevens Wrangler kan de analyse en creatie van trainingsmonsters vereenvoudigen. Voor meer informatie, zie Maak willekeurige en gestratificeerde voorbeelden van gegevens met Amazon SageMaker Data Wrangler.

SageMaker-foutopsporing

Om efficiรซnte training en gebruik van middelen te garanderen, kan SageMaker uw trainingstaak profileren met behulp van Amazon SageMaker-foutopsporing. Debugger-aanbiedingen ingebouwde regels om te waarschuwen voor veelvoorkomende problemen die van invloed zijn op uw training, zoals CPU-bottleneck, GPU-geheugentoename of I/O-bottleneck, of u kunt uw eigen regels maken. U kunt het gegenereerde rapport openen en analyseren in Amazon SageMaker Studio. Voor meer informatie, zie: Amazon SageMaker Debugger-gebruikersinterface in Amazon SageMaker Studio-experimenten. De volgende schermafbeelding toont de Debugger-weergave in Studio.

Analyseer de uitgaven van Amazon SageMaker en bepaal mogelijkheden voor kostenoptimalisatie op basis van gebruik, Deel 4: Trainingsbanen | Amazon Web Services PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

U kunt inzoomen op de Python-operators en -functies (de Topbewerkingen op GPU sectie) die worden uitgevoerd om de trainingstaak uit te voeren. De ingebouwde regels van Debugger voor het profileren van watchframework-operatiegerelateerde problemen, waaronder overmatige trainingsinitialisatietijd als gevolg van het downloaden van gegevens voordat de training begint en uitschieters in de duur van stappen in trainingslussen. Houd er rekening mee dat hoewel het gebruik van de ingebouwde regels gratis is, de kosten voor aangepaste regels van toepassing zijn op basis van de instantie die u configureert voor de duur van de trainingstaak en de opslag die eraan is gekoppeld.

Conclusie

In dit bericht hebben we advies gegeven over kostenanalyse en best practices bij het trainen van ML-modellen met behulp van SageMaker-trainingstaken. Naarmate machine learning zich in alle sectoren als een krachtige tool vestigt, moet training en het uitvoeren van ML-modellen kosteneffectief blijven. SageMaker biedt een brede en diepe functieset om elke stap in de ML-pijplijn te vergemakkelijken en biedt mogelijkheden voor kostenoptimalisatie zonder de prestaties of flexibiliteit te beรฏnvloeden.


Over de auteurs

Analyseer de uitgaven van Amazon SageMaker en bepaal mogelijkheden voor kostenoptimalisatie op basis van gebruik, Deel 4: Trainingsbanen | Amazon Web Services PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Deepali Rajale is een Senior AI/ML-specialist bij AWS. Ze werkt samen met zakelijke klanten en biedt technische begeleiding met best practices voor het implementeren en onderhouden van AI/ML-oplossingen in het AWS-ecosysteem. Ze heeft met een breed scala aan organisaties gewerkt aan verschillende use-cases voor deep learning met NLP en computervisie. Ze is gepassioneerd over het versterken van organisaties om generatieve AI te gebruiken om hun gebruikservaring te verbeteren. In haar vrije tijd houdt ze van films, muziek en literatuur.

Analyseer de uitgaven van Amazon SageMaker en bepaal mogelijkheden voor kostenoptimalisatie op basis van gebruik, Deel 4: Trainingsbanen | Amazon Web Services PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Uri Rosenberg is de AI & ML Specialist Technical Manager voor Europa, het Midden-Oosten en Afrika. Uri is gevestigd in Israรซl en werkt om zakelijke klanten in staat te stellen alles wat met ML te maken heeft, te ontwerpen, bouwen en op schaal te gebruiken. In zijn vrije tijd houdt hij van fietsen, wandelen en toenemende entropie.

Tijdstempel:

Meer van AWS-machine learning