AWS vs Paperspace vs FloydHub: pilvi-GPU-kumppanin valitseminen

Syvän oppimisen ansiosta lähes kaikilla nykyisillä toimialoilla roolien, kuten ”Data Scientist”, “ML / DL insinööri”, “AI Scientist” jne., Kysyntä ja kiinnostus ovat nähneet ennennäkemättömän suuren. Yhä useammat opiskelijat, vastavalmistuneet ja alan ammattilaiset ymmärtävät tarpeen pysyä ajan tasalla näistä nousevista tekniikoista ja aloittavat kursseja, sertifikaatteja ja työpaikkoja näillä aloilla. Kun päätät siirtyä verkkotunnukseen, ensimmäinen asia, jonka tarvitset käsiisi, on korkea laskentateho. Siellä GPU: t tulevat sisään.

Oman syväoppimislaitteen rakentaminen on kuitenkin kallis asia. Nopean ja tehokkaan GPU: n, CPU: n, SSD: n, yhteensopivan emolevyn ja virtalähteen, ilmastointilaskujen, huollon ja komponenttien vaurioiden kustannustekijä. Lisäksi sinulla on riski jäädä jälkeen nopeasti kehittyvän teollisuuden uusimmista laitteista.

Lisäksi komponenttien kokoaminen ei riitä. Asenna kaikki vaaditut kirjastot ja yhteensopivat ohjaimet, ennen kuin voit aloittaa ensimmäisen mallin kouluttamisen. Ihmiset kulkevat edelleen tätä reittiä, ja jos aiot käyttää syväoppimista laajasti (> 150 tuntia / kk), oman syvän oppimisen työaseman rakentaminen saattaa olla oikea liike.

Parempi ja halvempi vaihtoehto on käyttää pilvipohjaisia ​​GPU-palvelimia, joita tarjoavat Amazonin, Googlen, Microsoftin ja muiden kaltaiset toimijat, varsinkin jos olet vain murtautumassa tähän verkkotunnukseen ja aiot käyttää laskentatehoa oppimiseen ja kokeiluun. Olen käyttänyt AWS: ää, Paperspacea ja FloydHubia viimeiset 4–5 kuukautta. Google Cloud Platform ja Microsoft Azure olivat samankaltaisia ​​AWS: n kanssa hinnoittelussaan ja tarjouksissaan, joten kiinni edellä mainittuihin kolmeen.

AWS: Suosituin pilvipalvelujen tarjoaja. Tarjoaa turvallisia ja skaalautuvia GPU-ilmentymiä sekä muita AI-integraatioita, kuten Polly, Rekognition, Lex ja AWS Machine Learning (saatavana joillakin alueilla).

Paperspace: Cloud VM: t GPU-tuella pelaamista, suunnittelua ja ohjelmointia (ML / DL) varten. Tarjoaa uusimmat NVIDIA GPU -sovellukset esiasennettujen pakettien ja muutaman DL-kehyksen kanssa kilpailukykyiseen hintaan.

FloydHub: Markkinoidaan nimellä “Heroku for DL”, Floyd edistää avoimen lähdekoodin yhteistyötä ottamalla käyttöön julkisia projekteja ja tietojoukkoja. On oma CLI koulutusmalleihin, joissa käytetään Caffe, PyTorch, Chainer, MxNet, TF, Keras ja muut.

Valitse p2.xlarge-tapaus joustavalla IP: llä ja 30 Gt: n EBS-tilavuudella (osa ilmaista tasoa) AWS: llä, Ubuntu ML-in-a-box GPU + VM 50 Gt: n SSD: llä Paperspacessä ja Base Data Scientist Plan ilman mitään lisäyksiä FloydHubissa.

Kolmen vertailu voi olla laaja jokaisella, joka tarjoaa ainutlaatuisia etuja. Pidän sen kuitenkin rajoittuneena kuuteen avaintoimintoon, jotka olisivat parhaiten merkityksellisiä tämän alueen aloittelijoille tai jollekin, joka aikoo käyttää näitä alustoja pienimuotoisiin harrastusprojekteihin.

[PÄIVITYS | Toukokuu 2018]: Tämä viesti on nyt yli 6 kuukautta vanha. Tässä jatkuvasti muuttuvan tekniikan aikakaudella laitteisto- / ohjelmistopäivityksillä kaikenlainen vertailu eri teknologiaympäristöjen välillä tulee nopeasti vanhentuneeksi. Olen siis lisännyt katkelmat UPDATE-osioista tämän viestin merkityksellisiin paikkoihin ja yhden sen lopuksi yhteenvetona. Päivityksiä ei kuitenkaan missään nimessä voida pitää tyhjentävinä.

Helppo asennus:

Täysin konfiguroidun ilmentymän asettaminen AWS: lle on vaikeaa huolimatta siitä, että Internetissä on laajoja asennusohjeita. EBS-levyn määrittämiseen, omistettujen IP-osoitteiden asettamiseen ja tarvittavien pakettien, ohjelmistotyökalujen ja DL-kirjastojen asentamiseen on suoritettava asianmukaiset komentosarjat. Tietysti voit käyttää joitain vapaasti saatavilla olevista syvän oppimisen AMI: istä. Siitä huolimatta ne vaativat vielä vähän vaivaa.

Toisaalta Paperspace ja FloydHub ovat ylpeitä siitä, että sen käyttäjät voivat asentaa ilmentymät muutamassa minuutissa. FloydHubilla sinun on asennettava erillinen CLI. Annetut ohjeet ovat kuitenkin melko selkeät, ja kirjautuessasi sisään sinut tervetulleeksi joukkoon erilaisia ​​DL-ympäristöjä. Lisäpakettien asentaminen ei ole myöskään vaikeaa. Myös Paperspace-sovelluksessa voit suorittaa ilmentymän muutamalla napsautuksella, vaikka jotkin lisäpaketit ja -kehykset saattavat tarvita manuaalisen asennuksen täydellisen kokemuksen saamiseksi.

Käyttäjäkokemus :

Tietojoukkojen lähettäminen / lataaminen on suurin kipupiste pilvi-GPU-palveluita käytettäessä. AWS: n avulla FileZilla Client -sovellusta voidaan käyttää tiedostojen siirtoon. Käskyjen, kuten terminaalin curl ja wget, käyttäminen ei aina toimi, ja muihin avoimen lähdekoodin hakkereihin on turvauduttava. AWS kuitenkin sallii Kaggle-kilpailujen tietojen helpon lataamisen / lähettämisen kaggle-clin kautta. Paperspace tarjoaa 1Gbps kuituyhteyden ja selaimen. Tällä hetkellä se tarjoaa myös vetämis- ja pudotusominaisuuden Windows-koneille (tulossa pian Linuxille) tiedostojen siirtämiseksi paikallisesta koneesta suoraan VM: hen. FloydHubia käytettäessä tietoaineisto on ladattava paikallisesti ja sitten ladattava tililleen. Koodi ja tiedot on pidettävä erikseen paikallisessa järjestelmässä, koska aina kun skripti suoritetaan, koko kansion sisältö ladataan.

Paperspace ja FloydHub, jotka ovat uusia tulokkaita lohkossa, jäävät AWS: stä avoimen lähdekoodin yhteisön tuen, opetusohjelmien saatavuuden ja videokokeilujen suhteen. Niiden viralliset asiakirjat ja esimerkit ovat kuitenkin melko kattavia.

Huomioitavaa: Floyd CLI: n tottuminen vie jonkin aikaa. Monet prosessit ovat erilaisia ​​kuin tavallinen pääte- tai työpöytäpohjainen käyttö. Siksi on hyvä idea käydä läpi uskonnollisesti FloydHub-dokumentaatio ja UKK. Jos olet Paperspace-käyttäjän kaukana Yhdysvalloista (Itä-Eurooppa / Aasia), odota jonkin verran viivettä käyttäessäsi työpöytäympäristöä.

Tarjottava laitteisto / ohjelmisto:

AWS ja FloydHub käyttävät Tesla K80 GPU: ta (12 Gt vRAM) ja 61 Gt RAM-muistia, kun taas Paperspace tarjoaa vaihtoehtoja Quadro M4000 (8 Gt vRAM), pari Pascal-sarjasta (16–24 Gt vRAM) ja jopa uusin Volta-sarja, Tesla V100 (16 Gt vRAM). ), jokaisella on 30 Gt RAM-muistia. Karkean arvion antamiseksi Pascal-sarjan GPU: t ovat 3x nopeampia kuin K80: t, kun taas V100 on 6x nopeammat kuin K80: t. AWS ja Paperspace käyttävät myös SSD: tä ja omistettuja GPU-ilmentymiä, kun taas FloydHub tarjoaa valinnan ennalta aktivoitavissa olevien ja omistettujen GPU: ien välillä.

Tavanomainen tapa suorittaa komentosarjoja näissä palveluissa on Jupyter-kannettavien kautta tai suorittamalla ne suoraan päätelaitteessa. Paperspace tarjoaa työpöytäympäristön tarjoamisen myös IDE: lle, kuten Spyderille ja muille apuohjelmistoille. Linux-työpöydän läsnäolo on erittäin kätevää.

[PÄIVITYS | Toukokuu 2018]: Kaikki kolme (AWS / Paperspace / FloydHub) ovat nyt päivittäneet itsensä NVIDIA Volta GPU -sovelluksiksi, mikä mahdollistaa nyt nopean koulutuksen ja päätelmät. Ohjelmistojen ja kehysten suhteen AWS on päivittänyt Deep Learning AMI: n, joka sisältää esiasennetut kehykset, kuten Chainer, TensorFlow, Keras, PyTorch. FloydHubilla on jo uusimmat versiot kaikista näistä kehyksistä.

Esitys :

Benchmarking-tehtävänä vertailin useiden mallien koulutusta kaikilla kolmella alustalla samassa ympäristössä (Keras + Theano Jupyterillä).
AWS - p2.xlarge (Tesla K80, 12 Gt vRAM, 61 Gt RAM)
Paperspace - GPU + VM (Quadro M4000, 8 Gt vRAM, 30 Gt RAM)
FloydHub - Tesla K80, 12 Gt vRAM, 61 Gt (vastaa kantaohjelmaa)

Kaksi mallia koulutettiin - syvä CNN-malli, jossa Dropout on Fashion MNIST -aineistossa ja hienosäädetty esiopetettu VGG16-verkko verkkokaupan tuotekuvien luokittelutehtävässä. Heidän suorituksensa on kuvattu alla.

Mallin suorituskyky eri alustoilla (pienempi on parempi)

AWS p2.xlarge- ja Paperspace GPU + -suorituskyky on melkein yhtä suuri, kun AWS on vasta aloittamassa. Jos käytämme Paperspace-palvelun Pascal-versioita, jotka ovat edelleen halvempia kuin AWS, mallin suorituskyvyn odotetaan olevan 3x yhtä nopea kuin AWS. Huolimatta saman laitteiston käytöstä, FloydHub on ~ 0.75x AWS, todennäköisesti johtuen hitaammasta levynlukemisnopeudesta.

[PÄIVITYS | Toukokuu 2018]: Tämä on todennäköisesti mielenkiintoisin päivitys. Suorittaessani samoja kokeiluja / skriptejä kuin yllä mainittiin, löysin äskettäin valtavan parannuksen FloydHubin harjoitusaikaan. Uusimmat numerot osoittavat, että ne ovat AWS: n tai Paperspace GPU +: n tasolla tai jopa parempia. FloydHub näyttää korjattaneen I / O-ongelmat, ja kun se on päivittänyt viimeisimpään TensorFlow-, Keras- ja PyTorch-versioon, näyttää siltä, ​​että se on tehnyt ihmeitä tälle alustalle. Muoti MNIST-skripti kestää nyt 8 sekuntia / aikakausi harjoittelun aikana, kun taas Pre-koulutettu VGG16-käsikirjoitus vie nyt paljon vähemmän (~ 100 s / aikakausi). Vaikka en ole tarkistanut, onko Paperspace myös tuonut mukanaan joitain parannuksia, AWS ei todellakaan ole. Joten FloydHub on toistaiseksi nopein kolmen joukossa.

Lisäominaisuuksia :

Sekä Paperspace että FloydHub tarjoavat mukautettuja suunnitelmia joukkueille. Floydiin liittyvät ominaisuudet, kuten tietojoukkojen / projektien jakaminen keskitetysti, erilaisten työsuoritusten versiointi helpon toistettavuuden aikaansaamiseksi ja tuki fast.ai- ja Udacity MOOC -sovelluksille, auttavat yhteistyötä ja suotuisaa avoimen lähdekoodin ilmapiiriä. Floyd sallii myös samanaikaisten työsuoritusten. AWS tarjoaa usean GPU-esiintymät, kun taas FloydHub ja Paperspace tukevat vain yksittäisiä GPU-järjestelmiä.

[PÄIVITYS | Toukokuu 2018]: Vaikka AWS on keskittynyt enemmän sivuttaisiin sovelluksiin, joissa suositaan yritys- ja tuotantojärjestelmiä, Paperspace ja FloydHub ovat molemmat ottaneet käyttöön monia uusia ominaisuuksia parantaakseen GPU-laitteiden helppokäyttöisyyttä ja helppokäyttöisyyttä suurelle yleisölle. Jotkut näistä ovat:
[FloydHub]: Hidas integraatio, suosimalla käyttöä ryhmien välillä
[FloydHub]: Työnhallinnan käyttöliittymä, metrien kojelauta
[FloydHub]: Uuden interaktiivisen ympäristön beetaversio (samanlainen kuin pilvipalvelun VM), nimeltään Workspace
[Paperspace]: Yhteistyö Jeremy Howardin fast.ai-kurssin virallisena kumppanina
[Paperspace]: Paperspace Gradient ja API yhdessä niiden oman CLI: n kanssa, jotka ovat vastaavasti työkaluja työn suorittamiseen tehokkaasti pilvessä ja devkit automaattisen VM / töiden automatisoimiseksi (sopii DevOpsille!)
Workspace-, Gradient- ja fast.ai -yhteistyön avulla FloydHub ja Paperspace ovat siirtyneet lähemmäksi tarjoamaan samanlaisia ​​ominaisuuksia.

Hinnoittelu:

Hinnoittelu on luultavasti tärkein valintaperuste. Tällä hetkellä laskutusta suoritetaan sekunnissa AWS: n ja FloydHubin osalta ja millisekunnin rakeisuus Paperspaceen.

AWS GPU-esiintymät alkavat hinnasta 0,9 dollaria tunnissa 30 Gt ilmaisella EBS-tilauksella Free Tier -ohjelmassa. 100 Gt: n SSD-tila + joustava IP maksaisi ylimääräistä 13 dollaria / kuukausi. AWS tarjoaa myös spot-esiintymät, jotka ovat paljon halvempia, mutta erittäin herkkiä hintavaihteluille, eivätkä siten luotettavia vaihtoehtoja.

Paperspace tarjoaa Maxwell-sarjan GPU: t 0,4 dollaria / h ja Pascal GPU: t alkaen 0,65 dollaria / h. 100 Gt SSD julkisella IP: llä maksaa 7 dollaria / kk. Lisäpalveluja tarjotaan myös.

FloydHub muutti äskettäin pay-as-you-go-mallista tarkkaan määriteltyihin kuukausisuunnitelmiin. Base Data Scientist -suunnitelma maksaa 14 dollaria / kk 10 GPU-tunnilta ja 100 Gt: n tallennustilalta. Muita esioikeudellisia GPU-tunteja voi ostaa alkaen alkaen 0.59 dollaria / tunti. GPU-tapauksista veloitetaan palkkio.

[PÄIVITYS | Toukokuu 2018]: FloydHubin hinnoittelurakenne on muuttunut huomattavasti, kun taas AWS: n ja Paperspace: n hintarakenne on melkein sama. Paperspace on edelleen edullisin vaihtoehto.

Käyttöönotto:

En yrittänyt asentaa mallia kumpaankaan niistä. Floyd tarjoaa yksirivisen komennon mallin käyttöönottamiseksi REST-sovellusliittymänä. AWS: llä on joukko liittyviä palveluita sovelluksen käyttöönottokokemuksen parantamiseksi edelleen. Päivitetään, kun olen tutustunut heihin.

Yhteenveto alla olevan taulukon keskeisistä näkökohdista.

Vertaillaan GPU-on-cloud-palveluntarjoajien keskeisiä näkökohtia
[PÄIVITYS | Toukokuu 2018]: Yllä olevassa taulukossa ei ole paljon muutoksia lukuun ottamatta Suorituskyky-osaa, jossa FloydHub on nopein nyt. Laitteiston / ohjelmiston edessä kaikki kolme ovat tasolla.

Jos olet käyttänyt jompaa kumpaa näistä palveluista aiemmin, kerro kokemuksestasi. Jos et ole, etsi se nyt. Olisi kiva saada ehdotuksesi alla.