Vähennä syvän oppimisen koulutusaikaa ja -kustannuksia MosaicML Composerilla AWS PlatoBlockchain Data Intelligencessa. Pystysuuntainen haku. Ai.

Vähennä syvän oppimisen koulutusaikaa ja -kustannuksia MosaicML Composerilla AWS:ssä

Viimeisen vuosikymmenen aikana olemme nähneet Deep learning (DL) -tiede, jonka AWS-asiakkaat omaksuvat valtavasti. DL-mallien runsailla ja yhdessä koulutetuilla parametreilla on suuri esityskapasiteetti, joka toi parannuksia lukuisiin asiakaskäyttötapauksiin, mukaan lukien kuva- ja puheanalyysi, luonnollisen kielen käsittely (NLP), aikasarjakäsittely ja paljon muuta. Tässä viestissä korostamme erityisesti DL-koulutuksessa yleisesti raportoituja haasteita ja sitä, miten avoimen lähdekoodin kirjasto MosaicML-säveltäjä auttaa ratkaisemaan ne.

DL-koulutuksen haaste

DL-malleja opetetaan iteratiivisesti sisäkkäisessä silmukassa. Silmukka toistuu harjoitustietojoukon läpi pala kerrallaan, ja tarvittaessa tämä silmukka toistetaan useita kertoja koko tietojoukossa. DL-koulutuksessa työskentelevät ML-harjoittajat kohtaavat useita haasteita:

  • Koulutuksen kesto kasvaa datan koon myötä. Pysyvästi kasvavien tietokokonaisuuksien myötä myös koulutusajat ja kustannukset kasvavat, ja tieteellisten löytöjen rytmi hidastuu.
  • DL-komentosarjat vaativat usein lisäkoodia, erityisesti edellä mainittua double for loop -rakennetta, joka jakaa tietojoukon minieriin ja koulutuksen aikakausiksi.
  • Valinnan paradoksi: useita koulutuksen optimointipapereita ja kirjastoja julkaistaan, mutta on epäselvää, kumpaa testataan ensin ja miten niiden vaikutukset yhdistetään.

Viime vuosina useat avoimen lähdekoodin kirjastot, kuten Keras, PyTorch-salama, Halaa kasvomuuntajiaja Ray Train ovat yrittäneet tehdä DL-koulutuksesta helpommin saavutettavissa, erityisesti vähentämällä koodin monisanaisuutta, mikä yksinkertaistaa hermoverkkojen ohjelmointia. Suurin osa näistä kirjastoista on keskittynyt kehittäjäkokemukseen ja koodin kompaktisuuteen.

Tässä viestissä esittelemme uuden avoimen lähdekoodin kirjaston, joka ottaa toisenlaisen kannan DL-koulutukseen: MosaicML-säveltäjä on nopeuskeskeinen kirjasto, jonka ensisijaisena tavoitteena on tehdä hermoverkkojen koulutusskripteistä nopeampia algoritmisten innovaatioiden avulla. Pilvi-DL-maailmassa on viisasta keskittyä nopeuteen, koska laskentainfrastruktuurista maksetaan usein käyttökertaa kohti – jopa toiseen käyttöön. Amazon SageMaker -koulutus– ja nopeuden parannukset voivat johtaa rahansäästöihin.

Historiallisesti DL-koulutuksen nopeuttaminen on tehty enimmäkseen lisäämällä mallien iteraatioita rinnakkain laskevien koneiden määrää, tekniikkaa ns. tietojen rinnakkaisuus. Vaikka tietojen rinnakkaisuus joskus nopeuttaa harjoittelua (ei taata, koska se häiritsee konvergenssia, kuten Goyal et ai.), se ei vähennä työn kokonaiskustannuksia. Käytännössä se pyrkii lisäämään sitä koneiden välisen tiedonsiirron ylikuormituksen ja korkeampien koneyksikkökustannusten vuoksi, koska hajautetut DL-koneet on varustettu huippuluokan verkkoyhteydellä ja palvelimen sisäisellä GPU-liitännällä.

Vaikka MosaicML Composer tukee tiedon rinnakkaisuutta, sen ydinfilosofia eroaa datan rinnakkaisuusliikkeestä. Sen tavoitteena on nopeuttaa koulutusta ilman lisää koneita, innovoimalla tieteen toteutustasolla. Siksi sillä pyritään saavuttamaan ajansäästöjä, jotka johtaisivat kustannussäästöihin AWS:n pay-per-use -maksurakenteen ansiosta.

Esittelyssä avoimen lähdekoodin kirjasto MosaicML Composer

MosaicML Composer on avoimen lähdekoodin DL-koulutuskirjasto, joka on suunniteltu helpottamaan uusimpien algoritmien tuomista ja laatimista uusiksi resepteiksi, jotka nopeuttavat mallin koulutusta ja auttavat parantamaan mallin laatua. Tätä kirjoitettaessa se tukee PyTorchia ja sisältää 25 tekniikkaa menetelmät MosaicML-maailmassa – sekä vakiomallit, tietojoukot ja vertailuarvot

Säveltäjä on saatavilla pipin kautta:

pip install mosaicml

Composerissa toteutettuihin nopeuttamistekniikoihin pääsee käsiksi sen toiminnallisen API:n kautta. Esimerkiksi seuraava katkelma koskee BlurPool tekniikka TorchVision ResNetiin:

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)

Vaihtoehtoisesti voit käyttää myös a Kouluttaja luodaksesi oman yhdistelmäsi tekniikoista:

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()

Esimerkkejä Composerissa toteutetuista menetelmistä

Jotkut Composerin käytettävissä olevista menetelmistä ovat tietokonenäkökohtaisia, esimerkiksi kuvan lisäystekniikat ColOut, automaattikatkaisintai Progressiivinen kuvan koon muuttaminen. Toiset ovat sekvenssimallinnuskohtaisia, kuten Jakson pituuden lämmittely or Alibi. Mielenkiintoista on, että useat ovat agnostikkoja käyttötapauksen suhteen ja niitä voidaan soveltaa useisiin PyTorch-hermoverkkoihin tietokonenäön ja NLP:n lisäksi. Näitä yleisiä hermoverkkojen harjoittelukiihdytysmenetelmiä ovat mm Label Smoothing, Selective Backprop, Stokastinen painon keskiarvo, Kerroksen jäädytysja Sharpness Aware Minimization (SAM).

Sukellaanpa syvälle muutamaan niistä, jotka MosaicML-tiimi piti erityisen tehokkaina:

  • Sharpness Aware Minimization (SAM) on optimoija, joka minimoi sekä mallihäviöfunktion että sen terävyyden laskemalla gradientin kahdesti jokaista optimointivaihetta varten. Ylimääräisen laskennan rajoittamiseksi suorituskyvyn heikentämiseksi SAM voidaan suorittaa säännöllisesti.
  • Huomio lineaarisilla harhoilla (ALiBi), innoittamana Press et ai., on nimenomaan Transformers-malleille. Se poistaa sijaintikohtaisten upotusten tarpeen ja korvaa ne oppimattomalla painotuksella.
  • Selective Backprop, innoittamana Jiang et ai., voit suorittaa takaisin-etenemisen (algoritmit, jotka parantavat mallin painotuksia seuraamalla sen virhekaltevuutta) vain tietueissa, joissa on suuri häviötoiminto. Tämä menetelmä auttaa sinua välttämään tarpeettoman laskennan ja parantaa suorituskykyä.

Näiden tekniikoiden saatavuus yhdessä kompaktissa harjoituskehyksessä on merkittävä lisäarvo ML-harjoittajille. Arvokasta on myös toimiva kenttäpalaute, jonka MosaicML-tiimi tuottaa jokaiselle testatuksi ja arvioidusta tekniikasta. Kuitenkin, kun otetaan huomioon niin rikas työkalupakki, saatat ihmetellä: mitä menetelmää minun tulee käyttää? Onko turvallista yhdistää useiden menetelmien käyttö? Avaa MosaicML Explorer.

MosaicML Explorer

MosaicML-tiimi ylläpitää DL-koulutusmenetelmien arvon ja yhteensopivuuden kvantifiointia tutkimusmatkailija, lajissaan ensimmäinen reaaliaikainen kojelauta, joka kuvaa kymmeniä DL-harjoittelukokeita viiden tietojoukon ja seitsemän mallin aikana. Kojelaudassa on kuvat pareto optimaalinen raja kustannus/aika/laatu-suhteessa, ja sen avulla voit selata ja löytää parhaat pistemäärät menetelmien yhdistelmiä – ns. te reseptit MosaicML-maailmassa – tietylle mallille ja tietojoukolle. Esimerkiksi seuraavat kaaviot osoittavat, että 125 miljoonan parametrin GPT2-koulutuksessa halvin harjoitus, joka ylläpitää hämmennystä 24.11, saadaan yhdistämällä AliBi, Sequence Length Warmup ja Scale Schedule, jolloin AWS Cloudin hinta on noin 145.83 dollaria! Huomaa kuitenkin, että tämä kustannuslaskelma ja tässä viestissä seuraavat laskelmat perustuvat vain EC2:n on-demand-laskentaan. Muut kustannusnäkökohdat voivat olla soveltuvia ympäristösi ja liiketoimintasi tarpeiden mukaan.

Kuvakaappaus MosaicML Explorerista GPT-2-koulutukseen

Huomattavia saavutuksia Composerilla AWS:ssä

Suorittamalla Composer-kirjaston AWS:ssä MosaicML-tiimi saavutti useita vaikuttavia tuloksia. Huomaa, että MosaicML-tiimin ilmoittamat kustannusarviot sisältävät vain on-demand-laskennan.

Yhteenveto

Voit aloittaa Composerin käytön millä tahansa yhteensopivalla alustalla kannettavasta tietokoneesta suuriin grafiikkasuorittimella varustettuihin pilvipalvelimiin. Kirjasto on intuitiivinen Tervetuloa Tour ja Päästä alkuun dokumentaatiosivut. Composerin käyttäminen AWS:ssä mahdollistaa Composerin kustannusoptimointitieteen kumuloinnin AWS-kustannusoptimointipalveluihin ja -ohjelmiin, mukaan lukien Spot compute (Amazon EC2, Amazon Sage Maker), Säästösuunnitelma, Automaattinen SageMaker-viritys, ja enemmän. MosaicML-tiimi ylläpitää a oppitunti Säveltäjästä AWS:ssä. Se tarjoaa vaiheittaisen esittelyn siitä, kuinka voit toistaa MLPerf-tuloksia ja kouluttaa ResNet-50:tä AWS:llä 76.6 %:n top-1-standardin tarkkuudella vain 27 minuutissa.

Jos kamppailet liian hitaasti harjoittelevien hermoverkkojen kanssa tai jos haluat pitää DL-harjoittelukustannukset kurissa, kokeile MosaicML:ää AWS:ssä ja kerro meille, mitä rakennat!


Tietoja kirjoittajista

Vähennä syvän oppimisen koulutusaikaa ja -kustannuksia MosaicML Composerilla AWS PlatoBlockchain Data Intelligencessa. Pystysuuntainen haku. Ai.Bandish Shah on MosaicML:n suunnittelupäällikkö, joka pyrkii yhdistämään tehokkaan syväoppimisen laajamittaisilla hajautetuilla järjestelmillä ja suorituskyvyn laskennalla. Bandishilla on yli vuosikymmenen kokemus järjestelmien rakentamisesta koneoppimiseen ja yrityssovelluksiin. Hän nauttii ajan viettämisestä ystävien ja perheen kanssa, ruoanlaittoon ja Star Trekin katseluun inspiraation saamiseksi.

Vähennä syvän oppimisen koulutusaikaa ja -kustannuksia MosaicML Composerilla AWS PlatoBlockchain Data Intelligencessa. 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.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen