AWS vs Paperspace vs FloydHub: escolliu el vostre soci GPU en núvol

Amb l’aprenentatge profund que marca l’aprofitament en gairebé totes les indústries actuals, la demanda i l’interès per papers com “Data Scientist”, “enginyer ML / DL”, “AI Scientist” etc. han experimentat un augment sense precedents. Cada vegada són més els estudiants, els nous graduats i professionals de la indústria que s’estan adonant de la necessitat d’estar al dia d’aquestes tecnologies emergents i estan assumint cursos, certificacions i treballs en aquests camps. Una vegada que decidiu saltar al domini, el primer que heu de posar en mans és el poder informàtic elevat. És allà on entren les GPU.

Tanmateix, construir el vostre propi equip d’aprenentatge profund és un tema car. Factor en costos d’una GPU, CPU, SSD ràpida i potent, placa base i font d’alimentació compatibles, factures d’aire condicionat, manteniment i danys als components. A més, hi ha el risc de deixar-se endavant amb els darrers components en aquesta indústria que avança ràpidament.

A més, només cal muntar els components. Abans de poder entrenar el primer model, heu de configurar totes les biblioteques i controladors compatibles necessàries. Les persones encara segueixen aquest recorregut i, si voleu utilitzar àmpliament l'aprenentatge profund (> 150 hores / mes), és possible que es creï el vostre propi lloc de treball d'aprenentatge profund.

Una alternativa millor i més barata és utilitzar servidors GPU basats en núvols proporcionats per Amazon com Google, Microsoft, Microsoft i altres, especialment si només esteu introduint aquest domini i voleu utilitzar el poder informàtic per aprendre i experimentar. He estat utilitzant AWS, Paperspace i FloydHub durant els últims 4-5 mesos. Google Cloud Platform i Microsoft Azure eren similars a AWS en els seus preus i ofertes, per tant, m’he enganxat als tres abans esmentats.

AWS: el proveïdor de serveis en núvol més popular. Ofereix instàncies de GPU segures i escalables juntament amb integracions de IA addicionals com Polly, Rekognition, Lex i AWS Machine Learning (disponibles en algunes regions).

Paperspace: Cloud VMs amb suport GPU per a les necessitats de joc, disseny i programació (ML / DL). Ofereix GPUs NVIDIA més recents, juntament amb paquets preinstal·lats i uns quants marcs DL a preus competitius.

FloydHub: Comercialitzat com "Heroku per DL", Floyd promou la col·laboració de codi obert introduint projectes públics i conjunts de dades. Té el seu propi CLI per a models d’entrenament amb cafe, PyTorch, Chainer, MxNet, TF, Keras i altres.

Trieu una instància p2.xlarge amb IP elàstic i volum EBS de 30 GB (part de Free Tier) a AWS, Ubuntu ML-in-a-box GPU + VM amb SSD de 50 GB a Paperspace i Base de dades de Data Scientist Plan sense Powerups a FloydHub.

La comparació entre els tres pot ser extensa amb cadascun d’ells oferint avantatges únics. Tanmateix, el tindré limitat a sis aspectes clau que serien més rellevants per a un principiant d’aquest domini o algú que tingui previst utilitzar aquestes plataformes per a projectes de hobby a petita escala.

[ACTUALITZACIÓ | Maig 2018]: Aquesta publicació té ja més de 6 mesos. En aquesta època de tecnologia canviant amb actualitzacions de maquinari / programari, qualsevol comparació entre diferents plataformes tecnològiques queda ràpidament desactualitzada. Per tant, he afegit fragments de seccions ACTUALITZACIÓ a llocs rellevants d’aquesta publicació i un al resum de tot, al final. Tot i això, les actualitzacions, de cap manera, han de considerar-se exhaustives.

Facilitat de configuració:

És difícil configurar una instància completament configurada en AWS, tot i tenir tutorials de configuració extensos al web. Cal executar scripts de shell adequats per configurar el volum EBS, configurar IP dedicats i instal·lar els paquets, les eines de programari i les biblioteques DL necessàries. Per descomptat, podeu utilitzar algunes de les AMI de lliure aprenentatge disponibles lliurement. Tot i això, requereixen encara una mica d’esforç.

D'altra banda, Paperspace i FloydHub s'enorgulleixen de permetre als usuaris configurar les instàncies en pocs minuts. Amb FloydHub, heu d’instal·lar una CLI separada. Tot i això, les instruccions que es proporcionen són força clares i, un cop us inicieu la sessió, us trobareu rebut una acollida de diferents entorns DL. Tampoc és molt difícil instal·lar paquets addicionals. A Paperspace també podeu executar la vostra instància en pocs clics, tot i que alguns paquets i marcs addicionals poden necessitar una instal·lació manual per a una experiència completa.

Experiència d'usuari :

La càrrega / la descàrrega de conjunts de dades és el major punt de dolor mentre s’utilitzen serveis de GPU en núvol. Amb AWS, FileZilla Client es pot utilitzar per transferir fitxers. L'ús d'ordres com ara curl i wget des del terminal no sempre funciona i cal tenir en compte altres hacks de codi obert. AWS, però, permet descarregar / carregar dades fàcils per a competicions de Kaggle mitjançant kaggle-cli. Paperspace proporciona internet de fibra d’1 Gbps i un navegador web. Actualment, també proporciona una funció arrossegar i deixar anar per a les màquines Windows (que s’aproparà aviat a Linux) per transferir fitxers de la vostra màquina local a la màquina virtual. Quan utilitzeu FloydHub, cal descarregar el conjunt de dades localment i després penjar-lo al seu compte. El codi i les dades s’han de conservar per separat al sistema local, ja que cada vegada que s’executa el script, es penja tot el contingut de la carpeta.

Paperspace i FloydHub, que són nous participants al bloc, queden per darrere d'AWS en termes de suport a la comunitat de codi obert, disponibilitat de tutorials i experiments en vídeo. Tot i això, la seva documentació i exemples oficials són força complets.

Coses a tenir en compte: Floyd CLI fa temps que s’hi acostuma. Els processos són diferents que els del terminal estàndard o el de l'ús d'escriptori. Per tant, és una bona idea passar religiosament la documentació i les preguntes més freqüents de FloydHub. Si sou un usuari de Paperspace molt lluny dels Estats Units (Europa de l'Est / Àsia), espereu una certa latència mentre feu servir l'entorn d'escriptori.

Maquinari / programari ofert:

AWS i FloydHub utilitzen GPUs Tesla K80 (12 GB vRAM) i 61 GB de RAM, mentre que Paperspace té opcions per Quadro M4000 (8 GB vRAM), una parella de la sèrie Pascal (16–24 GB vRAM) i fins i tot la darrera sèrie Volta, Tesla V100 (16 GB vRAM) ), cadascun amb 30 GB de RAM. Per obtenir una estimació aproximada, les GPU de la sèrie Pascal són 3x més ràpides que les K80, mentre que la V100 és 6x més ràpida que la K80. AWS i Paperspace també utilitzen SSD i instàncies dedicades de la GPU, mentre que FloydHub ofereix una opció entre GPUs preferents i dedicats.

La manera habitual d’executar scripts d’aquests serveis és mitjançant quaderns Jupyter o executar-los directament al terminal. Paperspace, en proporcionar un entorn d’escriptori, també permet IDE com Spyder i altres programes d’utilitat. La presència d’un escriptori Linux és molt convenient.

[ACTUALITZACIÓ | Maig de 2018]: Els tres (AWS / Paperspace / FloydHub) ara s’han actualitzat a les GPU NVIDIA Volta, cosa que permet fer un entrenament i una inferència més ràpids ara. En termes de programari i frameworks, AWS ha actualitzat la seva AMI Deep Learning, que inclou frameworks preinstal·lats com Chainer, TensorFlow, Keras, PyTorch. FloydHub ja disposa de les darreres versions de tots aquests frameworks.

Rendiment :

Com a exercici de benchmarking, vaig comparar la formació de múltiples models a les tres plataformes del mateix entorn (Keras + Theano a Jupyter).
AWS - p2.xlarge (Tesla K80, RAM de 12 GB, 61 GB de RAM)
Paperspace - GPU + VM (Quadro M4000, 8 GB vRAM, 30 GB RAM)
FloydHub - Tesla K80, 12 GB vRAM, 61 GB (equivalent al pla base)

Es van formar dos models: un model CNN profund amb un conjunt de dades DropN on Fashion MNIST i una xarxa VGG16 preestrenada amb precisió en una tasca de classificació d’imatges de productes de queviures. A continuació es mostra la seva actuació.

Rendiment del model a diferents plataformes (el menor és millor)

AWS p2.xlarge i Paperspace GPU + tenen un rendiment gairebé equivalent amb AWS, encara que cal avançar. Si utilitzem les versions Pascal a Paperspace, que encara són més barates que AWS, es preveu que el rendiment del model sigui 3x tan ràpid com AWS. Malgrat utilitzar el mateix maquinari, FloydHub és a 0,75x AWS, molt probablement a causa d’una velocitat de lectura més baixa del disc.

[ACTUALITZACIÓ | Maig de 2018]: probablement aquesta és l’actualització més interessant. En executar els mateixos experiments / guions com esmentats anteriorment, recentment, he trobat una millora enorme en el temps d’entrenament a FloydHub. Les últimes xifres mostren que són iguals a AWS o Paperspace GPU + o, fins i tot, millor. FloydHub sembla haver solucionat els problemes d'E / S i haver actualitzat les darreres versions de TensorFlow, Keras i PyTorch, sembla haver fet meravelles per a aquesta plataforma. El guió Fashion MNIST té actualment 8s / epo mentre es forma, mentre que el guió VGG16 Pre-entrenat ara té molt menys (~ 100s / epoch). Tot i que no he comprovat si Paperspace també ha aportat millores al mateix, AWS definitivament no ho és. Així, de moment, FloydHub es presenta com el més ràpid entre els tres.

Característiques adicionals :

Tant Paperspace com FloydHub ofereixen plans personalitzats per a equips. Tanmateix, les funcions associades de Floyd, com ara compartir conjunts de dades / projectes de forma centralitzada, la versió de diversos treballs per a una fàcil reproducibilitat i suport per a la col·laboració fast.ai i Udacity MOOCs ajuden a la col·laboració i a una atmosfera de codi obert propici. Floyd també permet correr feines simultànies. AWS ofereix instàncies multi-GPU, mentre que FloydHub i Paperspace només admeten sistemes GPU únics.

[ACTUALITZACIÓ | Maig de 2018]: Si bé AWS s’ha centrat més en les aplicacions laterals que afavoreixen els sistemes d’empresa i producció, Paperspace i FloydHub han introduït moltes funcions noves per millorar la facilitat d’ús i la facilitat d’accés de les GPU al gran públic. Alguns d'aquests han estat:
[FloydHub]: Integració fluixa, afavorint l’ús entre equips
[FloydHub]: interfície d'usuari de gestió de treballs, quadre de comandament de mètriques
[FloydHub]: versió beta d'un nou entorn interactiu (similar a una màquina virtual de vídeo), anomenat Workspace
[Paperspace]: col·laboració com a soci oficial per al curs fast.ai de Jeremy Howard
[Paperspace]: Paperspace Gradient i API, juntament amb el seu propi CLI, que són respectivament eines per executar els vostres treballs de manera eficient al núvol i un dispositiu per automatitzar la vostra màquina virtual / treballs (adequada per a DevOps!)
Amb la col·laboració Workpace, Gradient i fast.ai, FloydHub i Paperspace s’han apropat a oferir funcions similars.

Preu:

El preu és probablement el criteri de selecció més important. Actualment, la facturació està contrastada per segon per AWS i FloydHub i per una granularitat a mil·lisegons de Paperspace.

Les instàncies de la GPU AWS comencen a partir de 0,9 dòlars / hora amb un volum EBS gratuït de 30 GB al programa Free Tier. Un volum SSD de 100 GB + IP elàstica tindria un cost addicional de 13 dòlars mensuals. AWS també proporciona casos molt més barats, però molt susceptibles a fluctuacions de preus i, per tant, no és una opció fiable.

Paperspace ofereix GPUs de la sèrie Maxwell a 0,4 $ / h i GPU Pascal des de 0,65 $ / h. Un SSD de 100 GB amb IP pública tindrà un cost de 7 dòlars al mes. També es proporcionen serveis d’utilitat.

FloydHub recentment es va allunyar d’un model pay-to-you-go a plans mensuals ben definits. El pla Base Data Scientist té un cost de 14 dòlars / mes durant 10 hores GPU i 100 GB d’emmagatzematge. Es poden comprar hores addicionals de la GPU preferents a partir de 0,59 dòlars la hora. Es carrega una prima per a casos dedicats a la GPU.

[ACTUALITZACIÓ | Maig de 2018]: l'estructura de preus de FloydHub ha canviat significativament, mentre que la d'AWS i Paperspace continua sent la mateixa. L’espai de paper segueix sent l’opció més assequible.

Desplegament :

No he intentat desplegar cap model en cap dels dos. Floyd proporciona un ordre d’una línia per desplegar el vostre model com a API REST. AWS compta amb una sèrie de serveis associats per millorar encara més l’experiència de desplegament d’aplicacions. Es actualitzarà un cop que les explor.

Resumint els aspectes clau de la taula següent.

Comparació d'aspectes clau dels proveïdors de serveis GPU en núvol
[ACTUALITZACIÓ | Maig de 2018]: no hi ha gaires canvis en el gràfic anterior, tret de la secció "Rendiment", on FloydHub és el més ràpid ara. Al front de maquinari / programari, tots tres estan a nivell.

Si heu utilitzat algun d'aquests serveis abans, compartiu la vostra experiència. Si no ho heu fet, aneu a buscar-ho. Estaria bé tenir els vostres suggeriments a continuació.