Valitse paras tietolähde Amazon SageMaker -koulutustyöllesi PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Valitse paras tietolähde Amazon SageMaker -koulutustyöllesi

Amazon Sage Maker on hallittu palvelu, jonka avulla on helppo rakentaa, kouluttaa ja ottaa käyttöön koneoppimismalleja (ML). Datatieteilijät käyttävät SageMaker-koulutustehtäviä ML-mallien helpottamiseen; sinun ei tarvitse huolehtia laskentaresurssien hallinnasta, ja maksat vain varsinaisesta harjoitusajasta. Tietojen käsittely on olennainen osa mitä tahansa koulutusprosessia, ja SageMaker-harjoitustyöt tukevat erilaisia ​​​​tietojen tallennus- ja syöttötiloja, jotka sopivat monenlaisiin harjoitustyökuormiin.

Tämä viesti auttaa sinua valitsemaan parhaan tietolähteen SageMaker ML -harjoittelukäyttöön. Esittelemme tietolähteet, joita SageMaker-koulutustyöt tukevat natiivisti. Jokaiselle tietolähteelle ja syöttötilalle esittelemme sen helppokäyttöisyyden, suorituskykyominaisuudet, kustannukset ja rajoitukset. Jotta pääset alkuun nopeasti, tarjoamme kaavion esimerkkipäätöksenkulun, jota voit seurata tärkeimpien työkuormitustesi perusteella. Lopuksi suoritamme useita vertailuarvoja realistisille koulutusskenaarioille osoittaaksemme käytännön vaikutukset koulutuksen kokonaiskustannuksiin ja suorituskykyyn.

Natiivit SageMaker-tietolähteet ja syöttötilat

Harjoitustietojen lukeminen helposti ja joustavasti suorituskykyisellä tavalla on yleinen toistuva huolenaihe ML-harjoittelussa. SageMaker yksinkertaistaa tiedon keräämistä tehokkailla ja tehokkailla tiedonkeruumekanismeilla, joita kutsutaan tietolähteiksi, ja niiden vastaavilla syöttötiloilla. Tämän avulla voit irrottaa harjoituskoodin todellisesta tietolähteestä, liittää tiedostojärjestelmät automaattisesti, lukea korkealla suorituskyvyllä, ottaa helposti käyttöön tietojen jakamisen GPU:iden ja instanssien välillä tietojen rinnakkaisuuden mahdollistamiseksi ja tietojen automaattisen sekoittamisen kunkin aikakauden alussa.

SageMaker-koulutuksen sisäänottomekanismi integroituu natiivisti kolmeen AWS-hallittuun tallennuspalveluun:

  • Amazonin yksinkertainen tallennuspalvelu (Amazon S3) on objektitallennuspalvelu, joka tarjoaa alan johtavan skaalautuvuuden, tiedon saatavuuden, turvallisuuden ja suorituskyvyn.
  • Amazon FSx Lusterille on täysin hallittu jaettu tallennustila, jossa on suositun Luster-tiedostojärjestelmän skaalautuvuus ja suorituskyky. Se on yleensä linkitetty olemassa olevaan S3-ämpäriin.
  • Amazonin elastinen tiedostojärjestelmä (Amazon EFS) on yleiskäyttöinen, skaalautuva ja erittäin saatavilla oleva jaettu tiedostojärjestelmä, jossa on useita hintatasoja. Amazon EFS on palvelimeton ja kasvaa ja pienenee automaattisesti, kun lisäät ja poistat tiedostoja.

SageMaker-koulutuksen avulla harjoitusskripti voi käyttää Amazon S3:een, FSx for Lustreen tai Amazon EFS:ään tallennettuja tietojoukkoja aivan kuin ne olisivat saatavilla paikallisessa tiedostojärjestelmässä (POSIX-yhteensopivan tiedostojärjestelmän käyttöliittymän kautta).

Kun Amazon S3 on tietolähde, voit valita tiedostotilan, FastFile-tilan ja putkitilan välillä:

  • Tiedostotila – SageMaker kopioi tietojoukon Amazon S3:sta ML-ilmentymän tallennustilaan, joka on liitteenä Amazonin elastisten lohkojen myymälä (Amazon EBS) tai NVMe SSD:n äänenvoimakkuutta ennen harjoitusohjelman alkamista.
  • FastFile-tila – SageMaker paljastaa Amazon S3:ssa sijaitsevan tietojoukon POSIX-tiedostojärjestelmänä koulutusesiintymässä. Tietojoukkotiedostot suoratoistetaan Amazon S3:sta pyynnöstä, kun harjoitusskripti lukee niitä.
  • Putkitila – SageMaker suoratoistaa Amazon S3:ssa sijaitsevan tietojoukon ML-harjoitusesiintymään Unix-putkina, joka suoratoistaa Amazon S3:sta pyynnöstä, kun harjoitusskripti lukee tiedot putkesta.

Kun FSx for Luster tai Amazon EFS on tietolähde, SageMaker asentaa tiedostojärjestelmän ennen harjoitusohjelman alkamista.

Harjoittelun syöttökanavat

Kun käynnistät SageMaker-koulutustyön, voit määrittää enintään 20 hallittua koulutuksen syöttökanavat. Voit ajatella kanavia abstraktioyksikkönä, joka kertoo harjoitustyölle, kuinka ja mistä saa tiedot, jotka on asetettu algoritmikoodin saataville luettavaksi tiedostojärjestelmän polusta (esim. /opt/ml/input/data/input-channel-name) ML-esiintymässä. Valitut koulutuskanavat tallennetaan osaksi koulutustyön metadataa, jotta voidaan mahdollistaa täydellinen malliperinteen seuranta käyttötapauksissa, kuten koulutustöiden toistettavuus tai mallinhallintatarkoituksia.

Jos haluat käyttää Amazon S3:a tietolähteenä, määritä a Koulutussyöttö määrittääksesi seuraavat:

  • Syöttötila (Tiedosto-, FastFile- tai Pipe-tila)
  • Jakelu ja sekoitus kokoonpano
  • An S3DataType yhtenä kolmesta menetelmästä tietojoukkosi muodostavien objektien määrittämiseen Amazon S3:ssa:

Vaihtoehtoisesti voit määrittää FSx for Lusterille tai Amazon EFS:lle a FileSystemInput.

Seuraava kaavio näyttää viisi harjoitustyötä, joista jokaisessa on määritetty eri tietolähde ja syöttötilayhdistelmä:

Valitse paras tietolähde Amazon SageMaker -koulutustyöllesi PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Tietolähteet ja syöttötavat

Seuraavat osiot tarjoavat syvällisen sukeltamisen eroihin Amazon S3:n (tiedostotila, FastFile-tila ja putkitila), FSx for Lustrelle ja Amazon EFS:n SageMaker-käsittelymekanismien välillä.

Amazon S3 -tiedostotila

Tiedostotila on oletussyöttötila (jos et nimenomaisesti määrittänyt sellaista), ja sitä on helpompi käyttää. Kun käytät tätä syöttövaihtoehtoa, SageMaker lataa tietojoukon Amazon S3:sta ML-harjoitusilmentymän tallennustilaan (Amazon EBS tai paikallinen NVMe ilmentymän tyypistä riippuen) puolestasi ennen mallikoulutuksen käynnistämistä, jotta harjoitusskripti voi lukea tietojoukon paikallinen tiedostojärjestelmä. Tässä tapauksessa ilmentymässä on oltava tarpeeksi tallennustilaa koko tietojoukon mahtumiseksi.

Voit määrittää tietojoukon tiedostotilaa varten antamalla joko S3-etuliitteen, luettelotiedoston tai lisätyn luettelotiedoston.

Sinun tulee käyttää S3-etuliitettä, kun kaikki tietojoukkotiedostosi sijaitsevat yhteisessä S3-etuliitteessä (alikansiot ovat kunnossa).

Luettelotiedostossa luetellaan tietojoukkosi sisältävät tiedostot. Käytät yleensä luetteloa, kun tietojen esikäsittelytyö lähettää luettelotiedoston tai kun tietojoukkotiedostosi on hajautettu useille S3-etuliitteille. Lisätty luettelo on JSON-rivitiedosto, jossa jokainen rivi sisältää luettelon attribuuteista, kuten viittauksen Amazon S3:n tiedostoon, sekä lisämääritteitä, enimmäkseen tunnisteita. Sen käyttötapaukset ovat samanlaisia ​​kuin manifestin.

Tiedostotila on yhteensopiva SageMaker paikallinen tila (SageMaker-harjoitussäiliön käynnistäminen interaktiivisesti sekunneissa). Hajautettua koulutusta varten voit sirpaloida tietojoukon useisiin esiintymiin käyttämällä ShardedByS3Key vaihtoehto.

Tiedostotilan latausnopeus riippuu tietojoukon koosta, keskimääräisestä tiedostokoosta ja tiedostojen määrästä. Esimerkiksi mitä suurempi tietojoukko on (tai mitä enemmän tiedostoja siinä on), sitä pidempi latausvaihe on, jonka aikana ilmentymän laskentaresurssi pysyy käytännössä käyttämättömänä. Kun harjoittelet Spot-instanssien kanssa, tietojoukko ladataan aina, kun työtä jatketaan Spot-keskeytyksen jälkeen. Tyypillisesti tiedon lataus tapahtuu noin 200 Mt/s suurille tiedostoille (esimerkiksi 5 minuuttia/50 Gt). Se, onko tämä käynnistyskustannus hyväksyttävä, riippuu ensisijaisesti koulutustyösi kokonaiskestosta, koska pidempi koulutusvaihe tarkoittaa suhteellisesti pienempää latausvaihetta.

Amazon S3 FastFile -tila

FastFile-tila paljastaa S3-objektit POSIX-yhteensopivan tiedostojärjestelmän käyttöliittymän kautta, ikään kuin tiedostot olisivat saatavilla harjoitusinstanssisi paikallisella levyllä, ja suoratoistaa niiden sisällön pyynnöstä, kun harjoitusskripti kuluttaa tietoja. Tämä tarkoittaa, että tietojoukkosi ei enää tarvitse mahtua koulutusesiintymän tallennustilaan, eikä sinun tarvitse odottaa, että tietojoukko ladataan koulutusesiintymään ennen kuin harjoittelu voi alkaa.

Tämän helpottamiseksi SageMaker luettelee kaikki objektin metatiedot, jotka on tallennettu määritetyllä S3-etuliitteellä, ennen kuin harjoitusskripti suoritetaan. Näitä metatietoja käytetään vain luku -muodon luomiseen FUSE (tiedostojärjestelmä käyttäjätilassa) joka on harjoitusohjelmasi käytettävissä kautta /opt/ml/data/training-channel-name. S3-objektien luettelointi toimii jopa 5,500 objektia sekunnissa niiden koosta riippumatta. Tämä on paljon nopeampaa kuin tiedostojen lataaminen etukäteen, kuten tiedostotilassa. Kun harjoitusskripti on käynnissä, se voi luetella tai lukea tiedostoja ikään kuin ne olisivat saatavilla paikallisesti. Jokainen lukutoiminto on delegoitu FUSE-palvelulle, joka välittää GET-pyynnöt Amazon S3:lle todellisen tiedoston sisällön toimittamiseksi soittajalle. Kuten paikallinen tiedostojärjestelmä, FastFile käsittelee tiedostoja tavuina, joten se on agnostikko tiedostomuodoille. FastFile-tila voi saavuttaa yli yhden Gt/s suorituskyvyn, kun luetaan suuria tiedostoja peräkkäin useiden työntekijöiden avulla. Voit käyttää FastFileä pienten tiedostojen lukemiseen tai satunnaisten tavualueiden hakemiseen, mutta sinun pitäisi odottaa tällaisten pääsymallien alhaisempaa suorituskykyä. Voit optimoida lukuoikeusmallisi sarjoittamalla monet pienet tiedostot suurempiin tiedostosäiliöihin ja lukemalla ne peräkkäin.

FastFile tukee tällä hetkellä vain S3-etuliitteitä (ei tue luetteloa ja lisättyä luetteloa), ja FastFile-tila on yhteensopiva SageMakerin paikallisen tilan kanssa.

Amazon S3 -putkitila

Pipe-tila on toinen suoratoistotila, joka on suurelta osin korvattu uudemmalla ja yksinkertaisemmalla FastFile-tilalla.

Pipe-tilassa tiedot haetaan valmiiksi Amazon S3:sta suurella samanaikaisuudella ja suorituskyvyllä ja suoratoistetaan Unix-nimellisiin FIFO-putkiin. Jokainen putki voidaan lukea vain yhdellä prosessilla. SageMaker-spesifinen laajennus TensorFlow'hun kätevästi integroi Pipe-tilan alkuperäiseen TensorFlow-datalataajaan tekstin, TFRecords- tai RecordIO-tiedostomuotojen suoratoistoon. Putkitila tukee myös hallittua tietojen jakamista ja sekoittamista.

FSx Lusterille

FSx for Luster voi skaalata satoihin gigatavuihin sekunnissa ja miljooniin IOPS:iin matalan viiveen tiedostojen haulla.

Harjoitustyötä aloittaessaan SageMaker liittää FSx for Luster -tiedostojärjestelmän koulutusesiintymän tiedostojärjestelmään ja käynnistää sitten harjoitusohjelman. Itse asennus on suhteellisen nopea toimenpide, joka ei riipu FSx for Lustreen tallennetun tietojoukon koosta.

Monissa tapauksissa luot FSx for Luster -tiedostojärjestelmän ja linkitä se S3-ämpäriin ja etuliitteeseen. Kun tiedostot linkitetään S3-säilöyn lähteenä, tiedostot ladataan laiskasti tiedostojärjestelmään, kun harjoitusskripti lukee niitä. Tämä tarkoittaa, että heti ensimmäisen harjoitusajon ensimmäisen vaiheen jälkeen koko tietojoukko kopioidaan Amazon S3:sta FSx:ään Luster-tallennustilaa varten (olettaen, että aikakausi määritellään yhdeksi täyspyyhkäisyksi harjoitusesimerkeissä ja että FSx Kiiltovarasto on riittävän suuri). Tämä mahdollistaa matalan viiveen tiedostojen käytön kaikille myöhemmille aikakausille ja koulutustöille samalla tietojoukolla.

Voit myös esilataa tiedostot tiedostojärjestelmään ennen harjoitustyön aloittamista, mikä lievittää laiskasta kuormituksesta johtuvaa kylmäkäynnistystä. On myös mahdollista suorittaa useita koulutustöitä rinnakkain, joita palvelee sama FSx for Luster -tiedostojärjestelmä. Jotta voit käyttää FSx for Lustrea, harjoitustyösi on yhdistettävä VPC:hen (katso VPCConfig-asetukset), joka vaatii DevOpsin asennuksen ja osallistumisen. Tiedonsiirtokulujen välttämiseksi tiedostojärjestelmä käyttää yhtä käytettävyysvyöhykettä, ja sinun on määritettävä tämä käytettävyysvyöhyketunnus harjoitustyötä suoritettaessa. Koska käytät Amazon S3:a pitkäaikaisena tiedontallennustilana, suosittelemme FSx for Luster Scratch 2 -tallennustilan käyttöönottoa kustannustehokkaana, lyhytaikaisena tallennusvaihtoehtona korkealle suorituskyvylle, joka tarjoaa 200 Mt/s perustason. ja purskeen jopa 1300 XNUMX Mt/s per TB varattua tallennustilaa.

Kun FSx for Luster -tiedostojärjestelmäsi on jatkuvasti käynnissä, voit aloittaa uusia koulutustöitä odottamatta tiedostojärjestelmän luomista, eikä sinun tarvitse huolehtia kylmäkäynnistyksestä heti ensimmäisen aikakauden aikana (koska tiedostot voivat silti olla välimuistissa FSx for Luster -tiedostojärjestelmä). Tämän skenaarion haittapuoli on tiedostojärjestelmän käynnissä pitämiseen liittyvät lisäkustannukset. Vaihtoehtoisesti voit luoda ja poistaa tiedostojärjestelmän ennen jokaista koulutustyötä ja sen jälkeen (todennäköisesti komentosarjoitetun automaation avulla), mutta FSx for Luster -tiedostojärjestelmän alustaminen vie aikaa, mikä on verrannollinen siinä olevien tiedostojen määrään (esim. Esimerkiksi noin 2 miljoonan kohteen indeksointi Amazon S3:sta kestää noin tunnin).

Amazon EFS

Suosittelemme käyttämään Amazon EFS:ää, jos harjoitustietosi ovat jo Amazon EFS:ssä ML-harjoittelun lisäksi. Amazon EFS:n käyttäminen tietolähteenä tietojen on oltava Amazon EFS:ssä jo ennen harjoittelua. SageMaker liittää määritetyn Amazon EFS -tiedostojärjestelmän koulutusesiintymään ja käynnistää sitten harjoitusohjelman. Kun määrität Amazon EFS -tiedostojärjestelmää, sinun on valittava oletusarvoisen General Purpose -suorituskykytilan, joka on optimoitu latenssille (sopii pienille tiedostoille), ja Max I/O -suorituskykytilan välillä, joka voi skaalata korkeammalle kokonaissuorituskyvylle ja operaatioita sekunnissa (parempi koulutustehtäviin, joissa on paljon I/O-työntekijöitä). Lisätietoja saat osoitteesta Käytä oikeaa suorituskykytilaa.

Lisäksi voit valita kahdesta mitatusta suorituskyvystä: purskeen suorituskyvyn ja provisioidun suorituskyvyn. Purskeusnopeus 1 Tt:n tiedostojärjestelmälle tarjoaa perusnopeuden 150 Mt/s, kun taas se pystyy purskeutumaan 300 Mt/s:iin 12 tunnin ajan päivässä. Jos tarvitset suurempaa perussuorituskykyä tai huomaat, että sarjahyvitykset loppuvat liian monta kertaa, voit joko kasvattaa tiedostojärjestelmän kokoa tai vaihtaa provisoituun suorituskykyyn. Varastetussa suorituskyvyssä maksat halutusta perusnopeudesta enintään 3072 Mt/s lukunopeudelle.

Harjoittelutyösi on yhdistettävä VPC:hen (katso VPCConfig-asetukset) päästäksesi Amazon EFS:ään.

Parhaan tietolähteen valinta

Paras tietolähde harjoittelutyöllesi riippuu työkuormituksen ominaisuuksista, kuten tietojoukon koosta, tiedostomuodosta, keskimääräisestä tiedoston koosta, harjoituksen kestosta, peräkkäisestä tai satunnaisesta datalataimen lukukuviosta ja siitä, kuinka nopeasti mallisi voi kuluttaa harjoitustiedot.

Seuraavassa vuokaaviossa on ohjeita, joiden avulla pääset alkuun:
Valitse paras tietolähde Amazon SageMaker -koulutustyöllesi PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Milloin käyttää Amazon EFS:ää

Jos tietojoukkosi on ensisijaisesti tallennettu Amazon EFS:ään, sinulla voi olla esikäsittely- tai huomautussovellus, joka käyttää Amazon EFS:ää tallentamiseen. Voit helposti suorittaa koulutustyön, joka on määritetty datakanavalla, joka osoittaa Amazon EFS -tiedostojärjestelmään (lisätietoja on kohdassa Nopeuta koulutusta Amazon SageMakerissa käyttämällä Amazon FSx for Luster- ja Amazon EFS -tiedostojärjestelmiä). Jos suorituskyky ei ole aivan niin hyvä kuin odotit, tarkista optimointivaihtoehdot Amazon EFS -suorituskykyopastai harkitse muita syöttötiloja.

Käytä tiedostotilaa pienille tietojoukoille

Jos tietojoukko on tallennettu Amazon S3:lle ja sen kokonaismäärä on suhteellisen pieni (esimerkiksi alle 50–100 Gt), kokeile käyttää tiedostotilaa. 50 Gt:n tietojoukon lataamisen yleiskustannukset voivat vaihdella tiedostojen kokonaismäärän mukaan (esimerkiksi noin 5 minuuttia, jos se on lohkottu 100 Mt:n sirpaleiksi). Se, onko tämä käynnistyskustannus hyväksyttävä, riippuu ensisijaisesti koulutustyösi kokonaiskestosta, koska pidempi koulutusvaihe tarkoittaa suhteellisesti pienempää latausvaihetta.

Useiden pienten tiedostojen sarjoittaminen yhteen

Jos tietojoukosi koko on pieni (alle 50–100 Gt), mutta se koostuu useista pienistä tiedostoista (alle 50 Mt), tiedostotilan latauskustannukset kasvavat, koska jokainen tiedosto on ladattava yksitellen Amazon S3:sta koulutustapahtumien määrä. Vähentääksesi tätä ylikuormitusta ja nopeuttaaksesi tiedon läpikulkua yleensä harkitse pienempien tiedostojen ryhmien sarjoittamista harvempiin suurempiin tiedostosäiliöihin (kuten 150 Mt per tiedosto) käyttämällä tiedostomuotoja, kuten TFTallenne TensorFlow'lle, Web-tietojoukko PyTorchille tai RecordIO MXNetille. Nämä muodot edellyttävät, että datalataaja toistaa esimerkit peräkkäin. Voit silti sekoittaa tietojasi järjestämällä satunnaisesti uudelleen TFRecord-tiedostojen luettelon jokaisen aikakauden jälkeen ja ottamalla satunnaisesti näytteitä paikallisesta sekoituspuskurista (katso seuraavaa TensorFlow esimerkki).

Milloin käyttää FastFile-tilaa

Suuremmille tietojoukoille, joissa on suurempia tiedostoja (yli 50 Mt), ensimmäinen vaihtoehto on kokeilla FastFile-tilaa, joka on yksinkertaisempi käyttää kuin FSx for Luster, koska se ei vaadi tiedostojärjestelmän luomista tai yhteyttä VPC:hen. FastFile-tila on ihanteellinen suurille tiedostosäiliöille (yli 150 Mt), ja se saattaa toimia myös yli 50 megatavun tiedostoille. Koska FastFile-tila tarjoaa POSIX-liitännän, se tukee satunnaisia ​​lukuja (ei-peräkkäisten tavualueiden lukemista). Tämä ei kuitenkaan ole ihanteellinen käyttötapaus, ja suoritustehosi olisi todennäköisesti pienempi kuin peräkkäisissä lukemissa. Jos sinulla on kuitenkin suhteellisen suuri ja laskennallisesti intensiivinen ML-malli, FastFile-tila saattaa silti kyetä kyllästämään harjoitusputkilinjan tehokkaan kaistanleveyden eikä aiheuta I/O-pullonkaulaa. Sinun täytyy kokeilla ja nähdä. Onneksi siirtyminen tiedostotilasta FastFileen (ja takaisin) on yhtä helppoa kuin tiedostojen lisääminen (tai poistaminen). input_mode='FastFile' parametri määrittäessäsi syöttökanavaasi SageMaker Python SDK:n avulla:

sagemaker.inputs.TrainingInput(S3_INPUT_FOLDER, input_mode='FastFile') 

Mitään muuta koodia tai konfiguraatiota ei tarvitse muuttaa.

Milloin käyttää FSx:ää Lusterille

Jos tietojoukkosi on liian suuri tiedostotilassa tai siinä on paljon pieniä tiedostoja (jotka ei voi sarjottaa helposti) tai sinulla on satunnaislukumalli, FSx for Luster on hyvä vaihtoehto. Sen tiedostojärjestelmä skaalautuu satoihin gigatavuihin sekunnissa ja miljooniin IOPS:iin, mikä on ihanteellinen, kun sinulla on paljon pieniä tiedostoja. Kuten jo aiemmin mainittiin, muista kuitenkin kylmäkäynnistysongelmat, jotka johtuvat laiskasta latauksesta ja FSx for Luster -tiedostojärjestelmän asennuksesta ja alustamisesta.

Kustannusnäkökohdat

Suurimmassa osassa ML-koulutustöistä, erityisesti töistä, joissa käytetään grafiikkasuoritteita tai tarkoitukseen rakennettuja ML-siruja, suurin osa koulutuskustannuksista on ML-koulutusinstanssin laskutettavat sekunnit. Tallennustila gigatavua kuukaudessa, API-pyynnöt ja provisoitu suorituskyky ovat lisäkustannuksia, jotka liittyvät suoraan käyttämiisi tietolähteisiin.

Tallennustilaa GB kuukaudessa

Tallennus gigatavua kuukaudessa voi olla merkittävää suuremmille tietojoukoille, kuten videoille, LiDAR-anturitiedoille ja AdTechin reaaliaikaisille hintatarjouslokeille. Esimerkiksi 1 Tt:n tallentamiseen Amazon S3 Intelligent-Tiering Frequent Access -taso maksaa 23 dollaria kuukaudessa. FSx for Luster -tiedostojärjestelmän lisääminen Amazon S3:n päälle aiheuttaa lisäkustannuksia. Esimerkiksi 1.2 Tt:n SSD-tuetun Scratch 2 -tyyppisen tiedostojärjestelmän luominen ilman tietojen pakkausta maksaa 168 $ kuukaudessa (140 $/TB/kk).

Amazon S3:n ja Amazon EFS:n kanssa maksat vain käyttämäsi määrästä, mikä tarkoittaa, että sinua veloitetaan todellisen tietojoukon koon mukaan. FSx for Lustrella sinua veloitetaan määritetyn tiedostojärjestelmän koon mukaan (vähintään 1.2 Tt). Kun ML-instanssia käytetään EBS-taltioilla, Amazon EBS:ää veloitetaan ML-instanssista riippumatta. Tämä on yleensä paljon alhaisempi kustannus verrattuna ilmentymän käyttökustannuksiin. Esimerkiksi ml.p3.2xlarge -esiintymän käyttäminen 100 Gt:n EBS-taltiolla 1 tunnin ajan maksaa 3.825 dollaria ilmentymälle ja 0.02 dollaria EBS-taltiolle.

API-pyynnöt ja varattujen suoritusten kustannukset

Harjoittelutyösi selaillessa tietojoukkoa, se luettelee ja hakee tiedostoja lähettämällä Amazon S3 API -pyyntöjä. Esimerkiksi jokaisen miljoonan GET-pyynnön hinta on 0.4 dollaria (Intelligent-Tiering-luokassa). Sinun ei pitäisi odottaa tiedonsiirtokustannuksia kaistanleveydestä Amazon S3:ssa ja sieltä ulos, koska koulutus tapahtuu yhdellä Saatavuusvyöhykkeellä.

Kun käytät FSx for Luster -ohjelmaa, joka on linkitetty S3-säilöyn, sinulle aiheutuu Amazon S3 API -pyyntökuluja sellaisten tietojen lukemisesta, joita ei ole vielä tallennettu tiedostojärjestelmään, koska FSx For Luster välittää pyynnön Amazon S3:lle (ja tallentaa tuloksen välimuistiin). ). Itse Lusterille ei aiheudu suoria FSx-pyyntökuluja. Kun käytät FSx for Luster -tiedostojärjestelmää, vältä käytettävyysalueen rajat ylittävästä tiedonsiirrosta aiheutuvat kustannukset suorittamalla harjoitustyösi yhdistettynä samaan Availability Zone -alueeseen, jossa olet määrittänyt tiedostojärjestelmän. Amazon EFS, jossa on provisioitu läpimeno, lisää ylimääräisiä kustannuksia palveluntarjoajalle. GB kuukaudessa.

Suorituskykytapaustutkimus

Havainnollistaaksemme aiemmin mainittuja harjoittelun suorituskykyä koskevia näkökohtia, suoritimme sarjan vertailuarvoja realistista käyttötapausta varten tietokonenäön alalla. Tämän osion vertailuarvoa (ja huomioita) ei ehkä voida soveltaa kaikkiin skenaarioihin, ja niihin vaikuttavat useat käyttämämme ennalta määritetyt tekijät, kuten DNN. Teimme testejä 12 yhdistelmälle seuraavista:

  • Syöttötilat – FSx Lustrelle, tiedostotilalle, FastFile-tilalle
  • Tietojoukon koko – Pienempi tietojoukko (1 Gt), suurempi tietojoukko (54 Gt)
  • Tiedoston koko – Pienemmät tiedostot (JPG, noin 39 Kt), Suuremmat tiedostot (TFRecord, noin 110 Mt)

Tätä tapaustutkimusta varten valitsimme yleisimmin käytetyt syöttötilat, joten jätimme pois Amazon EFS- ja Pipe-tilan.

Tapaustutkimuksen vertailuarvot suunniteltiin päästä päähän SageMaker TensorFlow -koulutustöiksi ml.p3.2x-suuressa yhden GPU-esiintymässä. Valitsimme kuuluisan ResNet-50:n runkomallimme luokittelutehtävään ja Caltech-256:n pienemmäksi harjoitustietojoukoksi (jonka toistimme 50 kertaa luodaksemme sen suuremman tietojoukon version). Suoritimme koulutuksen yhdelle aikakaudelle, joka määriteltiin yhdeksi kokonaiseksi pyyhkäisyksi koulutusesimerkit.

Seuraavat kaaviot näyttävät SageMaker-koulutustöiden laskutettavan kokonaisajan kunkin vertailuskenaarion osalta. Itse työaika koostuu lataamisesta, koulutuksesta ja muista vaiheista (kuten kontin käynnistyksestä ja koulutettujen malliesineiden lataamisesta Amazon S3:een). Lyhyemmät laskutusajat johtavat nopeampiin ja halvempiin koulutustehtäviin.

Valitse paras tietolähde Amazon SageMaker -koulutustyöllesi PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Keskustellaan ensin Skenaario A ja skenaario C, jotka osoittavat kätevästi syöttötilojen suorituskyvyn eron, kun tietojoukko koostuu useista pienistä tiedostoista.

Skenaario A (pienemmät tiedostot, pienempi tietojoukko) paljastaa, että FSx for Luster -tiedostojärjestelmän koulutustyöllä on pienin laskutettava aika. Sillä on lyhin latausvaihe, ja sen harjoitusvaihe on yhtä nopea kuin tiedostotila, mutta nopeampi kuin FastFile. FSx for Luster on voittaja tässä yhden aikakauden testissä. Harkitse kuitenkin samanlaista työmäärää, mutta useilla aikakausilla – latausvaiheesta johtuva tiedostotilan suhteellinen ylimäärä vähenee, kun uusia aikakausia lisätään. Tässä tapauksessa suosittelemme Tiedostotilaa sen helppokäyttöisyyden vuoksi. Lisäksi saatat huomata, että tiedostotilan käyttäminen ja 100 ylimääräisen laskutettavan sekunnin maksaminen on parempi valinta kuin FSx for Luster -tiedostojärjestelmän maksaminen ja luominen.

Skenaario C (pienemmät tiedostot, suurempi tietojoukko) näyttää FSx for Lusterin nopeimmaksi tilaksi, jossa on vain 5,000 1.5 sekuntia laskutettavaa aikaa. Sillä on myös lyhin latausvaihe, koska FSx for Luster -tiedostojärjestelmän asentaminen ei riipu tiedostojärjestelmän tiedostomäärästä (tässä tapauksessa 3 miljoonaa tiedostoa). FastFilen latauskustannukset ovat myös pienet; se hakee vain metatiedot tiedostoista, jotka sijaitsevat määritetyn S10,000-ämpäriliitteen alla, kun taas tiedostojen sisältö luetaan harjoitusvaiheen aikana. Tiedostotila on hitain tila, joka käyttää 3 XNUMX sekuntia ladatakseen koko tietojoukon etukäteen ennen harjoittelun aloittamista. Kun tarkastelemme harjoitusvaihetta, FSx for Luster ja File-tila osoittavat samanlaisen erinomaisen suorituskyvyn. Mitä tulee FastFile-tilaan, kun suoratoistaa pienempiä tiedostoja suoraan Amazon SXNUMX:sta, kunkin tiedoston uuden GET-pyynnön lähettämisestä aiheutuvat lisäkustannukset ovat merkittävät suhteessa tiedostonsiirron kokonaiskestoon (huolimatta siitä, että käytetään erittäin rinnakkaista datalataajaa esihakupuskurilla). Tämä johtaa FastFile-tilan yleiseen alhaisempaan suorituskykyyn, mikä luo I/O-pullonkaulan koulutustyölle. FSx for Luster on selkeä voittaja tässä skenaariossa.

Skenaariot B ja D näyttää suorituskyvyn eron syöttötilojen välillä, kun tietojoukko koostuu harvemmista suuremmista tiedostoista. Lukeminen peräkkäin käyttämällä suurempia tiedostoja johtaa yleensä parempaan I/O-suorituskykyyn, koska se mahdollistaa tehokkaan puskuroinnin ja vähentää I/O-toimintojen määrää.

Skenaario B (suuremmat tiedostot, pienempi tietojoukko) näyttää samanlaisen harjoitusvaiheen ajan kaikissa tiloissa (osoittaa, että koulutus ei ole I/O-sidottu). Tässä skenaariossa suosimme FastFile-tilaa File-tilan sijaan lyhyemmän latausvaiheen vuoksi ja FastFile-tilaa FSx for Lusterin sijaan, koska edellisen käyttö on helppoa.

Skenaario D (suuremmat tiedostot, suurempi tietojoukko) näyttää suhteellisen samanlaiset laskutusajat kaikissa kolmessa tilassa. Tiedostotilan latausvaihe on pidempi kuin Lusterin ja FastFilen FSx:n latausvaihe. Tiedostotila lataa koko tietojoukon (54 Gt) Amazon S3:sta koulutusinstanssiin ennen harjoitusvaiheen aloittamista. Kaikki kolme tilaa viettävät saman verran aikaa harjoitusvaiheessa, koska kaikki tilat voivat hakea dataa riittävän nopeasti ja ovat GPU-sidottuja. Jos käytämme ML-esiintymiä lisäprosessori- tai grafiikkasuoritinresurssien kanssa, kuten ml.p4d.24xlarge, laskentaresurssien kyllästämiseen tarvittava tiedon I/O-suorituskyky kasvaa. Näissä tapauksissa voimme odottaa, että FastFile ja FSx for Luster skaalaavat suoritustehonsa onnistuneesti (FSx for Lusterin suorituskyky riippuu kuitenkin varatun tiedostojärjestelmän koosta). Tiedostotilan kyky skaalata suorituskykyään riippuu ilmentymään liitetyn levytaltion suorituskyvystä. Esimerkiksi Amazon EBS:n tukemat ilmentymät (kuten ml.p3.2xlarge, ml.p3.8xlarge ja ml.p3.16xlarge) on rajoitettu 250 Mt/s:n maksimikapasiteettiin, kun taas paikallisten NVMe-tuettujen ilmentymien (kuten ml. g5.* tai ml.p4d.24xlarge) mahtuu paljon suurempaa suorituskykyä.

Yhteenvetona uskomme, että FastFile on tämän skenaarion voittaja, koska se on nopeampi kuin tiedostotila ja yhtä nopea kuin FSx for Lustre, mutta silti yksinkertaisempi käyttää, maksaa vähemmän ja voi helposti skaalata suorituskykyään tarpeen mukaan.

Lisäksi, jos meillä olisi paljon suurempi tietojoukko (useita TB:itä kooltaan), tiedostotilassa kuluisi useita tunteja datajoukon lataamiseen ennen harjoituksen alkamista, kun taas FastFile voisi aloittaa harjoittelun huomattavasti nopeammin.

Ota mukaan oma tietosi

SageMakerin natiivi tietolähde sopii useimpiin mutta ei kaikkiin mahdollisiin ML-harjoitusskenaarioihin. Tilanteet, joissa saatat joutua etsimään muita tiedonsiirtovaihtoehtoja, voivat sisältää tietojen lukemisen suoraan kolmannen osapuolen tallennustuotteesta (olettaen, että helppo ja oikea-aikainen vienti Amazon S3:een ei ole mahdollista) tai saman koulutuksen vaatimus. skripti suoritetaan muuttumattomana sekä SageMakerissa että Amazonin elastinen laskentapilvi (Amazon EC2) tai Amazonin elastisten kuberneettien palvelu (Amazon EKS). Voit ratkaista nämä tapaukset ottamalla datan käsittelymekanismisi koulutusskriptiin. Tämä mekanismi on vastuussa tietojoukkojen lukemisesta ulkoisista tietolähteistä koulutusinstanssiin. Esimerkiksi, TFRecordDataset TensorFlow'sta tf.data kirjasto voi lukea suoraan Amazon S3 -tallennustilasta.

Jos tiedonsiirtomekanismisi tarvitsee kutsua AWS-palveluita, kuten Amazon Relational Database -palvelu (Amazon RDS), varmista, että AWS-henkilöllisyyden ja käyttöoikeuksien hallinta (IAM) koulutustyösi rooli sisältää asiaankuuluvat IAM-käytännöt. Jos tietolähde sijaitsee Amazonin virtuaalinen yksityinen pilvi (Amazon VPC), sinun on suoritettava harjoitustyösi yhdistettynä samaan VPC:hen.

Kun hallitset tietojoukkojen käsittelyä itse, SageMaker-perinteen seuranta ei voi kirjata automaattisesti harjoituksen aikana käytettyjä tietojoukkoja. Harkitse siksi vaihtoehtoisia mekanismeja, kuten koulutustyötunnisteita tai hyperparametreja asiaankuuluvien metatietojesi tallentamiseen.

Yhteenveto

Oikean SageMaker-harjoitustietolähteen valinnalla voi olla suuri vaikutus ML-mallien koulutuksen nopeuteen, helppokäyttöisyyteen ja kustannuksiin. Käytä toimitettua vuokaaviota aloittaaksesi nopeasti, tarkkaileksesi tuloksia ja kokeileksesi lisämäärityksiä tarvittaessa. Muista kunkin tietolähteen edut, haitat ja rajoitukset sekä se, kuinka hyvin ne sopivat koulutustyösi yksilöllisiin vaatimuksiin. Ota yhteyttä AWS-yhteyshenkilöön saadaksesi lisätietoja ja apua.


Tietoja Tekijät

Valitse paras tietolähde Amazon SageMaker -koulutustyöllesi PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Gili Nachum on vanhempi AI/ML Specialist Solutions -arkkitehti, joka työskentelee osana EMEA-alueen Amazon Machine Learning -tiimiä. Gili on intohimoinen syväoppimismallien koulutuksen haasteista ja siitä, kuinka koneoppiminen muuttaa maailmaa sellaisena kuin me sen tunnemme. Vapaa-ajallaan Gili pelaa pöytätennistä.

Valitse paras tietolähde Amazon SageMaker -koulutustyöllesi PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Tohtori Alexander Arzhanov on AI/ML Specialist Solutions -arkkitehti Frankfurtissa, Saksassa. Hän auttaa AWS-asiakkaita suunnittelemaan ja ottamaan käyttöön ML-ratkaisujaan EMEA-alueella. Ennen AWS:ään liittymistään Alexander tutki raskaiden elementtien alkuperää universumissamme ja innostui ML:stä käytyään sitä laajamittaisissa tieteellisissä laskelmissaan.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen