AWS vs Paperspace vs FloydHub: Bulud GPU ortağınızın seçilməsi

Dərin öyrənmə ilə bu gün demək olar ki, hər bir sənədə işarə vuraraq, "Məlumat elmləri", "ML / DL mühəndis", "AI Scientist" kimi rollara tələbat və maraq görünməmiş bir artım gördü. Getdikcə daha çox tələbə, təzə məzun və sənaye mütəxəssisləri bu inkişaf edən texnologiyalardan xəbərdar olmaq ehtiyaclarını dərk edir və bu sahələrdə kurslar, sertifikatlar və işlərə başlayırlar. Domenə girməyə qərar verdikdən sonra əllərinizə gəlməli olan ilk şey yüksək hesablama gücüdür. GPU-ların girdiyi yer budur.

Bununla birlikdə, öz dərin öyrənmə qurğusunu qurmaq bahalı bir işdir. Sürətli və güclü GPU, CPU, SSD, uyğun anakart və enerji təchizatı, kondisioner sənədləri, texniki xidmət və komponentlərə ziyan vuran amillər. Bunun üzərinə, bu sürətlə inkişaf edən sənayedə ən son avadanlıqdan geri qalma riskini idarə edirsiniz.

Üstəlik, yalnız komponentlərin yığılması kifayət deyil. İlk modelinizi öyrətməyə başlamazdan əvvəl bütün tələb olunan kitabxanaları və uyğun sürücüləri quraşdırmalısınız. İnsanlar hələ də bu marşrutu davam etdirirlər və dərin öyrənmədən geniş istifadə etməyi planlaşdırırsınızsa (> 150 saat / ay), öz dərin öyrənmə iş stansiyanızı düzəltmək düzgün addım ola bilər.

Daha yaxşı və daha ucuz alternativ, Amazon, Google, Microsoft və digərlərinin bəyəndiyi buludlara əsaslanan GPU serverlərindən istifadə etməkdir, xüsusən də bu domenə girməyiniz və öyrənmə və təcrübə üçün hesablama gücündən istifadə etməyi planlaşdırırsınızsa. Son 4-5 ay ərzində AWS, Paperspace və FloydHub istifadə edirəm. Google Cloud Platforması və Microsoft Azure, qiymət və təqdimatlarında AWS-ə bənzəyirdi, buna görə də əvvəllər qeyd olunan üçə yapışdım.

AWS: Ən populyar bulud xidməti təminatçısıdır. Polly, Rekognition, Lex və AWS Machine Learning (bəzi bölgələrdə mövcuddur) kimi əlavə AI birləşmələri ilə birlikdə təhlükəsiz və genişlənən GPU nümunələri təklif edir.

Sənədlər sahəsi: Oyun, dizayn və proqramlaşdırma (ML / DL) ehtiyacları üçün GPU dəstəyi olan Cloud VM-lər. Rəqabətli qiymətlərlə əvvəlcədən quraşdırılmış paketlər və bir neçə DL çərçivə ilə birlikdə son NVIDIA GPU-ları təklif edir.

FloydHub: "DL üçün Heroku" olaraq satılan Floyd, ictimai layihələr və məlumat bazalarını təqdim edərək açıq mənbəli əməkdaşlığı təşviq edir. Caffe, PyTorch, Chainer, MxNet, TF, Keras və digərlərindən istifadə edərək təlim modelləri üçün öz CLI var.

FloydHub-da heç bir güc olmadan, sənədlər yerində və baza məlumatı elm planında 50GB SSD ilə UBuntu ML-in-a-box GPU + VM-də elastik IP və 30GB EBS həcmi (Pulsuz Tier hissəsi) olan bir p2.xlarge nümunəsini seçin.

Üçün müqayisəsi hər təklifi özünəməxsus faydalarla genişləndirə bilər. Bununla birlikdə, bu sahədəki bir başlanğıc və ya bu platformalardan kiçik miqyaslı hobbi layihələri üçün istifadə etməyi planlaşdıran biri üçün ən uyğun olan altı əsas cəhətlə məhdudlaşacağam.

[YENİLƏNİB | May 2018]: Bu yazı artıq 6 aydan çoxdur. Aparat / proqram yeniləmələri ilə daim dəyişən texnologiyanın bu dövründə fərqli texnoloji platformalar arasındakı hər hansı bir müqayisə tez köhnəlir. Beləliklə, bu yazının müvafiq yerlərində UPDATE hissələrinin parçaları əlavə etdim və hamısını yekunlaşdırdım. Ancaq yeniləmələr, heç bir şəkildə, bitkin hesab edilməməlidir.

Quraşdırma rahatlığı:

AWS-də tam bir konfiqurasiya edilmiş bir nümunə qurmaq çətindir, İnternetdə geniş quraşdırma dərsləri olmasına baxmayaraq. EBS həcmini konfiqurasiya etmək, xüsusi IP-lər qurmaq və həmçinin tələb olunan paketləri, proqram alətlərini və DL kitabxanalarını quraşdırmaq üçün müvafiq qabıq skriptlərini işə salmaq lazımdır. Əlbəttə ki, sərbəst mövcud bəzi dərin öyrənmə AMİ-lərindən istifadə edə bilərsiniz. Buna baxmayaraq, yenə də bir az səy tələb edirlər.

Digər tərəfdən, Paperspace və FloydHub istifadəçilərinə bir neçə dəqiqə ərzində instansiyalar qurmağa icazə verməkdən qürur duyur. FloydHub ilə ayrıca bir CLI quraşdırmalısınız. Bununla birlikdə, verilən təlimatlar olduqca aydındır və bir dəfə girdiyiniz zaman özünüzü müxtəlif DL mühitlərinin bir hissəsinə xoş gəldiniz. Əlavə paketlərin quraşdırılması da çox çətin deyil. Həm də Paperpace-də, nümunənizi bir neçə kliklə idarə edə bilərsiniz, baxmayaraq ki, bəzi əlavə paketlər və çərçivələr tam təcrübə üçün əl ilə quraşdırıla bilər.

İstifadəçi təcrübəsi :

Bulut GPU xidmətlərindən istifadə edərkən məlumat toplusunu yükləmək / yükləmək ən böyük ağrı nöqtəsidir. AWS ilə FileZilla Client, faylları ötürmək üçün istifadə edilə bilər. Terminaldan qıvrım və wget kimi əmrlərdən istifadə etmək həmişə işləmir və digər açıq mənbəli hacklara etibar etmək lazımdır. AWS, Kaggle yarışları üçün kaggle-cli vasitəsi ilə asanlıqla məlumat yükləməyə / yükləməyə imkan verir. Paperpace, 1Gbps fiber internet və veb brauzer təmin edir. Hal-hazırda, yerli maşınlarınızdan birbaşa VM-ə faylları köçürmək üçün Windows maşınları üçün (Linux üçün tez bir zamanda) bir sürükləmə sistemini təqdim edir. FloydHub istifadə edərkən verilənlər bazasını yerli olaraq yükləmək və sonra hesablarına yükləmək lazımdır. Kod və məlumat yerli sisteminizdə ayrıca saxlanılmalıdır, hər dəfə skript işə düşəndə ​​bütün qovluq məzmunu yüklənir.

Blokda yeni iştirakçılar olan sənədlər sahəsi və FloydHub açıq mənbəli icma dəstəyi, dərsliklərin mövcudluğu və video təcrübələr baxımından AWS-dən geri qalırlar. Ancaq rəsmi sənədləri və nümunələri olduqca əhatəlidir.

Qeyd olunan şeylər: Floyd CLI alışmağa bir az vaxt tələb edir. Bir çox proses standart terminal və ya masaüstünə əsaslanan istifadədən fərqlidir. Beləliklə, dindarlıqla FloydHub sənədlərinə və suallara cavab vermək yaxşı bir fikirdir. ABŞ-dan (Şərqi Avropa / Asiya) çox uzaq bir Kağız boşluğu istifadəçisi olsanız, masaüstü mühitdən istifadə edərkən bir qədər gecikmə gözləyin.

Təklif olunan hardware / proqram təminatı:

AWS və FloydHub Tesla K80 GPUs (12GB vRAM) və 61GB RAM istifadə edirlər, Kağız boşluğunda Quadro M4000 (8GB vRAM), Paskal seriyasından olan cütlük (16–24GB vRAM) və hətta ən son Volta seriyası Tesla V100 (16GB vRAM) üçün seçimlər mövcuddur. ), hər biri 30GB operativ yaddaşa malikdir. Kobud bir qiymətləndirmə vermək üçün Paskal seriyalı GPU-lar K80-lərdən 3x, V100 isə K80-lərdən 6 dəfə sürətli olur. FlowHub əvvəlcədən dəyişdirilə bilən və həsr olunmuş GPU-lar arasında seçim təklif edərkən AWS və sənəd sənədləri də SSD və xüsusi GPU hallarda istifadə edir.

Bu xidmətlərdə skriptlərin işləməsinin adi yolu Jupyter noutbukları vasitəsi ilə və ya birbaşa terminalda yerinə yetirilməsidir. İş masası, masaüstü mühit təmin etməklə Spyder və digər yardım proqramları kimi IDE-lərə də imkan verir. Linux masaüstünün olması olduqca əlverişlidir.

[YENİLƏNİB | May 2018]: Üçü də (AWS / Paperspace / FloydHub) artıq NVIDIA Volta GPU-larını təkmilləşdirdilər və bununla da artıq superkast məşqləri və təcrübələr etmək mümkündür. Proqram təminatı və çərçivə baxımından AWS, Chainer, TensorFlow, Keras, PyTorch kimi əvvəlcədən quraşdırılmış çərçivələri özündə cəmləşdirən Dərin Öyrənmə AMI-ni yeniləmişdir. FloydHub artıq bütün bu çərçivələrin ən son versiyalarına sahibdir.

Performans:

Qiymətləndirmə işi olaraq, hər üç platformada eyni mühitdə (Keras + Theano on Jupyter) birdən çox modelin hazırlanmasını müqayisə etdim.
AWS - p2.xlarge (Tesla K80, 12GB vRAM, 61GB RAM)
Sənədlər sahəsi - GPU + VM (Quadro M4000, 8GB vRAM, 30GB RAM)
FloydHub - Tesla K80, 12GB vRAM, 61GB (Baza planına bərabərdir)

İki model öyrədildi - MN MNIST məlumat bazasında Dropout və baqqal məhsul görüntüsünün təsnifatı tapşırığı üzərində yaxşı qurulmuş əvvəlcədən hazırlanmış VGG16 şəbəkəsi olan CNN modeli. Onların performansı aşağıda təsvir edilmişdir.

Fərqli platformalarda model performansı (kiçik daha yaxşıdır)

AWS p2.xlarge və Paperspace GPU + AWS ilə demək olar ki, ekvivalent performansa malikdir. Hələ AWS-dən daha ucuz olan Paskal versiyasını Paperspace-də istifadə etsək, model performansının AWS-dən daha sürətli 3x olacağı gözlənilir. Eyni cihazdan istifadə etməsinə baxmayaraq, FloydHub, çox güman ki, disk oxumaq sürətinin çox olması səbəbindən ~ 0.75x AWS səviyyəsindədir.

[YENİLƏNİB | May 2018]: Bu, bəlkə də ən maraqlı yeniləmə. Yuxarıda qeyd edildiyi kimi eyni təcrübə / skriptləri işləyərkən, FloydHub-da məşq vaxtı çox böyük bir inkişaf tapdım. Son nömrələr AWS və ya Paperspace GPU + ilə və ya daha da yaxşı olduğunu göstərir. FloydHub, I / O məsələlərini həll etdiyini və son TensorFlow, Keras və PyTorch versiyalarını təkmilləşdirərək, bu platforma üçün möcüzələr etdiyini görünür. Moda MNIST skripti təlim zamanı 8s / epox çəkir, əvvəlcədən hazırlanmış VGG16 skript isə indi daha az (~ 100s / epox) alır. Kağız boşluğunun eyni dərəcədə irəliləyişlər yaratdığını yoxlamamış olsam da, AWS qətiliklə etməyib. Beləliklə, FloydHub bu üç üçün ən sürətli oldu.

Əlavə xüsusiyyətlər:

Həm Paperpace, həm də FloydHub komandalar üçün xüsusi planlar təqdim edir. Bununla birlikdə Floydun ortaq şəkildə paylaşma məlumatları / layihələr, müxtəlif işlərin versiyasını asan reproduksiya və fast.ai və Udacity MOOCs yardım əməkdaşlığı və əlverişli açıq mənbə atmosferi üçün dəstəkləmə kimi xüsusiyyətləri. Floyd eyni zamanda eyni vaxtda işləməyə də imkan verir. FlowHub və Paperspace yalnız vahid GPU sistemlərini dəstəkləyirsə AWS çox GPU nümunələri təklif edir.

[YENİLƏNİB | May 2018]: AWS müəssisə və istehsal sistemlərinə üstünlük verən yanal tətbiqlərə daha çox diqqət yetirsə də, Paperpace və FloydHub hər ikisi də istifadə rahatlığı və ümumiyyətlə GPU-ların istifadəsi asanlığını artırmaq üçün bir çox yeni xüsusiyyət təqdim etdi. Bunlardan bəziləri olmuşdur:
[FloydHub]: Komandalar arasında istifadəyə üstünlük verən yavaş inteqrasiya
[FloydHub]: İş idarəetmə UI, ölçü cihazları paneli
[FloydHub]: Workspace adlanan yeni bir interaktiv mühitin (buludda VM-yə bənzər) beta versiyası
[Sənədlər sahəsi]: Jeremy Howard'ın fast.ai kursunun rəsmi tərəfdaşı kimi əməkdaşlıq
[Kağız sahəsi]: Sənədlərinizi buludda səmərəli işlətmək üçün alətlər və VM / işlərinizi avtomatlaşdırmaq üçün bir devkit olan öz CLI ilə birlikdə sənəd sənədləri Gradient və API.
Workpace, Gradient və fast.ai əməkdaşlıq ilə FloydHub və Paperspace oxşar xüsusiyyətləri təklif etməyə yaxınlaşdı.

Qiymətləndirmə:

Qiymətləndirmə, ehtimal ki, ən vacib seçim meyarlarıdır. Hal-hazırda, göndərmə AWS və FloydHub üçün saniyədə və Paperspace üçün millisaniyəlik dərəcədə qiymətləndirilir.

AWS GPU nümunələri Pulsuz Tier proqramı çərçivəsində 30GB pulsuz EBS həcmi ilə $ 0.9 / saatdan başlayır. 100GB SSD həcmi + elastik bir IP aylıq əlavə 13 dollara başa gələcəkdir. AWS, daha ucuz, lakin qiymət dəyişkənliyinə çox həssas olan və buna görə də etibarlı bir seçim olmadığı nöqtələri təmin edir.

Paperspace, Maxwell seriyalı GPU'ları saatda $ 0.45 və Paskal GPU'ları gündə $ 0.65 olaraq təklif edir. İctimai IP ilə 100GB SSD, ayda 7 dollara başa gələcək. Əlavə kommunal xidmətlər də verilir.

FloydHub, bu yaxınlarda ödənişli bir modeldən yaxşı təyin olunmuş aylıq planlara köçdü. Base Data Scientist planı 10 GPU saat və 100GB saxlama üçün aylıq 14 dollara başa gəlir. Əlavə əvvəlcədən boşaldılmış GPU saatları saatda $ 0.59-dan başlayaraq almaq olar. Xüsusi GPU nümunələri üçün mükafat alınır.

[YENİLƏNİB | May 2018]: FloydHub'un qiymət quruluşu əhəmiyyətli dərəcədə dəyişdi, AWS və Paperspace'in qiymətləri demək olar ki, eyni qalır. Kağız boşluğu hələ də ən əlverişli seçim olaraq qalır.

Yerləşdirmə:

Onların hər ikisində bir model yerləşdirməyə çalışmadım. Floyd, modelinizi REST API olaraq yerləşdirmək üçün bir sətirli bir əmr verir. AWS tətbiqi tətbiq etmə təcrübənizi daha da yaxşılaşdırmaq üçün əlaqəli xidmətlərə malikdir. Onları araşdırdıqdan sonra yeniləyəcəyəm.

Aşağıdakı cədvəldəki əsas cəhətləri ümumiləşdirmək.

GPU-on-cloud xidmət təminatçılarının əsas cəhətlərini müqayisə edin
[YENİLƏNİB | May 2018]: FloydHub-un indi ən sürətli olduğu Performans bölməsindən başqa yuxarıdakı cədvəldə çox dəyişiklik yoxdur. Tətbiq / Proqram cəbhəsində, hər üçü bir səviyyədədir.

Daha əvvəl bu xidmətlərdən birini istifadə etmisinizsə, zəhmət olmasa təcrübənizi bölüşün. Əgər yoxdusa, indi get. Aşağıda təkliflərinizin olması yaxşı olardı.