Reduceer de trainingstijd en -kosten voor deep learning met MozaรฏekML Composer op AWS PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Verminder de tijd en kosten van deep learning-training met MosaicML Composer op AWS

In het afgelopen decennium hebben we gezien dat Deep learning (DL) wetenschap in een enorm tempo door AWS-klanten geadopteerd. De overvloedige en gezamenlijk getrainde parameters van DL-modellen hebben een grote representatiecapaciteit die verbeteringen heeft gebracht in tal van gebruiksscenario's van klanten, waaronder beeld- en spraakanalyse, natuurlijke taalverwerking (NLP), tijdreeksverwerking en meer. In dit bericht belichten we uitdagingen die vaak specifiek worden gemeld in DL-training, en hoe de open-sourcebibliotheek MozaรฏekML-componist helpt ze op te lossen.

De uitdaging met DL-training

DL-modellen worden iteratief getraind, in een geneste for-lus. Een lus doorloopt de trainingsgegevensset brok voor brok en, indien nodig, wordt deze lus meerdere keren herhaald over de hele dataset. ML-beoefenaars die aan DL-training werken, worden geconfronteerd met verschillende uitdagingen:

  • De duur van de training groeit met de gegevensgrootte. Met permanent groeiende datasets groeien ook de trainingstijden en -kosten, en vertraagt โ€‹โ€‹het ritme van wetenschappelijke ontdekkingen.
  • DL-scripts vereisen vaak boilerplate-code, met name de eerder genoemde dubbele for-lusstructuur die de dataset opsplitst in minibatches en de training in tijdperken.
  • De paradox van de keuze: er zijn verschillende publicaties en bibliotheken voor trainingsoptimalisatie gepubliceerd, maar het is onduidelijk welke eerst moet worden getest en hoe de effecten ervan kunnen worden gecombineerd.

In de afgelopen jaren hebben verschillende open-sourcebibliotheken, zoals: Keras, PyTorch Bliksem, Face Transformers knuffelen en Ray-trein hebben geprobeerd DL-training toegankelijker te maken, met name door de breedsprakigheid van de code te verminderen, waardoor de manier waarop neurale netwerken worden geprogrammeerd, wordt vereenvoudigd. De meeste van die bibliotheken hebben zich gericht op ontwikkelaarservaring en codecompactheid.

In dit bericht presenteren we een nieuwe open-sourcebibliotheek die een ander standpunt inneemt over DL-training: MozaรฏekML-componist is een op snelheid gerichte bibliotheek waarvan het primaire doel is om scripts voor neurale netwerktraining sneller te maken via algoritmische innovatie. In de cloud DL-wereld is het verstandig om te focussen op snelheid, omdat computerinfrastructuur vaak wordt betaald per gebruik, zelfs tot op de seconde Amazon SageMaker-training-en snelheidsverbeteringen kunnen zich vertalen in geldbesparingen.

Historisch gezien werd het versnellen van DL-training meestal gedaan door het aantal machines dat parallelle iteraties van modellen berekent te vergroten, een techniek die gegevensparallellisme. Hoewel dataparallellisme soms de training versnelt (niet gegarandeerd omdat het de convergentie verstoort, zoals aangegeven in) Goyal et al.), het vermindert de totale werkkosten niet. In de praktijk heeft het de neiging om het te verhogen, vanwege de overhead tussen de machinecommunicatie en hogere machine-eenheidskosten, omdat gedistribueerde DL-machines zijn uitgerust met hoogwaardige netwerken en in-server GPU-interconnectie.

Hoewel MosaicML Composer dataparallellisme ondersteunt, verschilt de kernfilosofie van de beweging van dataparallellisme. Het doel is om de training te versnellen zonder dat er meer machines nodig zijn, door te innoveren op het niveau van de wetenschappelijke implementatie. Daarom streeft het ernaar om tijdsbesparingen te realiseren die zouden leiden tot kostenbesparingen dankzij de pay-per-use tariefstructuur van AWS.

Introductie van de open-source bibliotheek MosaicML Composer

MosaicML Composer is een open-source DL-trainingsbibliotheek die speciaal is gebouwd om het eenvoudig te maken om de nieuwste algoritmen te gebruiken en deze samen te stellen in nieuwe recepten die de modeltraining versnellen en de modelkwaliteit helpen verbeteren. Op het moment van schrijven ondersteunt het PyTorch en bevat het 25 technieken, genaamd methoden in de MosaicML-wereld, samen met standaardmodellen, datasets en benchmarks

Componist is verkrijgbaar via pip:

pip install mosaicml

Speedup-technieken die in Composer zijn geรฏmplementeerd, zijn toegankelijk met de functionele API. Het volgende fragment past bijvoorbeeld de VervagenZwembad techniek naar een TorchVision ResNet:

import logging

from composer import functional as CF
import torchvision.models as models
logging.basicConfig(level=logging.INFO)

model = models.resnet50()
CF.apply_blurpool(model)

Optioneel kunt u ook een Trainer om je eigen combinatie van technieken samen te stellen:

from composer import Trainer
from composer.algorithms import LabelSmoothing, CutMix, ChannelsLast

trainer = Trainer(
    model=.. # must be a composer.ComposerModel
    train_dataloader=...,
    max_duration="2ep",  # can be a time, a number of epochs or batches
    algorithms=[
        LabelSmoothing(smoothing=0.1),
        CutMix(alpha=1.0),
        ChannelsLast(),
    ]
)

trainer.fit()

Voorbeelden van methoden geรฏmplementeerd in Composer

Sommige van de in Composer beschikbare methoden zijn specifiek voor computervisie, bijvoorbeeld technieken voor beeldvergroting ColOut, Uitknippenof Progressief formaat wijzigen. Anderen zijn specifiek voor sequentiemodellering, zoals: Sequentielengte opwarmen or Alibi. Interessant is dat verschillende agnostisch zijn voor de use-case en kunnen worden toegepast op een verscheidenheid aan neurale netwerken van PyTorch die verder gaan dan computervisie en NLP. Die generieke versnellingsmethoden voor neurale netwerktraining omvatten: Etiket gladmaken, Selectieve Backprop, Stochastische gewichtsgemiddelde, Laag bevriezen en Scherptebewuste minimalisatie (SAM).

Laten we dieper ingaan op een paar ervan die door het MosaicML-team bijzonder effectief werden gevonden:

  • Scherptebewuste minimalisatie (SAM) is een optimizer die zowel de modelverliesfunctie als de scherpte ervan minimaliseert door tweemaal een gradiรซnt te berekenen voor elke optimalisatiestap. Om de extra rekenkracht te beperken om de doorvoer te benadelen, kan SAM periodiek worden uitgevoerd.
  • Aandacht met lineaire vooroordelen (ALiBi), geรฏnspireerd door Pers et al., is specifiek voor Transformers-modellen. Het maakt positionele inbeddingen overbodig en vervangt ze door een niet-aangeleerde voorkeur voor attentiegewichten.
  • Selectieve Backprop, geรฏnspireerd door Jiang et al., kunt u back-propagation (de algoritmen die modelgewichten verbeteren door de fouthelling te volgen) alleen uitvoeren op records met een hoge verliesfunctie. Met deze methode kunt u onnodige rekenkracht voorkomen en de doorvoer verbeteren.

Het beschikbaar hebben van deze technieken in รฉรฉn compact trainingskader is een belangrijke toegevoegde waarde voor ML-beoefenaars. Wat ook waardevol is, is de bruikbare veldfeedback die het MosaicML-team voor elke techniek produceert, getest en beoordeeld. Maar met zo'n rijke gereedschapskist kun je je afvragen: welke methode zal ik gebruiken? Is het veilig om het gebruik van meerdere methoden te combineren? Ga naar MosaicML Explorer.

MozaรฏekML-verkenner

Om de waarde en compatibiliteit van DL-trainingsmethoden te kwantificeren, onderhoudt het MosaicML-team: Ontdekker, een uniek live dashboard met tientallen DL-trainingsexperimenten over vijf datasets en zeven modellen. Het dashboard toont de pareto optimale grens in de afweging kosten/tijd/kwaliteit, en stelt u in staat om te bladeren en de best scorende combinaties van methoden te vinden, genaamd recepten in de MosaicML-wereldโ€”voor een bepaald model en dataset. De volgende grafieken laten bijvoorbeeld zien dat voor een 125M parameter GPT2-training, de goedkoopste training met een perplexiteit van 24.11 wordt verkregen door AliBi, Sequence Length Warmup en Scale Schedule te combineren, met een kostprijs van ongeveer $ 145.83 in de AWS Cloud! Houd er echter rekening mee dat deze kostenberekening en de berekeningen die in dit bericht volgen, alleen gebaseerd zijn op EC2 on-demand compute. Andere kostenoverwegingen kunnen van toepassing zijn, afhankelijk van uw omgeving en zakelijke behoeften.

Screenshot van MosaicML Explorer voor GPT-2 training

Opmerkelijke prestaties met Composer op AWS

Door de Composer-bibliotheek op AWS te draaien, behaalde het MosaicML-team een โ€‹โ€‹aantal indrukwekkende resultaten. Houd er rekening mee dat de door het MosaicML-team gerapporteerde kostenramingen alleen bestaan โ€‹โ€‹uit on-demand rekenkosten.

Conclusie

U kunt met Composer aan de slag op elk compatibel platform, van uw laptop tot grote GPU-uitgeruste cloudservers. De bibliotheek beschikt over intuรฏtieve Welkomstrondleiding en Ermee beginnen documentatie pagina's. Door Composer in AWS te gebruiken, kunt u de wetenschap van Composer-kostenoptimalisatie cumuleren met AWS-kostenoptimalisatieservices en -programma's, waaronder Spot compute (Amazon EC2, Amazon Sage Maker), Spaarplan, Automatische afstemming van SageMaker-modellen, en meer. Het MosaicML-team onderhoudt een zelfstudie van Composer op AWS. Het biedt een stapsgewijze demonstratie van hoe u MLPerf-resultaten kunt reproduceren en ResNet-50 op AWS kunt trainen tot de standaard 76.6% top-1-nauwkeurigheid in slechts 27 minuten.

Als je worstelt met neurale netwerken die te langzaam trainen, of als je je DL-trainingskosten onder controle wilt houden, probeer MosaicML op AWS dan eens en laat ons weten wat je bouwt!


Over de auteurs

Reduceer de trainingstijd en -kosten voor deep learning met MozaรฏekML Composer op AWS PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Bandish Sjah is een Engineering Manager bij MosaicML en werkt aan het overbruggen van efficiรซnt deep learning met grootschalige gedistribueerde systemen en performance computing. Bandish heeft meer dan tien jaar ervaring met het bouwen van systemen voor machine learning en bedrijfstoepassingen. Hij brengt graag tijd door met vrienden en familie, kookt en kijkt regelmatig naar Star Trek voor inspiratie.

Reduceer de trainingstijd en -kosten voor deep learning met MozaรฏekML Composer op AWS 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.

Tijdstempel:

Meer van AWS-machine learning