Προγραμματισμός

Πώς να επιλέξετε μια πλατφόρμα μηχανικής εκμάθησης cloud

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

Μπορείτε να το κάνετε όλα αυτά εσωτερικά, εάν έχετε επενδύσει σε υπολογιστικούς πόρους και επιταχυντές, όπως GPU, αλλά μπορεί να διαπιστώσετε ότι εάν οι πόροι σας είναι επαρκείς, είναι επίσης αδρανείς πολλές φορές. Από την άλλη πλευρά, μερικές φορές μπορεί να είναι πιο οικονομικό να τρέξετε ολόκληρο τον αγωγό στο cloud, χρησιμοποιώντας μεγάλες ποσότητες υπολογιστικών πόρων και επιταχυντών, όπως απαιτείται, και στη συνέχεια απελευθερώνοντάς τους.

Tech Spotlight: AI και μηχανική μάθηση

  • 5 ιστορίες επιτυχίας μηχανικής μάθησης: Μια εσωτερική εμφάνιση (CIO)
  • AI στην εργασία: Ο επόμενος συνάδελφός σας θα μπορούσε να είναι ένας αλγόριθμος (Computerworld)
  • Πόσο ασφαλή είναι τα προγράμματα AI και μηχανικής μάθησης; (CSO)
  • Πώς να επιλέξετε μια πλατφόρμα εκμάθησης μηχανών cloud ()
  • Πώς η AI μπορεί να δημιουργήσει κέντρα δεδομένων αυτο-οδήγησης (Network World)

Οι κύριοι πάροχοι cloud - και ένας αριθμός μικρών cloud - έχουν καταβάλει σημαντική προσπάθεια για την ανάπτυξη των πλατφορμών μηχανικής εκμάθησης για την υποστήριξη του πλήρους κύκλου ζωής μηχανικής μάθησης, από το σχεδιασμό ενός έργου έως τη διατήρηση ενός μοντέλου παραγωγής. Πώς καθορίζετε ποια από αυτά τα σύννεφα θα ικανοποιήσουν τις ανάγκες σας; Ακολουθούν 12 δυνατότητες που πρέπει να παρέχει κάθε πλατφόρμα μηχανικής μάθησης από άκρο σε άκρο.

Να είστε κοντά στα δεδομένα σας

Εάν έχετε τον μεγάλο όγκο δεδομένων που απαιτούνται για τη δημιουργία ακριβών μοντέλων, δεν θέλετε να τα στείλετε στα μισά του κόσμου. Το πρόβλημα εδώ δεν είναι απόσταση, ωστόσο, είναι ώρα: Η ταχύτητα μετάδοσης δεδομένων περιορίζεται τελικά από την ταχύτητα του φωτός, ακόμη και σε ένα τέλειο δίκτυο με άπειρο εύρος ζώνης. Οι μεγάλες αποστάσεις σημαίνουν καθυστέρηση.

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

Η επόμενη καλύτερη περίπτωση είναι τα δεδομένα να βρίσκονται στο ίδιο δίκτυο υψηλής ταχύτητας με το λογισμικό δημιουργίας μοντέλων, το οποίο συνήθως σημαίνει μέσα στο ίδιο κέντρο δεδομένων. Ακόμη και η μετακίνηση των δεδομένων από ένα κέντρο δεδομένων σε άλλο εντός μιας ζώνης διαθεσιμότητας cloud μπορεί να προκαλέσει σημαντική καθυστέρηση εάν έχετε terabyte (TB) ή περισσότερα. Μπορείτε να το μετριάσετε κάνοντας σταδιακές ενημερώσεις.

Η χειρότερη περίπτωση θα ήταν εάν πρέπει να μετακινήσετε μεγάλες αποστάσεις δεδομένων σε διαδρομές με περιορισμένο εύρος ζώνης και υψηλή καθυστέρηση. Τα καλώδια trans-Pacific που πηγαίνουν στην Αυστραλία είναι ιδιαίτερα απαίσια από αυτή την άποψη.

Υποστηρίξτε έναν αγωγό ETL ή ELT

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

Γενικά, τα δεδομένα στη φύση είναι θορυβώδη. Αυτό πρέπει να φιλτραριστεί. Επιπλέον, τα δεδομένα στο φυσικό περιβάλλον έχουν ποικίλα εύρη: Μια μεταβλητή μπορεί να έχει το μέγιστο στα εκατομμύρια, ενώ μια άλλη μπορεί να έχει εύρος από -0,1 έως -0,001. Για τη μηχανική μάθηση, οι μεταβλητές πρέπει να μετατραπούν σε τυποποιημένα εύρη για να διατηρήσουν αυτές που έχουν μεγάλες περιοχές από το να κυριαρχήσουν στο μοντέλο. Ακριβώς ποιο τυποποιημένο εύρος εξαρτάται από τον αλγόριθμο που χρησιμοποιείται για το μοντέλο.

Υποστήριξη ενός διαδικτυακού περιβάλλοντος για κατασκευή μοντέλων

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

Περιβάλλοντα ανάπτυξης που βασίζονται στον Ιστό, όπως Jupyter Notebooks, JupyterLab και Apache Zeppelin είναι κατάλληλα για κατασκευή μοντέλων. Εάν τα δεδομένα σας βρίσκονται στο ίδιο σύννεφο με το περιβάλλον του φορητού υπολογιστή, μπορείτε να μεταφέρετε την ανάλυση στα δεδομένα, ελαχιστοποιώντας την χρονοβόρα μετακίνηση δεδομένων.

Υποστήριξη εκπαίδευσης κλίμακας και κλιμάκωσης

Οι απαιτήσεις υπολογισμού και μνήμης των φορητών υπολογιστών είναι γενικά ελάχιστες, εκτός από τα εκπαιδευτικά μοντέλα. Βοηθά πολύ αν ένα σημειωματάριο μπορεί να δημιουργήσει εκπαιδευτικές εργασίες που εκτελούνται σε πολλές μεγάλες εικονικές μηχανές ή κοντέινερ. Βοηθά επίσης πολύ εάν η εκπαίδευση μπορεί να έχει πρόσβαση σε επιταχυντές όπως GPU, TPU και FPGA. Αυτά μπορούν να μετατρέψουν τις ημέρες της προπόνησης σε ώρες.

Υποστήριξη AutoML και αυτόματης μηχανικής χαρακτηριστικών

Δεν είναι όλοι καλοί στο να επιλέγουν μοντέλα μηχανικής εκμάθησης, να επιλέγουν χαρακτηριστικά (τις μεταβλητές που χρησιμοποιούνται από το μοντέλο) και να κατασκευάζουν νέα χαρακτηριστικά από τις πρώτες παρατηρήσεις. Ακόμα κι αν είστε καλοί σε αυτές τις εργασίες, είναι χρονοβόρες και μπορούν να αυτοματοποιηθούν σε μεγάλο βαθμό.

Τα συστήματα AutoML συχνά δοκιμάζουν πολλά μοντέλα για να δουν ποια αποτελέσματα έχουν τις καλύτερες τιμές αντικειμενικής λειτουργίας, για παράδειγμα το ελάχιστο τετράγωνο σφάλμα για προβλήματα παλινδρόμησης. Τα καλύτερα συστήματα AutoML μπορούν επίσης να εκτελέσουν μηχανικά χαρακτηριστικά και να χρησιμοποιήσουν τους πόρους τους αποτελεσματικά για να αναζητήσουν τα καλύτερα δυνατά μοντέλα με τα καλύτερα δυνατά σύνολα δυνατοτήτων.

Υποστηρίξτε τα καλύτερα πλαίσια μηχανικής μάθησης και βαθιάς μάθησης

Οι περισσότεροι επιστήμονες δεδομένων έχουν αγαπημένα πλαίσια και γλώσσες προγραμματισμού για μηχανική μάθηση και βαθιά μάθηση. Για όσους προτιμούν το Python, το Scikit-learning είναι συχνά το αγαπημένο για τη μηχανική μάθηση, ενώ τα TensorFlow, PyTorch, Keras και MXNet είναι συχνά κορυφαίες επιλογές για βαθιά μάθηση. Στη Σκάλα, το Spark MLlib τείνει να προτιμάται για μηχανική μάθηση. Στο R, υπάρχουν πολλά πακέτα εγγενών μηχανικών εκμάθησης και μια καλή διεπαφή για την Python. Στην Java, το H2O.ai εκτιμά πολύ, όπως και η Java-ML και η Deep Java Library.

Οι πλατφόρμες cloud machine learning και deep learning τείνουν να έχουν τη δική τους συλλογή αλγορίθμων και συχνά υποστηρίζουν εξωτερικά πλαίσια σε τουλάχιστον μία γλώσσα ή ως κοντέινερ με συγκεκριμένα σημεία εισόδου. Σε ορισμένες περιπτώσεις, μπορείτε να ενσωματώσετε τους δικούς σας αλγόριθμους και στατιστικές μεθόδους με τις εγκαταστάσεις AutoML της πλατφόρμας, κάτι που είναι αρκετά βολικό.

Ορισμένες πλατφόρμες cloud προσφέρουν επίσης τις δικές τους συντονισμένες εκδόσεις των μεγάλων πλαισίων βαθιάς μάθησης. Για παράδειγμα, το AWS έχει μια βελτιστοποιημένη έκδοση του TensorFlow που ισχυρίζεται ότι μπορεί να επιτύχει σχεδόν γραμμική επεκτασιμότητα για εκπαίδευση σε βαθύ νευρικό δίκτυο.

Προσφέρετε προ-εκπαιδευμένα μοντέλα και υποστηρίξτε την εκμάθηση μεταφοράς

Δεν θέλουν όλοι να ξοδεψουν το χρόνο και να υπολογίσουν πόρους για να εκπαιδεύσουν τα δικά τους μοντέλα - ούτε θα έπρεπε, όταν είναι διαθέσιμα προ-εκπαιδευμένα μοντέλα. Για παράδειγμα, το σύνολο δεδομένων ImageNet είναι τεράστιο και η εκπαίδευση ενός υπερσύγχρονου βαθύ νευρωνικού δικτύου εναντίον του μπορεί να διαρκέσει εβδομάδες, επομένως είναι λογικό να χρησιμοποιήσετε ένα προ-εκπαιδευμένο μοντέλο για αυτό όταν μπορείτε.

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

Προσφέρετε συντονισμένες υπηρεσίες AI

Οι μεγάλες πλατφόρμες cloud προσφέρουν ισχυρές, συντονισμένες υπηρεσίες AI για πολλές εφαρμογές, όχι μόνο για την αναγνώριση εικόνας. Το παράδειγμα περιλαμβάνει μετάφραση γλώσσας, ομιλία σε κείμενο, κείμενο σε ομιλία, πρόβλεψη και προτάσεις.

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

Διαχειριστείτε τα πειράματά σας

Ο μόνος τρόπος για να βρείτε το καλύτερο μοντέλο για το σύνολο δεδομένων σας είναι να δοκιμάσετε τα πάντα, είτε χειροκίνητα είτε χρησιμοποιώντας AutoML. Αυτό αφήνει ένα άλλο πρόβλημα: Διαχείριση των πειραμάτων σας.

Μια καλή πλατφόρμα εκμάθησης μηχανών cloud θα έχει έναν τρόπο που μπορείτε να δείτε και να συγκρίνετε τις τιμές αντικειμενικής λειτουργίας κάθε πειράματος τόσο για τα εκπαιδευτικά σύνολα όσο και για τα δεδομένα δοκιμής, καθώς και για το μέγεθος του μοντέλου και του πίνακα σύγχυσης. Το να γράφεις όλα αυτά είναι ένα καθορισμένο πλεονέκτημα.

Υποστήριξη ανάπτυξης μοντέλου για πρόβλεψη

Μόλις έχετε έναν τρόπο να επιλέξετε το καλύτερο πείραμα με βάση τα κριτήριά σας, χρειάζεστε επίσης έναν εύκολο τρόπο για να αναπτύξετε το μοντέλο. Εάν αναπτύξετε πολλά μοντέλα για τον ίδιο σκοπό, θα χρειαστείτε επίσης έναν τρόπο για να κατανείμετε την επισκεψιμότητα μεταξύ τους για δοκιμή a / b.

Παρακολούθηση της απόδοσης πρόβλεψης

Δυστυχώς, ο κόσμος τείνει να αλλάζει και τα δεδομένα αλλάζουν μαζί του. Αυτό σημαίνει ότι δεν μπορείτε να αναπτύξετε ένα μοντέλο και να το ξεχάσετε. Αντ 'αυτού, πρέπει να παρακολουθείτε τα δεδομένα που υποβάλλονται για προβλέψεις με την πάροδο του χρόνου. Όταν τα δεδομένα αρχίζουν να αλλάζουν σημαντικά από τη βασική γραμμή του αρχικού σας συνόλου δεδομένων εκπαίδευσης, θα πρέπει να επανεκπαιδεύσετε το μοντέλο σας.

Έλεγχος κόστους

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

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

$config[zx-auto] not found$config[zx-overlay] not found