AWS εναντίον Paperspace εναντίον FloydHub: Επιλέγοντας το σύντροφό σας GPU σύννεφο

Με τη βαθιά μάθηση που κάνει το σημάδι της σε όλες σχεδόν τις βιομηχανίες σήμερα, η ζήτηση καθώς και το ενδιαφέρον για ρόλους όπως ο "Data Scientist", ο "ML / DL engineer", ο "AI Scientist" κλπ. Έχουν δει μια άνευ προηγουμένου αύξηση. Όλο και περισσότεροι σπουδαστές, νέοι πτυχιούχοι και επαγγελματίες του κλάδου συνειδητοποιούν την ανάγκη να παραμείνουν ενήμεροι αυτών των αναδυόμενων τεχνολογιών και αναλαμβάνουν μαθήματα, πιστοποιήσεις και θέσεις εργασίας σε αυτούς τους τομείς. Μόλις αποφασίσετε να πηδήσετε στον τομέα, το πρώτο πράγμα που πρέπει να πάρετε στα χέρια σας είναι η υψηλή υπολογιστική ισχύς. Εκεί μπαίνουν GPUs.

Ωστόσο, η οικοδόμηση της δικής σας βαθιάς πλατφόρμας μάθησης είναι μια δαπανηρή υπόθεση. Παράγοντας κόστους ενός γρήγορου και ισχυρού GPU, CPU, SSD, συμβατής μητρικής πλακέτας και τροφοδοτικού, λογαριασμών κλιματισμού, συντήρησης και ζημιών στα εξαρτήματα. Επιπλέον, διατρέχετε τον κίνδυνο να χάσετε το τελευταίο υλικό σε αυτόν τον ταχύτατα αναπτυσσόμενο κλάδο.

Επιπλέον, η συναρμολόγηση των εξαρτημάτων δεν αρκεί. Πρέπει να ρυθμίσετε όλες τις απαιτούμενες βιβλιοθήκες και τα συμβατά προγράμματα οδήγησης προτού μπορέσετε να ξεκινήσετε την εκπαίδευση του πρώτου σας μοντέλου. Οι άνθρωποι εξακολουθούν να ακολουθούν αυτή τη διαδρομή και εάν σχεδιάζετε να χρησιμοποιήσετε εκτενώς την εκμάθηση σε βάθος (> 150 ώρες / μήνα), η οικοδόμηση της δικής σας βαθιάς εργασίας μπορεί να είναι η σωστή κίνηση.

Μια καλύτερη και φθηνότερη εναλλακτική λύση είναι να χρησιμοποιήσετε διακομιστές GPU που βασίζονται σε σύννεφο που παρέχονται από ανθρώπους όπως το Amazon, το Google, η Microsoft και άλλοι, ειδικά εάν απλά εισάγετε αυτόν τον τομέα και προγραμματίσετε να χρησιμοποιήσετε την υπολογιστική ισχύ για μάθηση και πειραματισμό. Έχω χρησιμοποιήσει AWS, Paperspace και FloydHub για τους τελευταίους 4-5 μήνες. Η πλατφόρμα Google Cloud και η Microsoft Azure ήταν παρόμοια με την AWS στις τιμές και τις προσφορές τους, ως εκ τούτου, κολλήσαμε με τους τρεις προαναφερθέντες.

AWS: Ο πιο δημοφιλής πάροχος υπηρεσιών cloud. Προσφέρει ασφαλείς και κλιμακούμενες παρουσίες GPU μαζί με πρόσθετες ενσωματώσεις του AI, όπως Polly, Rekognition, Lex και AWS Machine Learning (διαθέσιμες σε ορισμένες περιοχές).

Paperspace: VM με Cloud με υποστήριξη GPU για παιχνίδια, σχεδιασμό και προγραμματισμό (ML / DL). Προσφέρει τις τελευταίες μονάδες GPU NVIDIA μαζί με τα προεγκατεστημένα πακέτα και μερικά πλαίσια DL σε ανταγωνιστικές τιμές.

FloydHub: Εμπορεύεται ως "Heroku για DL", Floyd προωθεί τη συνεργασία ανοιχτού κώδικα με την εισαγωγή δημόσιων έργων και συνόλων δεδομένων. Έχει το δικό του CLI για εκπαιδευτικά μοντέλα που χρησιμοποιούν Caffe, PyTorch, Chainer, MxNet, TF, Keras και άλλα.

Επιλέξτε ένα παράδειγμα p2.xlarge με ελαστικό IP και όγκο EBS 30GB (μέρος της Free Tier) σε AWS, Ubuntu ML-in-a-box GPU + VM με SSD 50GB στο Paperspace και Base Data Scientist Plan χωρίς Powerups στο FloydHub.

Η σύγκριση μεταξύ των τριών μπορεί να είναι εκτεταμένη, με κάθε μία να προσφέρει μοναδικά οφέλη. Ωστόσο, θα το περιορίσω σε έξι βασικές πτυχές, οι οποίες θα είναι πιο σχετικές με έναν αρχάριο σε αυτόν τον τομέα ή κάποιον που σκοπεύει να χρησιμοποιήσει αυτές τις πλατφόρμες για σχέδια χόμπι μικρής κλίμακας.

[UPDATE | Μάιος 2018]: Αυτή η ανάρτηση είναι πλέον άνω των 6 μηνών. Σε αυτήν την εποχή συνεχώς μεταβαλλόμενης τεχνολογίας με αναβαθμίσεις υλικού / λογισμικού, οποιαδήποτε σύγκριση μεταξύ διαφορετικών τεχνολογικών πλατφορμών γίνεται γρήγορα ξεπερασμένη. Έτσι, έχω προσθέσει αποσπάσματα από τις ενότητες UPDATE σε σχετικά σημεία αυτής της ανάρτησης και ένα για να τα συνοψίσω όλα, στο τέλος. Ωστόσο, οι ενημερώσεις, με κανέναν τρόπο, δεν πρέπει να θεωρούνται εξαντλητικές.

Ευκολία ρύθμισης:

Η δημιουργία μιας πλήρως διαμορφωμένης παρουσίασης στο AWS είναι δύσκολη, παρά το γεγονός ότι έχει εκτεταμένα σεμινάρια εγκατάστασης στο διαδίκτυο. Πρέπει να εκτελεστούν τα κατάλληλα σενάρια κελύφους για να ρυθμίσετε τον όγκο του EBS, να ορίσετε αποκλειστικές διευθύνσεις IP και επίσης να εγκαταστήσετε τα απαιτούμενα πακέτα, εργαλεία λογισμικού και βιβλιοθήκες DL. Φυσικά, μπορείτε να χρησιμοποιήσετε μερικά από τα δωρεάν διαθέσιμα AMI Deep Learning. Παρόλα αυτά, χρειάζονται ακόμα λίγη προσπάθεια.

Από την άλλη πλευρά, οι Paperspace και FloydHub είναι υπερήφανοι που επιτρέπουν στους χρήστες της να ρυθμίζουν τις περιπτώσεις μέσα σε λίγα λεπτά. Με το FloydHub, πρέπει να εγκαταστήσετε ξεχωριστό CLI. Ωστόσο, οι οδηγίες που παρέχονται είναι αρκετά σαφείς και μόλις συνδεθείτε, βρίσκεστε ευπρόσδεκτοι σε πολλά διαφορετικά περιβάλλοντα DL. Η εγκατάσταση πρόσθετων πακέτων δεν είναι πολύ δύσκολη. Επίσης, στο Paperspace, μπορείτε να εκτελέσετε την εμφάνισή σας με μερικά κλικ, αν και κάποια πρόσθετα πακέτα και πλαίσια ενδέχεται να χρειαστούν χειρωνακτική εγκατάσταση για πλήρη εμπειρία.

Εμπειρία χρήστη :

Η μεταφόρτωση / λήψη των συνόλων δεδομένων είναι το μεγαλύτερο σημείο πόνου κατά τη χρήση των υπηρεσιών GPU του cloud. Με το AWS, το FileZilla Client μπορεί να χρησιμοποιηθεί για τη μεταφορά αρχείων. Χρησιμοποιώντας εντολές όπως curl και wget από το τερματικό δεν λειτουργούν πάντα και πρέπει να βασίζονται σε άλλες ανοιχτές πηγές. Ωστόσο, το AWS επιτρέπει την εύκολη λήψη / μεταφόρτωση δεδομένων για διαγωνισμούς Kaggle μέσω του kaggle-cli. Το Paperspace παρέχει ινστιτούτο ινών 1Gbps και πρόγραμμα περιήγησης ιστού. Επί του παρόντος, παρέχει επίσης μια λειτουργία μεταφοράς και απόθεσης για τα μηχανήματα των Windows (που έρχονται σύντομα για το Linux) για τη μεταφορά αρχείων από το τοπικό σας μηχάνημα απευθείας στο VM. Όταν χρησιμοποιείτε το FloydHub, πρέπει να κάνετε λήψη του συνόλου δεδομένων τοπικά και στη συνέχεια να το ανεβάσετε στο λογαριασμό του. Ο κώδικας και τα δεδομένα πρέπει να φυλάσσονται ξεχωριστά στο τοπικό σας σύστημα, καθώς κάθε φορά που εκτελείται το σενάριο, φορτώνεται ολόκληρο το περιεχόμενο του φακέλου.

Το Paperspace και το FloydHub που είναι νεοεισερχόμενοι στο μπλοκ πέφτουν πίσω από το AWS όσον αφορά την υποστήριξη της κοινότητας ανοικτού κώδικα, τη διαθεσιμότητα εκπαιδευτικών προγραμμάτων και πειραμάτων βίντεο. Ωστόσο, η επίσημη τεκμηρίωσή τους και τα παραδείγματα είναι αρκετά ολοκληρωμένα.

Σημειώσεις: Το Floyd CLI παίρνει κάποιο χρόνο να συνηθίσει. Πολλές διαδικασίες είναι διαφορετικές από την τυπική χρήση τερματικών ή επιτραπέζιων υπολογιστών. Ως εκ τούτου, είναι καλή ιδέα να μεταβείτε με θρησκευτικό τρόπο στην τεκμηρίωση και τις συχνές ερωτήσεις FloydHub. Αν είστε χρήστης του Paperspace μακριά από τις ΗΠΑ (Ανατολική Ευρώπη / Ασία), αναμένετε κάποια καθυστέρηση κατά τη χρήση του περιβάλλοντος εργασίας.

Εξοπλισμός / λογισμικό που προσφέρεται:

Η AWS και η FloydHub χρησιμοποιούν Tesla K80 GPUs (12GB vRAM) και μνήμη RAM 61GB, ενώ η Paperspace διαθέτει επιλογές για Quadro M4000 (8GB vRAM), ζευγάρι από τη σειρά Pascal (16-24GB vRAM) και ακόμη και την τελευταία σειρά Volta, Tesla V100 ), το καθένα με μνήμη RAM 30GB. Για να δώσουμε μια γενική εκτίμηση, οι GPU της σειράς Pascal είναι 3 φορές πιο γρήγορες από τις K80, ενώ το V100 είναι 6 φορές ταχύτερο από το K80s. Η AWS και η Paperspace χρησιμοποιούν επίσης μονάδες SSD και ειδικές μονάδες GPU, ενώ η FloydHub προσφέρει δυνατότητα επιλογής μεταξύ προ-εκτοξευόμενης και αποκλειστικής GPU.

Ο συνηθισμένος τρόπος εκτέλεσης σεναρίων σε αυτές τις υπηρεσίες είναι μέσω φορητών υπολογιστών Jupyter ή απευθείας εκτέλεσης τους στο τερματικό. Το Paperspace, χάρη στην παροχή επιφάνειας εργασίας επιτρέπει επίσης IDEs, όπως το Spyder και άλλα λογισμικά βοηθητικά προγράμματα. Η παρουσία μιας επιφάνειας εργασίας Linux είναι εξαιρετικά βολική.

[UPDATE | Μάιος 2018]: Και οι τρεις (AWS / Paperspace / FloydHub) έχουν πλέον αναβαθμιστεί σε NVUIA Volta GPUs, επιτρέποντας έτσι την έξοχη επιμόρφωση και συμπέρασμα τώρα. Όσον αφορά το λογισμικό και τα πλαίσια, η AWS ενημέρωσε το Deep Learning AMI, το οποίο περιλαμβάνει προεγκατεστημένα πλαίσια όπως Chainer, TensorFlow, Keras, PyTorch. Το FloydHub διαθέτει ήδη τις τελευταίες εκδόσεις όλων αυτών των πλαισίων.

Απόδοση:

Ως άσκηση συγκριτικής αξιολόγησης, συγκρίνασα την κατάρτιση πολλαπλών μοντέλων και στις τρεις πλατφόρμες κάτω από το ίδιο περιβάλλον (Keras + Theano στο Jupyter).
AWS - p2.large (Tesla K80, 12GB vRAM, μνήμη RAM 61 GB)
Paperspace - GPU + VM (Quadro M4000, 8GB vRAM, 30GB μνήμη RAM)
FloydHub - Tesla K80, 12GB vRAM, 61GB (ισοδύναμο με το σχέδιο βάσης)

Δύο μοντέλα εκπαιδεύτηκαν - Ένα βαθύ μοντέλο CNN με το Dropout on Fashion MNIST σύνολο δεδομένων και ένα εκλεπτυσμένο προ-εκπαιδευμένο δίκτυο VGG16 σε μια εργασία ταξινόμησης προϊόντων για μπακάλικο. Οι επιδόσεις τους απεικονίζονται παρακάτω.

Μοντελοποίηση επιδόσεων σε διαφορετικές πλατφόρμες (μικρότερη είναι καλύτερη)

Το AWS p2.large και το GPU + του Paperspace έχουν σχεδόν ισοδύναμη απόδοση με το AWS που βρίσκεται ακριβώς μπροστά. Εάν χρησιμοποιούμε τις εκδόσεις Pascal στο Paperspace, οι οποίες είναι ακόμα φθηνότερες από το AWS, η απόδοση του μοντέλου αναμένεται να είναι 3 φορές πιο γρήγορα από το AWS. Παρά το γεγονός ότι χρησιμοποιεί το ίδιο υλικό, το FloydHub είναι ~ 0.75x του AWS, πιθανότατα λόγω της μικρότερης ταχύτητας ανάγνωσης του δίσκου.

[UPDATE | Μάιος 2018]: Αυτή είναι ίσως η πιο ενδιαφέρουσα ενημέρωση. Με την εκτέλεση των ίδιων πειραμάτων / σεναρίων όπως προαναφέρθηκε, πρόσφατα, βρήκα μια τεράστια βελτίωση στον χρόνο εκπαίδευσης του FloydHub. Οι τελευταίοι αριθμοί δείχνουν ότι είναι ίσοι με AWS ή Paperspace GPU + ή ακόμα καλύτερα. Το FloydHub φαίνεται ότι έχει επιδιορθώσει τα ζητήματα I / O και έχοντας αναβαθμίσει τις τελευταίες εκδόσεις TensorFlow, Keras και PyTorch, φαίνεται να έχει κάνει θαύματα για αυτήν την πλατφόρμα. Το σενάριο μόδας MNIST διαρκεί τώρα 8s / epoch κατά την εκπαίδευση, ενώ το προ-εκπαιδευμένο σενάριο VGG16 διαρκεί πολύ λιγότερο (~ 100s / epoch). Ενώ δεν έχω ελέγξει αν Paperspace έχει επίσης επιφέρει κάποιες βελτιώσεις για το ίδιο, AWS σίγουρα δεν έχει. Έτσι, για τώρα, ο FloydHub αναδεικνύεται ως ο ταχύτερος μεταξύ των τριών.

Επιπρόσθετα χαρακτηριστικά :

Τόσο το Paperspace όσο και το FloydHub προσφέρουν προσαρμοσμένα σχέδια για ομάδες. Ωστόσο, οι σχετικές λειτουργίες του Floyd, όπως η κεντρική κοινή χρήση των συνόλων δεδομένων / έργων, η έκδοση διαφόρων εργασιών για εύκολη αναπαραγωγικότητα και υποστήριξη για τα fast.ai και UDacity MOOC βοηθούν τη συνεργασία και μια ευνοϊκή ατμόσφαιρα ανοιχτού κώδικα. Ο Floyd επιτρέπει επίσης ταυτόχρονη εκτέλεση εργασιών. Το AWS προσφέρει περιπτώσεις πολλαπλών GPU, ενώ τα FloydHub και Paperspace υποστηρίζουν μόνο συστήματα GPU.

[UPDATE | Μάιος 2018]: Ενώ η AWS έχει επικεντρωθεί περισσότερο στις πλευρικές εφαρμογές που ευνοούν τα συστήματα επιχειρήσεων και παραγωγής, το Paperspace και το FloydHub έχουν εισαγάγει πολλά νέα χαρακτηριστικά για να βελτιώσουν την ευκολία χρήσης και την ευκολία πρόσβασης των GPU στο ευρύ κοινό γενικότερα. Μερικά από αυτά ήταν:
[FloydHub]: Η ενσωμάτωση του Slack, ευνοώντας τη χρήση σε διάφορες ομάδες
[FloydHub]: Δρομέας διαχείρισης εργασίας, πίνακας εργαλείων μετρήσεων
[FloydHub]: Μια έκδοση beta ενός νέου διαδραστικού περιβάλλοντος (παρόμοιο με ένα VM στο σύννεφο), που ονομάζεται Workspace
[Paperspace]: Συνεργασία ως ο επίσημος συνεργάτης της σειράς fast.ai του Jeremy Howard
[Paperspace]: Το Paperspace Gradient και το API μαζί με το δικό τους CLI, τα οποία είναι αντίστοιχα εργαλεία για την αποτελεσματική εκτέλεση των εργασιών σας στο σύννεφο και ένα devkit για την αυτοματοποίηση των εργασιών VM / εργασίας σας (κατάλληλο για DevOps!)
Με το χώρο εργασίας, το Gradient και τη συνεργασία fast.ai, οι FloydHub και Paperspace έχουν κινηθεί πιο κοντά στην προσφορά παρόμοιων χαρακτηριστικών.

Τιμολόγηση:

Η τιμολόγηση είναι ίσως τα πιο σημαντικά κριτήρια επιλογής. Επί του παρόντος, η τιμολόγηση υπολογίζεται ανά δευτερόλεπτο για το AWS και το FloydHub και για τη γραφειοκρατία ανά χιλιοστό του δευτερολέπτου για το Paperspace.

Οι συμβολές AWS GPU ξεκινούν από $ 0,9 / ώρα με 30GB ελεύθερο όγκο EBS στο πρόγραμμα Free Tier. Ένας όγκος SSD 100GB + ελαστικό IP θα κοστίσει επιπλέον $ 13 / μήνα. Η AWS παρέχει επίσης στιγμιότυπα που είναι πολύ φθηνότερα αλλά εξαιρετικά ευαίσθητα στις διακυμάνσεις των τιμών και ως εκ τούτου δεν αποτελούν αξιόπιστη επιλογή.

Το Paperspace προσφέρει GPU series Maxwell σε GPUs 0,4 / hr και Pascal από 0,65 $ / ώρα. Ένα SSD 100GB με δημόσια IP θα κοστίσει $ 7 / μήνα. Παρέχονται επιπλέον υπηρεσίες κοινής ωφέλειας.

Ο FloydHub πρόσφατα απομακρύνθηκε από ένα μοντέλο πληρωμής ως έχει για καλά καθορισμένα μηνιαία σχέδια. Το πρόγραμμα βασικών δεδομένων Scientist κοστίζει $ 14 / μήνα για 10 ώρες GPU και αποθήκευση 100GB. Μπορείτε να αγοράσετε επιπλέον προπαρασκευαστικές ώρες GPU ξεκινώντας από $ 0,59 / ώρα. Για ειδικές περιπτώσεις GPU χρεώνεται ένα ασφάλιστρο.

[UPDATE | Μάιος 2018]: Η δομή των τιμών της FloydHub έχει αλλάξει σημαντικά, ενώ η AWS και η Paperspace παραμένουν σχεδόν ίδια. Το Paperspace παραμένει η πιο προσιτή επιλογή.

Ανάπτυξη:

Δεν προσπάθησα να αναπτύξω ένα μοντέλο σε κανένα από αυτά. Ο Floyd παρέχει μια εντολή μιας γραμμής για την ανάπτυξη του μοντέλου σας ως API REST. Το AWS διαθέτει πλήθος συναφών υπηρεσιών για την περαιτέρω βελτίωση της εμπειρίας ανάπτυξης εφαρμογών. Θα ενημερωθεί μόλις τις εξερευνήσω.

Συνοψίζοντας τις βασικές πτυχές στον παρακάτω πίνακα.

Συγκρίνοντας βασικές πτυχές των παρόχων υπηρεσιών GPU-on-cloud
[UPDATE | Μάιος 2018]: Δεν υπάρχουν πολλές αλλαγές στον παραπάνω πίνακα, εκτός από την ενότητα Performance, όπου ο FloydHub είναι ο ταχύτερος τώρα. Στο μέτωπο του υλικού / λογισμικού, και τα τρία βρίσκονται σε επίπεδο πρόσδεσης.

Εάν έχετε χρησιμοποιήσει κάποια από αυτές τις υπηρεσίες πριν, μοιραστείτε την εμπειρία σας. Αν δεν το έχετε, πηγαίνετε τώρα. Θα ήταν ωραίο να έχετε τις προτάσεις σας παρακάτω.