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

Επανεξέταση: Το Amazon SageMaker παίζει catch-up

Όταν αναθεώρησα το Amazon SageMaker το 2018, σημείωσα ότι ήταν μια εξαιρετικά επεκτάσιμη υπηρεσία μηχανικής μάθησης και βαθιάς μάθησης που υποστηρίζει 11 αλγόριθμους από μόνη της, καθώς και άλλους που παρέχετε. Η βελτιστοποίηση υπερπαραμέτρων ήταν ακόμη σε προεπισκόπηση και χρειάστηκε να κάνετε το δικό σας ETL και μηχανικό χαρακτηριστικών.

Από τότε, το πεδίο εφαρμογής του SageMaker έχει επεκταθεί, αυξάνοντας τους βασικούς φορητούς υπολογιστές με IDE (SageMaker Studio) και αυτοματοποιημένη μηχανική εκμάθηση (SageMaker Autopilot) και προσθέτοντας μια σειρά σημαντικών υπηρεσιών στο συνολικό οικοσύστημα, όπως φαίνεται στο παρακάτω διάγραμμα. Αυτό το οικοσύστημα υποστηρίζει τη μηχανική μάθηση από την προετοιμασία μέσω δημιουργίας μοντέλων, εκπαίδευσης και συντονισμού έως την ανάπτυξη και διαχείριση - με άλλα λόγια, από άκρο σε άκρο.

Τι νέο υπάρχει στο SageMaker;

Τι νέα? Δεδομένου ότι είδα τελευταία φορά το SageMaker αμέσως μετά την κυκλοφορία του, η λίστα είναι αρκετά μεγάλη, αλλά ας ξεκινήσουμε με τις πιο ορατές υπηρεσίες.

  • SageMaker Studio, ένα IDE που βασίζεται στο JupyterLab
  • Το SageMaker Autopilot, το οποίο κατασκευάζει και εκπαιδεύει αυτόματα έως και 50 μοντέλα με χαρακτηριστικά που μπορούν να εξεταστούν στο SageMaker Studio
  • SageMaker Ground Truth, η οποία βοηθά στη δημιουργία και διαχείριση εκπαιδευτικών συνόλων δεδομένων
  • Τα SageMaker Notebooks προσφέρουν τώρα ελαστική χρήση υπολογισμού και κοινή χρήση με ένα κλικ
  • SageMaker Experiments, που βοηθούν τους προγραμματιστές να απεικονίσουν και να συγκρίνουν τις επαναλήψεις μοντέλων μηχανικής μάθησης, τις παραμέτρους εκπαίδευσης και τα αποτελέσματα
  • Το SageMaker Debugger, το οποίο παρέχει παρακολούθηση σε πραγματικό χρόνο για μοντέλα μηχανικής εκμάθησης για τη βελτίωση της προγνωστικής ακρίβειας, τη μείωση των χρόνων προπόνησης και τη διευκόλυνση μεγαλύτερης επεξήγησης
  • SageMaker Model Monitor, το οποίο ανιχνεύει την έννοια της μετατόπισης για να ανακαλύψει πότε η απόδοση ενός μοντέλου που λειτουργεί στην παραγωγή αρχίζει να αποκλίνει από το αρχικό εκπαιδευμένο μοντέλο

Άλλες αξιοσημείωτες βελτιώσεις περιλαμβάνουν την προαιρετική χρήση στιγμιότυπων παρουσιών για φορητούς υπολογιστές για τη μείωση του κόστους. έναν νέο τύπο παρουσίας P3dn.24xl που περιλαμβάνει οκτώ G100 V100. ένα πλαίσιο TensorFlow βελτιστοποιημένο για το AWS, το οποίο επιτυγχάνει σχεδόν τη γραμμική επεκτασιμότητα κατά την εκπαίδευση πολλαπλών τύπων νευρωνικών δικτύων. Amazon Elastic Inference, το οποίο μπορεί να μειώσει δραματικά το κόστος συμπερασμάτων. AWS Inferentia, το οποίο είναι ένα τσιπ συμπερασμάτων μηχανικής μάθησης υψηλής απόδοσης. και νέους αλγόριθμους, τόσο ενσωματωμένους στο SageMaker όσο και διαθέσιμοι στο AWS Marketplace. Επιπλέον, το SageMaker Neo μεταγλωττίζει μοντέλα βαθιάς μάθησης για να λειτουργεί σε υπολογιστικές συσκευές αιχμής, και το SageMaker RL (δεν φαίνεται στο διάγραμμα) παρέχει μια υπηρεσία διαχειριζόμενης ενίσχυσης.

SageMaker Στούντιο

Το JupyterLab είναι η διεπαφή χρήστη επόμενης γενιάς που βασίζεται στον Ιστό για το Project Jupyter. Το SageMaker Studio χρησιμοποιεί το JupyterLab ως βάση για ένα IDE που είναι ένας ενοποιημένος ηλεκτρονικός υπολογιστής και ένας σταθμός εργασίας βαθιάς μάθησης με δυνατότητες συνεργασίας, διαχείριση πειραμάτων, ενσωμάτωση Git και αυτόματη δημιουργία μοντέλων.

Το παρακάτω στιγμιότυπο οθόνης δείχνει τον τρόπο εγκατάστασης των παραδειγμάτων SageMaker σε μια παρουσία SageMaker Studio, χρησιμοποιώντας μια καρτέλα τερματικού και τη γραμμή εντολών Git. Οι οδηγίες για να γίνει αυτό βρίσκονται στο README για αυτό το παράδειγμα, το οποίο είναι ένα είδος Catch-22. Μπορείτε να τα διαβάσετε μεταβαίνοντας στο παράδειγμα "Ξεκινώντας" στο GitHub ή κλωνοποιώντας το αποθετήριο στο δικό σας μηχάνημα και διαβάζοντάς το εκεί.

Το παράδειγμα της εκκίνησης του Amazon περιέχει ένα σημειωματάριο που ονομάζεται xgboost_customer_churn_studio.ipynb, το οποίο προσαρμόστηκε από μια ανάρτηση ιστολογίου σχετικά με την πρόβλεψη της αναταραχής των πελατών. Καθώς τα notebooks του Jupyter πηγαίνουν, έχει πολλές εξηγήσεις, όπως μπορείτε να δείτε στα στιγμιότυπα οθόνης παρακάτω.

Το παράδειγμα συνεχίζει να τρέχει μια πρόσθετη εκπαίδευση με έναν εξωτερικό αλγόριθμο XGBoost τροποποιημένος για να αποθηκεύει πληροφορίες εντοπισμού σφαλμάτων στο Amazon S3 και να επικαλεστεί τρεις κανόνες εντοπισμού σφαλμάτων. Αυτό είναι αυτό που ονομάζεται δομή λειτουργία, που σημαίνει ότι δεν είναι ενσωματωμένος αλγόριθμος.

Όταν ολοκληρωθούν οι προπονήσεις, μπορείτε να συγκρίνετε τα αποτελέσματα στην καρτέλα Πειράματα.

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

Παρεμπιπτόντως, το XGBoost είναι μόνο ένας από τους πολλούς αλγόριθμους ενσωματωμένους στο SageMaker. Μια πλήρης λίστα εμφανίζεται στον παρακάτω πίνακα - και μπορείτε πάντα να δημιουργήσετε το δικό σας μοντέλο.

Αυτόματο πιλότο SageMaker

Ας υποθέσουμε ότι δεν γνωρίζετε πώς να κάνετε μηχανική χαρακτηριστικών και δεν είστε εξοικειωμένοι με τους διαφορετικούς αλγόριθμους που διατίθενται για τις διάφορες εργασίες μηχανικής εκμάθησης. Μπορείτε ακόμα να χρησιμοποιήσετε το SageMaker - απλώς αφήστε το να τρέξει στον αυτόματο πιλότο. Το SageMaker Autopilot μπορεί να χειριστεί σύνολα δεδομένων έως 5 GB.

Στο παρακάτω στιγμιότυπο οθόνης εκτελούμε το παράδειγμα Direct Marketing με το Amazon SageMaker Autopilot. Ξεκινά κατεβάζοντας τα δεδομένα, αποσυμπιέζοντάς τα, ανεβάζοντάς τα σε κάδο S3 και ξεκινώντας μια εργασία Autopilot καλώντας το API create_auto_ml_job. Στη συνέχεια, παρακολουθούμε την πρόοδο της εργασίας καθώς αναλύει τα δεδομένα, κάνει μηχανικές δυνατότητες και συντονίζει μοντέλα, όπως φαίνεται παρακάτω.

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

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

SageMaker Ground Truth

Εάν είστε τυχεροί, όλα τα δεδομένα σας θα επισημανθούν ή θα σχολιαστούν με άλλο τρόπο και θα είναι έτοιμα για χρήση ως εκπαιδευτικό σύνολο δεδομένων. Εάν όχι, μπορείτε να σχολιάσετε τα δεδομένα με μη αυτόματο τρόπο (το τυπικό αστείο είναι ότι δίνετε την εργασία στους μαθητές σας) ή μπορείτε να χρησιμοποιήσετε μια ημι-εποπτευόμενη διαδικασία μάθησης που συνδυάζει ανθρώπινους σχολιασμούς με αυτόματους σχολιασμούς. Το SageMaker Ground Truth είναι μια τέτοια διαδικασία επισήμανσης.

Όπως μπορείτε να δείτε στο παρακάτω διάγραμμα, το Ground Truth μπορεί να εφαρμοστεί σε μια σειρά διαφορετικών εργασιών. Με το Ground Truth, μπορείτε να χρησιμοποιήσετε εργαζομένους είτε από το Amazon Mechanical Turk, είτε από μια εταιρεία προμηθευτών που επιλέγετε, ή από ένα εσωτερικό, ιδιωτικό εργατικό δυναμικό μαζί με τη μηχανική εκμάθηση για να σας επιτρέψει να δημιουργήσετε ένα σύνολο δεδομένων με ετικέτα.

Η Amazon παρέχει επτά περιηγήσεις που δείχνουν διάφορους τρόπους χρήσης του SageMaker Ground Truth.

SageMaker Neo

Μέχρι πρόσφατα, η ανάπτυξη εκπαιδευμένων μοντέλων σε συσκευές αιχμής - για παράδειγμα smartphone και συσκευές IoT - ήταν δύσκολη. Υπήρξαν συγκεκριμένες λύσεις, όπως μοντέλα TensorFlow Lite για TensorFlow και TensorRT για συσκευές Nvidia, αλλά το SageMaker Neo μεταγλωττίζει και βελτιστοποιεί αυτόματα τα μοντέλα TensorFlow, Apache MXNet, PyTorch, ONNX και XGBoost για ανάπτυξη σε επεξεργαστές ARM, Intel και Nvidia ως συσκευές Qualcomm, Cadence και Xilinx.

Σύμφωνα με την AWS, η Neo μπορεί να διπλασιάσει την απόδοση των μοντέλων και να τα συρρικνώσει αρκετά ώστε να λειτουργεί σε συσκευές με άκρη με περιορισμένη ποσότητα μνήμης.

Επιλογές ανάπτυξης συμπερασμάτων SageMaker

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

Ένα από αυτά είναι το Elastic Inference. Το AWS λέει ότι το Elastic Inference μπορεί να επιταχύνει την απόδοση και να μειώσει την καθυστέρηση λήψης συμπερασμάτων σε πραγματικό χρόνο από τα μοντέλα βαθιάς μάθησης που αναπτύσσονται ως μοντέλα που φιλοξενούνται από το Amazon SageMaker, αλλά σε ένα κλάσμα του κόστους χρήσης μιας παρουσίας GPU για το τελικό σημείο. Το Elastic Inference επιταχύνει τα συμπεράσματα επιτρέποντάς σας να συνδέσετε κλασματικά GPU σε οποιαδήποτε παρουσία του Amazon SageMaker.

Το Elastic Inference υποστηρίζεται σε εκδόσεις Elens Inference με δυνατότητα TensorFlow, Apache MXNet και PyTorch. Για να χρησιμοποιήσετε οποιοδήποτε άλλο πλαίσιο μάθησης σε βάθος, εξαγάγετε το μοντέλο σας χρησιμοποιώντας το ONNX και, στη συνέχεια, εισαγάγετε το μοντέλο σας στο MXNet.

Εάν χρειάζεστε περισσότερα από τα 32 TFLOPS ανά επιταχυντή που μπορείτε να πάρετε από το Elastic Inference, μπορείτε να χρησιμοποιήσετε παρουσίες EC2 G4, οι οποίες έχουν GPU Nvidia T4 ή EC2 Inf1, που έχουν προσαρμοσμένα τσιπ επιταχυντή AWS Inferentia. Εάν χρειάζεστε την ταχύτητα των τσιπ Inferentia, μπορείτε να χρησιμοποιήσετε το AWS Neuron SDK για να μεταγλωττίσετε το μοντέλο βαθιάς μάθησης σε ένα Neuron Executable File Format (NEFF), το οποίο με τη σειρά του φορτώνεται από το πρόγραμμα οδήγησης χρόνου εκτέλεσης Neuron για να εκτελέσει αιτήματα εισαγωγής συμπερασμάτων στο Inferentia μάρκες.

Σε αυτό το σημείο, η προεπισκόπηση του Amazon SageMaker Studio είναι αρκετά καλή ώστε να χρησιμοποιείται για μηχανική μάθηση end-to-end και βαθιά μάθηση: προετοιμασία δεδομένων, εκπαίδευση μοντέλου, ανάπτυξη μοντέλου και παρακολούθηση μοντέλου. Ενώ η εμπειρία του χρήστη αφήνει ακόμα μερικά πράγματα που είναι επιθυμητά, όπως καλύτερη ανακάλυψη λειτουργικότητας, το Amazon SageMaker είναι πλέον ανταγωνιστικό με τα περιβάλλοντα μηχανικής μάθησης που διατίθενται σε άλλα σύννεφα.

Κόστος: 0,0464 έως 34,272 $ ανά ώρα παρουσίας για υπολογισμό, ανάλογα με τον αριθμό των CPU και GPU. Αποθήκευση SSD: 0,14 $ ανά GB-μήνα. Μεταφορά δεδομένων: 0,016 $ ανά GB εντός ή εκτός.

Πλατφόρμα: Φιλοξενείται στο Amazon Web Services.

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