Σε αυτήν την ανάρτηση, παρουσιάζουμε πώς Kubeflow στο AWS (μια κατανομή του Kubeflow ειδική για AWS) που χρησιμοποιείται με Εμπορευματοκιβώτια βαθιάς μάθησης AWS και Σύστημα αρχείων ελαστικού Amazon (Amazon EFS) απλοποιεί τη συνεργασία και παρέχει ευελιξία στην εκπαίδευση μοντέλων βαθιάς μάθησης σε κλίμακα και στα δύο Υπηρεσία Amazon Elastic Kubernetes (Amazon EKS) και Amazon Sage Maker χρησιμοποιώντας μια προσέγγιση υβριδικής αρχιτεκτονικής.
Η ανάπτυξη μηχανικής μάθησης (ML) βασίζεται σε πολύπλοκα και συνεχώς εξελισσόμενα πλαίσια ανοιχτού κώδικα και σετ εργαλείων, καθώς και σε πολύπλοκα και συνεχώς εξελισσόμενα οικοσυστήματα υλικού. Αυτό αποτελεί πρόκληση κατά την κλιμάκωση της ανάπτυξης ML σε ένα σύμπλεγμα. Τα κοντέινερ προσφέρουν μια λύση, επειδή μπορούν να ενσωματώσουν πλήρως όχι μόνο τον κώδικα εκπαίδευσης, αλλά ολόκληρη τη στοίβα εξάρτησης στις βιβλιοθήκες υλικού. Αυτό εξασφαλίζει ένα περιβάλλον ML που είναι συνεπές και φορητό και διευκολύνει την αναπαραγωγιμότητα του εκπαιδευτικού περιβάλλοντος σε κάθε μεμονωμένο κόμβο του εκπαιδευτικού συμπλέγματος.
Το Kubernetes είναι ένα ευρέως διαδεδομένο σύστημα για την αυτοματοποίηση της ανάπτυξης υποδομής, της κλίμακας πόρων και της διαχείρισης αυτών των εφαρμογών με κοντέινερ. Ωστόσο, το Kubernetes δεν κατασκευάστηκε με γνώμονα την ML, επομένως μπορεί να αισθάνεται αντίθετο για τους επιστήμονες δεδομένων λόγω της μεγάλης εξάρτησής του από τα αρχεία προδιαγραφών YAML. Δεν υπάρχει εμπειρία Jupyter και δεν υπάρχουν πολλές δυνατότητες ειδικά για ML, όπως διαχείριση ροής εργασιών και αγωγών, και άλλες δυνατότητες που αναμένουν οι ειδικοί ML, όπως συντονισμός υπερπαραμέτρων, φιλοξενία μοντέλου και άλλες. Τέτοιες δυνατότητες μπορούν να δημιουργηθούν, αλλά το Kubernetes δεν σχεδιάστηκε για να το κάνει αυτό ως πρωταρχικό του στόχο.
Η κοινότητα ανοιχτού κώδικα έλαβε υπόψη και ανέπτυξε ένα επίπεδο πάνω από το Kubernetes που ονομάζεται Kubeflow. Το Kubeflow στοχεύει να κάνει την ανάπτυξη ροών εργασίας ML από άκρο σε άκρο στο Kubernetes απλή, φορητή και επεκτάσιμη. Μπορείτε να χρησιμοποιήσετε το Kubeflow για να αναπτύξετε τα καλύτερα συστήματα ανοιχτού κώδικα για ML σε διάφορες υποδομές.
Οι Kubeflow και Kubernetes παρέχουν ευελιξία και έλεγχο στις ομάδες επιστημόνων δεδομένων. Ωστόσο, η εξασφάλιση υψηλής χρησιμοποίησης των ομάδων εκπαίδευσης που λειτουργούν σε κλίμακα με μειωμένα λειτουργικά γενικά έξοδα εξακολουθεί να αποτελεί πρόκληση.
Αυτή η ανάρτηση δείχνει πώς οι πελάτες που έχουν περιορισμούς εσωτερικής εγκατάστασης ή υπάρχουσες επενδύσεις Kubernetes μπορούν να αντιμετωπίσουν αυτήν την πρόκληση χρησιμοποιώντας το Amazon EKS και το Kubeflow στο AWS για να εφαρμόσουν έναν αγωγό ML για κατανεμημένη εκπαίδευση που βασίζεται σε μια αυτοδιαχειριζόμενη προσέγγιση και να χρησιμοποιήσουν πλήρως διαχειριζόμενο SageMaker για βελτιστοποιημένη ως προς το κόστος, πλήρως διαχειριζόμενη υποδομή εκπαίδευσης και σε κλίμακα παραγωγής. Αυτό περιλαμβάνει βήμα προς βήμα εφαρμογή μιας υβριδικής κατανεμημένης αρχιτεκτονικής εκπαίδευσης που σας επιτρέπει να επιλέξετε μεταξύ των δύο προσεγγίσεων κατά το χρόνο εκτέλεσης, παρέχοντας μέγιστο έλεγχο και ευελιξία με αυστηρές ανάγκες για τις αναπτύξεις σας. Θα δείτε πώς μπορείτε να συνεχίσετε να χρησιμοποιείτε βιβλιοθήκες ανοιχτού κώδικα στο σενάριο εκπαίδευσης βαθιάς μάθησης και να το κάνετε ακόμα συμβατό να εκτελείται τόσο στο Kubernetes όσο και στο SageMaker με αγνωστικιστικό τρόπο πλατφόρμας.
Πώς βοηθά το Kubeflow στο AWS και το SageMaker;
Τα μοντέλα νευρωνικών δικτύων που έχουν δημιουργηθεί με πλαίσια βαθιάς εκμάθησης όπως το TensorFlow, το PyTorch, το MXNet και άλλα παρέχουν πολύ μεγαλύτερη ακρίβεια χρησιμοποιώντας σημαντικά μεγαλύτερα σύνολα δεδομένων εκπαίδευσης, ειδικά σε περιπτώσεις χρήσης υπολογιστών και επεξεργασίας φυσικής γλώσσας. Ωστόσο, με μεγάλα σύνολα δεδομένων εκπαίδευσης, χρειάζεται περισσότερος χρόνος για την εκπαίδευση των μοντέλων βαθιάς μάθησης, κάτι που τελικά επιβραδύνει το χρόνο για την αγορά. Εάν μπορούσαμε να κλιμακώσουμε ένα σύμπλεγμα και να μειώσουμε τον χρόνο εκπαίδευσης του μοντέλου από εβδομάδες σε ημέρες ή ώρες, θα μπορούσε να έχει τεράστιο αντίκτυπο στην παραγωγικότητα και την επιχειρηματική ταχύτητα.
Η Amazon EKS βοηθά στην παροχή του διαχειριζόμενου αεροπλάνου ελέγχου Kubernetes. Μπορείτε να χρησιμοποιήσετε το Amazon EKS για να δημιουργήσετε συμπλέγματα εκπαίδευσης μεγάλης κλίμακας με παρουσίες CPU και GPU και να χρησιμοποιήσετε το κιτ εργαλείων Kubeflow για να παρέχετε εργαλεία ανοιχτού κώδικα φιλικά προς ML και να λειτουργήσετε ροές εργασιών ML που είναι φορητές και επεκτάσιμες χρησιμοποιώντας Kubeflow Pipelines για να βελτιώσετε την παραγωγικότητα της ομάδας σας και μειώστε το χρόνο στην αγορά.
Ωστόσο, μπορεί να υπάρχουν μερικές προκλήσεις με αυτήν την προσέγγιση:
- Διασφάλιση της μέγιστης χρήσης ενός cluster σε ομάδες επιστήμης δεδομένων. Για παράδειγμα, θα πρέπει να παρέχετε στιγμιότυπα GPU κατ' απαίτηση και να διασφαλίζετε την υψηλή αξιοποίησή τους για απαιτητικές εργασίες κλίμακας παραγωγής, όπως η εκπαίδευση σε βάθος, και να χρησιμοποιείτε παρουσίες CPU για τις λιγότερο απαιτητικές εργασίες, όπως η προεπεξεργασία δεδομένων
- Διασφάλιση υψηλής διαθεσιμότητας βαρέων στοιχείων υποδομής Kubeflow, συμπεριλαμβανομένης της βάσης δεδομένων, της αποθήκευσης και του ελέγχου ταυτότητας, που αναπτύσσονται στον κόμβο εργασίας συμπλέγματος Kubernetes. Για παράδειγμα, το επίπεδο ελέγχου Kubeflow δημιουργεί τεχνουργήματα (όπως στιγμιότυπα MySQL, αρχεία καταγραφής pod ή αποθήκευση MinIO) που μεγαλώνουν με την πάροδο του χρόνου και χρειάζονται όγκους αποθήκευσης με δυνατότητα αλλαγής μεγέθους με δυνατότητες συνεχούς παρακολούθησης.
- Η κοινή χρήση του συνόλου δεδομένων εκπαίδευσης, του κώδικα και των υπολογιστικών περιβαλλόντων μεταξύ προγραμματιστών, συστάδων εκπαίδευσης και έργων αποτελεί πρόκληση. Για παράδειγμα, εάν εργάζεστε στο δικό σας σύνολο βιβλιοθηκών και αυτές οι βιβλιοθήκες έχουν ισχυρές αλληλεξαρτήσεις, είναι πολύ δύσκολο να μοιραστείτε και να εκτελέσετε το ίδιο κομμάτι κώδικα μεταξύ επιστημόνων δεδομένων στην ίδια ομάδα. Επίσης, κάθε εκτέλεση εκπαίδευσης απαιτεί από εσάς να κατεβάσετε το σύνολο δεδομένων εκπαίδευσης και να δημιουργήσετε την εικόνα της εκπαίδευσης με νέες αλλαγές κώδικα.
Το Kubeflow στο AWS βοηθά στην αντιμετώπιση αυτών των προκλήσεων και παρέχει ένα ημιδιαχειριζόμενο προϊόν Kubeflow σε επίπεδο επιχείρησης. Με το Kubeflow στο AWS, μπορείτε να αντικαταστήσετε ορισμένες υπηρεσίες επιπέδου ελέγχου Kubeflow, όπως βάση δεδομένων, αποθήκευση, παρακολούθηση και διαχείριση χρηστών με υπηρεσίες διαχείρισης AWS, όπως Υπηρεσία σχεσιακής βάσης δεδομένων Amazon (Amazon RDS), Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3), Σύστημα αρχείων ελαστικού Amazon (Amazon EFS), Amazon FSx, amazoncloudwatch, να Amazon Cognito.
Η αντικατάσταση αυτών των εξαρτημάτων Kubeflow αποσυνδέει κρίσιμα μέρη του επιπέδου ελέγχου Kubeflow από την Kubernetes, παρέχοντας έναν ασφαλή, επεκτάσιμο, ελαστικό και βελτιστοποιημένο σχεδιασμό. Αυτή η προσέγγιση ελευθερώνει επίσης πόρους αποθήκευσης και υπολογισμούς από το επίπεδο δεδομένων EKS, οι οποίοι μπορεί να χρειάζονται σε εφαρμογές όπως η εκπαίδευση κατανεμημένων μοντέλων ή οι διακομιστές φορητών υπολογιστών χρηστών. Το Kubeflow στο AWS παρέχει επίσης εγγενή ενσωμάτωση φορητών υπολογιστών Jupyter με εικόνες Deep Learning Container (DLC), οι οποίες είναι προ-συσκευασμένες και προρυθμισμένες με βελτιστοποιημένα AWS πλαίσια βαθιάς μάθησης, όπως το PyTorch και το TensorFlow που σας επιτρέπουν να αρχίσετε να γράφετε τον εκπαιδευτικό σας κώδικα αμέσως χωρίς να το κάνετε. με αναλύσεις εξάρτησης και βελτιστοποιήσεις πλαισίου. Επίσης, η ενσωμάτωση του Amazon EFS με τα συμπλέγματα εκπαίδευσης και το περιβάλλον ανάπτυξης σάς επιτρέπει να μοιράζεστε τον κώδικα και το επεξεργασμένο σύνολο δεδομένων εκπαίδευσης, το οποίο αποφεύγει τη δημιουργία της εικόνας του κοντέινερ και τη φόρτωση τεράστιων συνόλων δεδομένων μετά από κάθε αλλαγή κώδικα. Αυτές οι ενσωματώσεις με το Kubeflow στο AWS σάς βοηθούν να επιταχύνετε τον χρόνο κατασκευής και εκπαίδευσης του μοντέλου και επιτρέπουν την καλύτερη συνεργασία με ευκολότερη κοινή χρήση δεδομένων και κώδικα.
Το Kubeflow στο AWS βοηθά στη δημιουργία μιας εξαιρετικά διαθέσιμης και ισχυρής πλατφόρμας ML. Αυτή η πλατφόρμα παρέχει ευελιξία για τη δημιουργία και την εκπαίδευση μοντέλων βαθιάς μάθησης και παρέχει πρόσβαση σε πολλές εργαλειοθήκες ανοιχτού κώδικα, πληροφορίες για αρχεία καταγραφής και διαδραστικό εντοπισμό σφαλμάτων για πειραματισμό. Ωστόσο, η επίτευξη της μέγιστης αξιοποίησης των πόρων υποδομής κατά την εκπαίδευση μοντέλων βαθιάς μάθησης σε εκατοντάδες GPU εξακολουθεί να περιλαμβάνει πολλά λειτουργικά έξοδα. Αυτό θα μπορούσε να αντιμετωπιστεί με τη χρήση του SageMaker, η οποία είναι μια πλήρως διαχειριζόμενη υπηρεσία σχεδιασμένη και βελτιστοποιημένη για το χειρισμό αποδοτικών και βελτιστοποιημένων ως προς το κόστος συμπλεγμάτων εκπαίδευσης που παρέχονται μόνο όταν ζητηθεί, κλιμακώνονται ανάλογα με τις ανάγκες και κλείνουν αυτόματα όταν ολοκληρωθούν οι εργασίες, παρέχοντας έτσι σχεδόν 100 % εκμετάλλευση πόρων. Μπορείτε να ενσωματώσετε το SageMaker με το Kubeflow Pipelines χρησιμοποιώντας διαχειριζόμενα στοιχεία SageMaker. Αυτό σας επιτρέπει να θέσετε σε λειτουργία τις ροές εργασίας ML ως μέρος των αγωγών Kubeflow, όπου μπορείτε να χρησιμοποιήσετε το Kubernetes για τοπική εκπαίδευση και το SageMaker για εκπαίδευση σε κλίμακα προϊόντος σε μια υβριδική αρχιτεκτονική.
Επισκόπηση λύσεων
Η ακόλουθη αρχιτεκτονική περιγράφει τον τρόπο με τον οποίο χρησιμοποιούμε το Kubeflow Pipelines για τη δημιουργία και την ανάπτυξη φορητών και επεκτάσιμων ροών εργασιών ML από άκρο σε άκρο για την υπό όρους εκτέλεση κατανεμημένης εκπαίδευσης στο Kubernetes χρησιμοποιώντας εκπαίδευση Kubeflow ή SageMaker με βάση την παράμετρο χρόνου εκτέλεσης.
Η εκπαίδευση Kubeflow είναι μια ομάδα χειριστών Kubernetes που προσθέτουν στο Kubeflow την υποστήριξη για κατανεμημένη εκπαίδευση μοντέλων ML χρησιμοποιώντας διαφορετικά πλαίσια όπως το TensorFlow, το PyTorch και άλλα. pytorch-operator
είναι η υλοποίηση Kubeflow των Kubernetes προσαρμοσμένος πόρος (PyTorchJob) για την εκτέλεση κατανεμημένων εργασιών εκπαίδευσης PyTorch στο Kubernetes.
Χρησιμοποιούμε το στοιχείο PyTorchJob Launcher ως μέρος της διοχέτευσης Kubeflow για την εκτέλεση κατανεμημένης εκπαίδευσης PyTorch κατά τη φάση πειραματισμού, όταν χρειαζόμαστε ευελιξία και πρόσβαση σε όλους τους υποκείμενους πόρους για διαδραστικό εντοπισμό σφαλμάτων και ανάλυση.
Χρησιμοποιούμε επίσης εξαρτήματα SageMaker για Kubeflow Pipelines για να εκτελέσουμε την εκπαίδευση μοντέλων μας σε κλίμακα παραγωγής. Αυτό μας επιτρέπει να εκμεταλλευόμαστε ισχυρές δυνατότητες του SageMaker, όπως υπηρεσίες πλήρους διαχείρισης, κατανεμημένες εργασίες εκπαίδευσης με μέγιστη χρήση GPU και οικονομική εκπαίδευση μέσω Amazon Elastic Compute Cloud (Amazon EC2) Στιγμιαίες παρουσίες.
Ως μέρος της διαδικασίας δημιουργίας ροής εργασίας, ολοκληρώνετε τα ακόλουθα βήματα (όπως φαίνεται στο προηγούμενο διάγραμμα) για να δημιουργήσετε αυτόν τον αγωγό:
- Χρησιμοποιήστε το αρχείο μανιφέστου Kubeflow για να δημιουργήσετε έναν πίνακα εργαλείων Kubeflow και να αποκτήσετε πρόσβαση σε σημειωματάρια Jupyter από τον κεντρικό πίνακα εργαλείων Kubeflow.
- Χρησιμοποιήστε το Kubeflow pipeline SDK για να δημιουργήσετε και να μεταγλωττίσετε αγωγούς Kubeflow χρησιμοποιώντας κώδικα Python. Η μεταγλώττιση Pipeline μετατρέπει τη συνάρτηση Python σε έναν πόρο ροής εργασίας, ο οποίος είναι μια μορφή YAML συμβατή με το Argo.
- Χρησιμοποιήστε τον πελάτη Kubeflow Pipelines SDK για να καλέσετε το τελικό σημείο της υπηρεσίας διοχέτευσης για να εκτελέσετε τη διοχέτευση.
- Η διοχέτευση αξιολογεί τις μεταβλητές χρόνου εκτέλεσης υπό όρους και αποφασίζει μεταξύ του SageMaker ή του Kubernetes ως το περιβάλλον εκτέλεσης στόχου.
- Χρησιμοποιήστε το στοιχείο Kubeflow PyTorch Launcher για να εκτελέσετε κατανεμημένη εκπαίδευση στο εγγενές περιβάλλον Kubernetes ή χρησιμοποιήστε το στοιχείο SageMaker για να υποβάλετε την εκπαίδευση στη διαχειριζόμενη πλατφόρμα SageMaker.
Το παρακάτω σχήμα δείχνει τα στοιχεία Kubeflow Pipelines που εμπλέκονται στην αρχιτεκτονική που μας δίνουν την ευελιξία να επιλέξουμε ανάμεσα σε κατανεμημένα περιβάλλοντα Kubernetes ή SageMaker.
Χρησιμοποιήστε Case Workflow
Χρησιμοποιούμε την ακόλουθη προσέγγιση βήμα προς βήμα για να εγκαταστήσουμε και να εκτελέσουμε την περίπτωση χρήσης για κατανεμημένη εκπαίδευση χρησιμοποιώντας το Amazon EKS και το SageMaker χρησιμοποιώντας το Kubeflow στο AWS.
Προϋποθέσεις
Για αυτήν την καθοδήγηση, θα πρέπει να έχετε τις ακόλουθες προϋποθέσεις:
- An Λογαριασμός AWS.
- Ένα μηχάνημα με το Docker και το Διεπαφή γραμμής εντολών AWS (AWS CLI) εγκατεστημένο.
- Προαιρετικά, μπορείτε να χρησιμοποιήσετε AWS Cloud9, ένα ολοκληρωμένο περιβάλλον ανάπτυξης που βασίζεται σε σύννεφο (IDE) που επιτρέπει την ολοκλήρωση όλης της εργασίας από το πρόγραμμα περιήγησής σας. Για οδηγίες ρύθμισης, ανατρέξτε στο Ρύθμιση του Cloud9 IDE. Από το περιβάλλον Cloud9, επιλέξτε το σύμβολο συν και ανοίξτε το νέο τερματικό.
- Δημιουργήστε έναν ρόλο με το όνομα
sagemakerrole
. Προσθήκη διαχειριζόμενων πολιτικώνAmazonSageMakerFullAccess
καιAmazonS3FullAccess
για να δώσετε στο SageMaker πρόσβαση σε κάδους S3. Αυτός ο ρόλος χρησιμοποιείται από την εργασία του SageMaker που υποβλήθηκε ως μέρος του βήματος Kubeflow Pipelines. - Βεβαιωθείτε ότι ο λογαριασμός σας έχει όριο τύπου πόρων SageMaker Training για
ml.p3.2xlarge
αυξήθηκε σε 2 χρησιμοποιώντας Service Quotas Console
1. Εγκαταστήστε το Amazon EKS και το Kubeflow στο AWS
Μπορείτε να χρησιμοποιήσετε πολλές διαφορετικές προσεγγίσεις για να δημιουργήσετε ένα σύμπλεγμα Kubernetes και να αναπτύξετε το Kubeflow. Σε αυτήν την ανάρτηση, εστιάζουμε σε μια προσέγγιση που πιστεύουμε ότι φέρνει απλότητα στη διαδικασία. Πρώτα, δημιουργούμε ένα σύμπλεγμα EKS και, στη συνέχεια, αναπτύσσουμε το Kubeflow σε AWS v1.5 σε αυτό. Για καθεμία από αυτές τις εργασίες, χρησιμοποιούμε ένα αντίστοιχο έργο ανοιχτού κώδικα που ακολουθεί τις αρχές του Κάντε το πλαίσιο. Αντί να εγκαταστήσουμε ένα σύνολο προαπαιτούμενων για κάθε εργασία, κατασκευάζουμε κοντέινερ Docker που διαθέτουν όλα τα απαραίτητα εργαλεία και εκτελούν τις εργασίες μέσα από τα κοντέινερ.
Χρησιμοποιούμε το Do Framework σε αυτήν την ανάρτηση, το οποίο αυτοματοποιεί την ανάπτυξη του Kubeflow με το Amazon EFS ως πρόσθετο. Για τις επίσημες επιλογές ανάπτυξης Kubeflow για AWS για αναπτύξεις παραγωγής, ανατρέξτε στο Ανάπτυξη.
Διαμορφώστε τον τρέχοντα κατάλογο εργασίας και το AWS CLI
Διαμορφώνουμε έναν κατάλογο εργασίας, ώστε να μπορούμε να αναφερθούμε σε αυτόν ως το σημείο εκκίνησης για τα βήματα που ακολουθούν:
Διαμορφώνουμε επίσης ένα προφίλ AWS CLI. Για να το κάνετε αυτό, χρειάζεστε ένα αναγνωριστικό κλειδιού πρόσβασης και ένα μυστικό κλειδί πρόσβασης ενός Διαχείριση ταυτότητας και πρόσβασης AWS (ΕΓΩ ΕΙΜΑΙ) χρήστη λογαριασμό με δικαιώματα διαχειριστή (επισυνάψτε την υπάρχουσα διαχειριζόμενη πολιτική) και πρόσβαση μέσω προγραμματισμού. Δείτε τον παρακάτω κώδικα:
1.1 Δημιουργήστε ένα σύμπλεγμα EKS
Εάν έχετε ήδη διαθέσιμο ένα σύμπλεγμα EKS, μπορείτε να μεταβείτε στην επόμενη ενότητα. Για αυτήν την ανάρτηση, χρησιμοποιούμε το έργο aws-do-eks για να δημιουργήσουμε το σύμπλεγμα μας.
- Πρώτα κλωνοποιήστε το έργο στον κατάλογο εργασίας σας
- Στη συνέχεια, κατασκευάστε και εκτελέστε το
aws-do-eks
δοχείο:Η
build.sh
Το σενάριο δημιουργεί μια εικόνα κοντέινερ Docker που διαθέτει όλα τα απαραίτητα εργαλεία και σενάρια για την παροχή και τη λειτουργία συμπλεγμάτων EKS. οrun.sh
Το σενάριο ξεκινά ένα κοντέινερ χρησιμοποιώντας την εικόνα Docker που δημιουργήθηκε και το διατηρεί, ώστε να μπορούμε να το χρησιμοποιήσουμε ως περιβάλλον διαχείρισης EKS. Για να δείτε την κατάστασή σαςaws-do-eks
δοχείο, μπορείτε να τρέξετε./status.sh
. Εάν το κοντέινερ βρίσκεται σε κατάσταση Έξοδος, μπορείτε να χρησιμοποιήσετε το./start.sh
script για να ανεβάσετε το κοντέινερ ή για να επανεκκινήσετε το κοντέινερ, μπορείτε να εκτελέσετε./stop.sh
ακολουθούμενη από./run.sh
. - Ανοίξτε ένα κέλυφος στο τρέξιμο
aws-do-eks
δοχείο: - Για να ελέγξετε τη διαμόρφωση του συμπλέγματος EKS για την ανάπτυξη του KubeFlow, εκτελέστε την ακόλουθη εντολή:
Από προεπιλογή, αυτή η διαμόρφωση δημιουργεί ένα σύμπλεγμα με όνομα
eks-kubeflow
στοus-west-2
Περιοχή με έξι m5.xlarge κόμβους. Επίσης, η κρυπτογράφηση τόμων EBS δεν είναι ενεργοποιημένη από προεπιλογή. Μπορείτε να το ενεργοποιήσετε προσθέτοντας"volumeEncrypted: true"
στην ομάδα κόμβων και θα κρυπτογραφήσει χρησιμοποιώντας το προεπιλεγμένο κλειδί. Τροποποιήστε άλλες ρυθμίσεις διαμορφώσεων εάν χρειάζεται. - Για να δημιουργήσετε το σύμπλεγμα, εκτελέστε την ακόλουθη εντολή:
Η διαδικασία παροχής συμπλέγματος μπορεί να διαρκέσει έως και 30 λεπτά.
- Για να επαληθεύσετε ότι το σύμπλεγμα δημιουργήθηκε με επιτυχία, εκτελέστε την ακόλουθη εντολή:
Η έξοδος από την προηγούμενη εντολή για ένα σύμπλεγμα που δημιουργήθηκε με επιτυχία μοιάζει με τον ακόλουθο κώδικα:
Δημιουργήστε έναν τόμο EFS για την εργασία εκπαίδευσης του SageMaker
Σε αυτήν την περίπτωση χρήσης, επιταχύνετε την εργασία εκπαίδευσης του SageMaker εκπαιδεύοντας μοντέλα βαθιάς εκμάθησης από δεδομένα που είναι ήδη αποθηκευμένα στο Amazon EFS. Αυτή η επιλογή έχει το πλεονέκτημα της άμεσης εκκίνησης των εργασιών εκπαίδευσής σας από τα δεδομένα στο Amazon EFS χωρίς να απαιτείται μετακίνηση δεδομένων, με αποτέλεσμα ταχύτερους χρόνους έναρξης της εκπαίδευσης.
Δημιουργούμε έναν τόμο EFS και αναπτύσσουμε το πρόγραμμα οδήγησης EFS Container Storage Interface (CSI). Αυτό επιτυγχάνεται με ένα σενάριο ανάπτυξης που βρίσκεται στο /eks/deployment/csi/efs
μέσα στο aws-do-eks
δοχείο.
Αυτό το σενάριο προϋποθέτει ότι έχετε ένα σύμπλεγμα EKS στον λογαριασμό σας. Σειρά CLUSTER_NAME=
σε περίπτωση που έχετε περισσότερα από ένα σύμπλεγμα EKS.
Αυτό το σενάριο παρέχει έναν τόμο EFS και δημιουργεί στόχους προσάρτησης για τα υποδίκτυα του συμπλέγματος VPC. Στη συνέχεια, αναπτύσσει το πρόγραμμα οδήγησης EFS CSI και δημιουργεί το efs-sc
κατηγορία αποθήκευσης και efs-pv
επίμονος όγκος στο σύμπλεγμα EKS.
Μετά την επιτυχή ολοκλήρωση του σεναρίου, θα πρέπει να δείτε την έξοδο ως εξής:
Δημιουργήστε ένα τελικό σημείο Amazon S3 VPC
Χρησιμοποιείτε ένα ιδιωτικό VPC στο οποίο έχουν πρόσβαση η εργασία εκπαίδευσης του SageMaker και το σύστημα αρχείων EFS. Για να δώσετε στο σύμπλεγμα εκπαίδευσης SageMaker πρόσβαση στους κάδους S3 από το ιδιωτικό σας VPC, δημιουργείτε ένα τελικό σημείο VPC:
Μπορείτε τώρα να βγείτε από το aws-do-eks
κέλυφος δοχείου και προχωρήστε στην επόμενη ενότητα:
1.2 Αναπτύξτε το Kubeflow στο AWS στο Amazon EKS
Για να αναπτύξουμε το Kubeflow στο Amazon EKS, χρησιμοποιούμε το έργο aws-do-kubeflow.
- Κλωνοποιήστε το αποθετήριο χρησιμοποιώντας τις ακόλουθες εντολές:
- Στη συνέχεια διαμορφώστε το έργο:
Αυτό το σενάριο ανοίγει το αρχείο διαμόρφωσης του έργου σε ένα πρόγραμμα επεξεργασίας κειμένου. Είναι σημαντικό για AWS_REGION να οριστεί στην περιοχή στην οποία βρίσκεται το σύμπλεγμα σας, καθώς και AWS_CLUSTER_NAME για να ταιριάζει με το όνομα του συμπλέγματος που δημιουργήσατε νωρίτερα. Από προεπιλογή, η διαμόρφωσή σας έχει ήδη ρυθμιστεί σωστά, επομένως εάν δεν χρειάζεται να κάνετε αλλαγές, απλώς κλείστε το πρόγραμμα επεξεργασίας.
Η
build.sh
Το σενάριο δημιουργεί μια εικόνα κοντέινερ Docker που διαθέτει όλα τα απαραίτητα εργαλεία για την ανάπτυξη και τη διαχείριση του Kubeflow σε ένα υπάρχον σύμπλεγμα Kubernetes. οrun.sh
Το σενάριο ξεκινά ένα κοντέινερ, χρησιμοποιώντας την εικόνα Docker και το σενάριο exec.sh ανοίγει ένα κέλυφος εντολών στο κοντέινερ, το οποίο μπορούμε να χρησιμοποιήσουμε ως περιβάλλον διαχείρισης Kubeflow. Μπορείτε να χρησιμοποιήσετε το./status.sh
σενάριο για να δούμε αν τοaws-do-kubeflow
το δοχείο είναι σε λειτουργία και το./stop.sh
και./run.sh
σενάρια για επανεκκίνηση όπως απαιτείται. - Αφού ανοίξετε ένα κέλυφος στο
aws-do-eks
κοντέινερ, μπορείτε να επαληθεύσετε ότι το διαμορφωμένο περιβάλλον συμπλέγματος είναι το αναμενόμενο: - Για να αναπτύξετε το Kubeflow στο σύμπλεγμα EKS, εκτελέστε το
deploy.sh
γραφή:Η ανάπτυξη είναι επιτυχής όταν όλα τα pod στον χώρο ονομάτων kubeflow εισέλθουν σε κατάσταση εκτέλεσης. Μια τυπική έξοδος μοιάζει με τον ακόλουθο κώδικα:
- Για να παρακολουθήσετε την κατάσταση των pods KubeFlow, σε ξεχωριστό παράθυρο, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή:
- Τύπος Ctrl + C όταν όλα τα pods εκτελούνται, τότε εκθέστε τον πίνακα εργαλείων Kubeflow έξω από το σύμπλεγμα εκτελώντας την ακόλουθη εντολή:
Θα πρέπει να δείτε έξοδο που μοιάζει με τον ακόλουθο κώδικα:
Αυτή η θύρα εντολής προωθεί την υπηρεσία πύλης εισόδου Istio από το σύμπλεγμα στην τοπική θύρα 8080. Για πρόσβαση στον πίνακα εργαλείων Kubeflow, επισκεφτείτε http://localhost:8080 και συνδεθείτε χρησιμοποιώντας τα προεπιλεγμένα διαπιστευτήρια χρήστη (user@example.com/12341234). Εάν εκτελείτε το aws-do-kubeflow
κοντέινερ στο AWS Cloud9, τότε μπορείτε να επιλέξετε Προβολή, κατόπιν επιλέξτε Προεπισκόπηση Εκτελούμενη εφαρμογή. Εάν εκτελείτε σε Docker Desktop, ίσως χρειαστεί να εκτελέσετε το ./kubeflow-expose.sh
σενάριο έξω από το aws-do-kubeflow
δοχείο.
2. Ρυθμίστε το περιβάλλον Kubeflow σε AWS
Για να ρυθμίσετε το Kubeflow σε περιβάλλον AWS, δημιουργούμε έναν τόμο EFS και ένα σημειωματάριο Jupyter.
2.1 Δημιουργήστε έναν τόμο EFS
Για να δημιουργήσετε έναν τόμο EFS, ολοκληρώστε τα παρακάτω βήματα:
- Στον πίνακα εργαλείων Kubeflow, επιλέξτε Τόμοι στο παράθυρο πλοήγησης.
- Επιλέξτε Νέος τόμος.
- Για Όνομα, εισαγω
efs-sc-claim
. - Για Μέγεθος όγκου, εισαγω
10
. - Για Κατηγορία αποθήκευσης, επιλέξτε efs-sc.
- Για Λειτουργία πρόσβασης, επιλέξτε ReadWriteOnce.
- Επιλέξτε Δημιουργία.
2.2 Δημιουργήστε ένα σημειωματάριο Jupyter
Για να δημιουργήσετε ένα νέο σημειωματάριο, ολοκληρώστε τα παρακάτω βήματα:
- Στον πίνακα εργαλείων Kubeflow, επιλέξτε Φορητοί υπολογιστές στο παράθυρο πλοήγησης.
- Επιλέξτε Νέο σημειωματάριο.
- Για Όνομα, εισαγω
aws-hybrid-nb
. - Για Εικόνα Jupyter Docket, επιλέξτε την εικόνα
c9e4w0g3/notebook-servers/jupyter-pytorch:1.11.0-cpu-py38-ubuntu20.04-e3-v1.1
(η πιο πρόσφατη διαθέσιμη εικόνα DLC του jupyter-pytorch). - Για CPU, εισαγω
1
. - Για Μνήμη, εισαγω
5
. - Για GPU, αφήστε ως Κανένας.
- Μην κάνετε καμία αλλαγή στο Ένταση χώρου εργασίας τμήμα.
- Στο Τόμοι δεδομένων τμήμα, επιλέξτε Επισυνάψτε τον υπάρχοντα τόμο και αναπτύξτε την ενότητα Υπάρχον τόμο
- Για Όνομα, επιλέξτε
efs-sc-claim
. - Για Μονοπάτι του βουνού, εισαγω
/home/jovyan/efs-sc-claim
.
Αυτό προσαρτά τον τόμο EFS στην ομάδα φορητού υπολογιστή Jupyter και μπορείτε να δείτε τον φάκελοefs-sc-claim
στη διεπαφή εργαστηρίου Jupyter. Αποθηκεύετε το σύνολο δεδομένων εκπαίδευσης και τον κώδικα εκπαίδευσης σε αυτόν τον φάκελο, ώστε τα συμπλέγματα εκπαίδευσης να έχουν πρόσβαση σε αυτά χωρίς να χρειάζεται να δημιουργήσετε ξανά τις εικόνες του κοντέινερ για δοκιμή. - Αγορά Επιτρέψτε την πρόσβαση στους αγωγούς Kubeflow στην ενότητα Διαμόρφωση.
- Επιλέξτε Εκκίνηση.
Βεβαιωθείτε ότι το σημειωματάριό σας δημιουργήθηκε με επιτυχία (μπορεί να χρειαστούν μερικά λεπτά). - Στις Φορητοί υπολογιστές σελίδα, επιλέξτε Connect για να συνδεθείτε στο περιβάλλον JupyterLab.
- Στις Git μενού, επιλέξτε Κλωνοποιήστε ένα αποθετήριο.
- Για Κλωνοποιήστε ένα repo, εισαγω
https://github.com/aws-samples/aws-do-kubeflow
.
3. Εκτελέστε κατανεμημένη εκπαίδευση
Αφού ρυθμίσετε το σημειωματάριο Jupyter, μπορείτε να εκτελέσετε ολόκληρη την επίδειξη χρησιμοποιώντας τα ακόλουθα βήματα υψηλού επιπέδου από το φάκελο aws-do-kubeflow/workshop
στο κλωνοποιημένο αποθετήριο:
- Σενάριο εκπαίδευσης PyTorch Distributed Data Parallel (DDP): Ανατρέξτε στο σενάριο εκπαίδευσης PyTorch DDP cifar10-distributed-gpu-final.py, το οποίο περιλαμβάνει ένα δείγμα συνελικτικού νευρωνικού δικτύου και λογική για τη διανομή εκπαίδευσης σε ένα σύμπλεγμα CPU και GPU πολλαπλών κόμβων. (Ανατρέξτε στο 3.1 για λεπτομέρειες)
- Εγκαταστήστε βιβλιοθήκες: Εκτελέστε το σημειωματάριο
0_initialize_dependencies.ipynb
για να αρχικοποιήσετε όλες τις εξαρτήσεις. (Ανατρέξτε στο 3.2 για λεπτομέρειες) - Εκτελέστε διανεμημένη εκπαίδευση εργασίας PyTorch στο Kubernetes: Εκτελέστε το σημειωματάριο
1_submit_pytorchdist_k8s.ipynb
για να δημιουργήσετε και να υποβάλετε κατανεμημένη εκπαίδευση σε ένα κύριο και δύο κοντέινερ εργασίας χρησιμοποιώντας τον προσαρμοσμένο πόρο PyTorchJob YAML του Kubernetes χρησιμοποιώντας κώδικα Python. (Ανατρέξτε στο 3.3 για λεπτομέρειες) - Δημιουργήστε έναν υβριδικό αγωγό Kubeflow: Εκτελέστε το σημειωματάριο
2_create_pipeline_k8s_sagemaker.ipynb
για τη δημιουργία του υβριδικού αγωγού Kubeflow που εκτελεί κατανεμημένη εκπαίδευση είτε στο SageMaker είτε στο Amazon EKS χρησιμοποιώντας τη μεταβλητή χρόνου εκτέλεσηςtraining_runtime
. (Ανατρέξτε στο 3.4 για λεπτομέρειες)
Βεβαιωθείτε ότι έχετε τρέξει το σημειωματάριο 1_submit_pytorchdist_k8s.ipynb
πριν ξεκινήσετε το σημειωματάριο 2_create_pipeline_k8s_sagemaker.ipynb
.
Στις επόμενες ενότητες, θα συζητήσουμε κάθε ένα από αυτά τα βήματα λεπτομερώς.
3.1 Σενάριο εκπαίδευσης PyTorch Distributed Data Parallel(DDP).
Ως μέρος της κατανεμημένης εκπαίδευσης, εκπαιδεύουμε ένα μοντέλο ταξινόμησης που δημιουργήθηκε από ένα απλό συνελικτικό νευρωνικό δίκτυο που λειτουργεί στο σύνολο δεδομένων CIFAR10. Το σενάριο εκπαίδευσης cifar10-distributed-gpu-final.py
περιέχει μόνο τις βιβλιοθήκες ανοιχτού κώδικα και είναι συμβατό για εκτέλεση τόσο σε συμπλέγματα εκπαίδευσης Kubernetes και SageMaker είτε σε συσκευές GPU είτε σε παρουσίες CPU. Ας δούμε μερικές σημαντικές πτυχές του σεναρίου εκπαίδευσης προτού εκτελέσουμε τα παραδείγματα του σημειωματάριου μας.
Χρησιμοποιούμε το torch.distributed
ενότητα, η οποία περιέχει υποστήριξη PyTorch και πρωτόγονα επικοινωνίας για παραλληλισμό πολλαπλών διεργασιών μεταξύ κόμβων στο σύμπλεγμα:
Δημιουργούμε ένα απλό μοντέλο ταξινόμησης εικόνων χρησιμοποιώντας έναν συνδυασμό συνελικτικών, μέγιστων ομαδοποιήσεων και γραμμικών επιπέδων στα οποία εφαρμόζεται μια συνάρτηση ενεργοποίησης επαναλαμβανόμενης στο εμπρός πέρασμα της εκπαίδευσης του μοντέλου:
Χρησιμοποιούμε τον φακό DataLoader που συνδυάζει το σύνολο δεδομένων και DistributedSampler
(φορτώνει ένα υποσύνολο δεδομένων με κατανεμημένο τρόπο χρησιμοποιώντας torch.nn.parallel.DistributedDataParallel
) και παρέχει έναν επαναλήπτη μιας διαδικασίας ή πολλαπλών διεργασιών στα δεδομένα:
Εάν το εκπαιδευτικό σύμπλεγμα έχει GPU, το σενάριο εκτελεί την εκπαίδευση σε συσκευές CUDA και η μεταβλητή συσκευής διατηρεί την προεπιλεγμένη συσκευή CUDA:
Πριν εκτελέσετε κατανεμημένη εκπαίδευση χρησιμοποιώντας το PyTorch DistributedDataParallel
για να εκτελέσετε κατανεμημένη επεξεργασία σε πολλούς κόμβους, πρέπει να αρχικοποιήσετε το κατανεμημένο περιβάλλον καλώντας init_process_group
. Αυτό αρχικοποιείται σε κάθε μηχανή του εκπαιδευτικού συμπλέγματος.
Δημιουργούμε το μοντέλο του ταξινομητή και αντιγράφουμε πάνω από το μοντέλο στη συσκευή προορισμού. Εάν η κατανεμημένη εκπαίδευση είναι ενεργοποιημένη για εκτέλεση σε πολλούς κόμβους, το DistributedDataParallel
Η κλάση χρησιμοποιείται ως αντικείμενο περιτυλίγματος γύρω από το αντικείμενο μοντέλου, το οποίο επιτρέπει τη σύγχρονη κατανεμημένη εκπαίδευση σε πολλαπλές μηχανές. Τα δεδομένα εισόδου χωρίζονται στη διάσταση παρτίδας και ένα αντίγραφο του μοντέλου τοποθετείται σε κάθε μηχανή και κάθε συσκευή.
3.2 Εγκατάσταση βιβλιοθηκών
Θα εγκαταστήσετε όλες τις απαραίτητες βιβλιοθήκες για την εκτέλεση του παραδείγματος κατανεμημένης εκπαίδευσης PyTorch. Αυτό περιλαμβάνει Kubeflow Pipelines SDK, Training Operator Python SDK, Python client για Kubernetes και Amazon SageMaker Python SDK.
3.3 Εκτελέστε διανεμημένη εκπαίδευση εργασίας PyTorch στο Kubernetes
Το σημειωματάριο 1_submit_pytorchdist_k8s.ipynb
δημιουργεί τον προσαρμοσμένο πόρο Kubernetes PyTorchJob αρχείο YAML χρησιμοποιώντας την εκπαίδευση Kubeflow και τον πελάτη Kubernetes Python SDK. Ακολουθούν μερικά σημαντικά αποσπάσματα από αυτό το σημειωματάριο.
Δημιουργούμε το PyTorchJob YAML με τα κύρια κοντέινερ και τα κοντέινερ εργασίας όπως φαίνεται στον ακόλουθο κώδικα:
Αυτό υποβάλλεται στο επίπεδο ελέγχου Kubernetes χρησιμοποιώντας PyTorchJobClient
:
Δείτε τα αρχεία καταγραφής εκπαίδευσης Kubernetes
Μπορείτε να δείτε τα αρχεία καταγραφής εκπαίδευσης είτε από το ίδιο σημειωματάριο Jupyter χρησιμοποιώντας κώδικα Python είτε από το κέλυφος πελάτη Kubernetes.
3.4 Δημιουργήστε έναν υβριδικό αγωγό Kubeflow
Το σημειωματάριο 2_create_pipeline_k8s_sagemaker.ipynb
δημιουργεί έναν υβριδικό αγωγό Kubeflow που βασίζεται σε μεταβλητή χρόνου εκτέλεσης υπό όρους training_runtime
, όπως φαίνεται στον παρακάτω κώδικα. Το σημειωματάριο χρησιμοποιεί το Kubeflow Pipelines SDK και παρέχεται ένα σύνολο πακέτων Python για τον καθορισμό και την εκτέλεση των αγωγών ροής εργασίας ML. Ως μέρος αυτού του SDK, χρησιμοποιούμε τα ακόλουθα πακέτα:
- Ο διακοσμητής πακέτου για συγκεκριμένη γλώσσα (DSL).
dsl.pipeline
, το οποίο διακοσμεί τις συναρτήσεις Python για να επιστρέψει μια διοχέτευση - Η
dsl.Condition
πακέτο, το οποίο αντιπροσωπεύει μια ομάδα λειτουργιών που εκτελούνται μόνο όταν πληρούται μια συγκεκριμένη συνθήκη, όπως ο έλεγχος τουtraining_runtime
αξία ωςsagemaker
orkubernetes
Δείτε τον ακόλουθο κώδικα:
Διαμορφώνουμε την κατανεμημένη εκπαίδευση του SageMaker χρησιμοποιώντας δύο περιπτώσεις ml.p3.2xlarge.
Αφού οριστεί ο αγωγός, μπορείτε να μεταγλωττίσετε τον αγωγό σε μια προδιαγραφή Argo YAML χρησιμοποιώντας το Kubeflow Pipelines SDK's kfp.compiler
πακέτο. Μπορείτε να εκτελέσετε αυτόν τον αγωγό χρησιμοποιώντας τον πελάτη Kubeflow Pipeline SDK, ο οποίος καλεί το τελικό σημείο της υπηρεσίας Pipelines και περνά στις κατάλληλες κεφαλίδες ελέγχου ταυτότητας απευθείας από το σημειωματάριο. Δείτε τον παρακάτω κώδικα:
Εάν λάβετε ένα sagemaker import
σφάλμα, εκτελέστε το !pip install Sagemaker και επανεκκινήστε τον πυρήνα (στο Πυρήνας μενού, επιλέξτε Επανεκκινήστε τον πυρήνα).
Επιλέξτε Λεπτομέρειες εκτέλεσης σύνδεσμος κάτω από το τελευταίο κελί για να προβάλετε τη σωλήνωση Kubeflow.
Επαναλάβετε το βήμα δημιουργίας αγωγού με training_runtime='kubernetes'
για να δοκιμάσετε τον αγωγό που εκτελείται σε περιβάλλον Kubernetes. ο training_runtime
μεταβλητή μπορεί επίσης να περάσει στη διοχέτευση CI/CD σε ένα σενάριο παραγωγής.
Προβάλετε τα αρχεία καταγραφής εκτέλεσης του αγωγού Kubeflow για το στοιχείο SageMaker
Το παρακάτω στιγμιότυπο οθόνης δείχνει τις λεπτομέρειες της διοχέτευσης για το στοιχείο SageMaker.
Επιλέξτε το βήμα εργασίας εκπαίδευσης και στο Logs καρτέλα, επιλέξτε το σύνδεσμο καταγραφής CloudWatch για να αποκτήσετε πρόσβαση στα αρχεία καταγραφής του SageMaker.
Το ακόλουθο στιγμιότυπο οθόνης δείχνει τα αρχεία καταγραφής του CloudWatch για καθεμία από τις δύο περιπτώσεις ml.p3.2xlarge.
Επιλέξτε οποιαδήποτε από τις ομάδες για να δείτε τα αρχεία καταγραφής.
Προβάλετε τα αρχεία καταγραφής εκτέλεσης του αγωγού Kubeflow για το στοιχείο Kubeflow PyTorchJob Launcher
Το ακόλουθο στιγμιότυπο οθόνης δείχνει τις λεπτομέρειες του αγωγού για το στοιχείο Kubeflow.
Εκτελέστε τις παρακάτω εντολές χρησιμοποιώντας Kubectl
στο κέλυφος του προγράμματος-πελάτη Kubernetes που είναι συνδεδεμένο με το σύμπλεγμα Kubernetes για να δείτε τα αρχεία καταγραφής (αντικαταστήστε τον χώρο ονομάτων σας και τα ονόματα pod):
4.1 Καθαρίστε
Για να καθαρίσουμε όλους τους πόρους που δημιουργήσαμε στον λογαριασμό, πρέπει να τους αφαιρέσουμε με αντίστροφη σειρά.
- Διαγράψτε την εγκατάσταση του Kubeflow εκτελώντας
./kubeflow-remove.sh
στοaws-do-kubeflow
δοχείο. Το πρώτο σύνολο εντολών είναι προαιρετικό και μπορεί να χρησιμοποιηθεί σε περίπτωση που δεν έχετε ήδη ένα κέλυφος εντολών στο δικό σαςaws-do-kubeflow
δοχείο ανοιχτό. - Από το
aws-do-eks
φάκελο κοντέινερ, αφαιρέστε τον τόμο EFS. Το πρώτο σύνολο εντολών είναι προαιρετικό και μπορεί να χρησιμοποιηθεί σε περίπτωση που δεν έχετε ήδη ένα κέλυφος εντολών στο δικό σαςaws-do-eks
δοχείο ανοιχτό.Η διαγραφή του Amazon EFS είναι απαραίτητη για την απελευθέρωση της διεπαφής δικτύου που σχετίζεται με το VPC που δημιουργήσαμε για το σύμπλεγμα μας. Σημειώστε ότι η διαγραφή του τόμου EFS καταστρέφει τυχόν δεδομένα που είναι αποθηκευμένα σε αυτόν.
- Από το
aws-do-eks
δοχείο, τρέξτε τοeks-delete.sh
δέσμη ενεργειών για τη διαγραφή του συμπλέγματος και τυχόν άλλων πόρων που σχετίζονται με αυτό, συμπεριλαμβανομένου του VPC:
Χαρακτηριστικά
Σε αυτήν την ανάρτηση, συζητήσαμε μερικές από τις τυπικές προκλήσεις της εκπαίδευσης κατανεμημένων μοντέλων και των ροών εργασίας ML. Δώσαμε μια επισκόπηση του Kubeflow στη διανομή AWS και μοιραστήκαμε δύο έργα ανοιχτού κώδικα (αυς-ντο-εκς και aws-do-kubeflow) που απλοποιούν την παροχή της υποδομής και την ανάπτυξη του Kubeflow σε αυτήν. Τέλος, περιγράψαμε και επιδείξαμε μια υβριδική αρχιτεκτονική που επιτρέπει στους φόρτους εργασίας να μεταβαίνουν απρόσκοπτα μεταξύ της εκτέλεσης σε ένα αυτοδιαχειριζόμενο Kubernetes και της πλήρως διαχειριζόμενης υποδομής SageMaker. Σας ενθαρρύνουμε να χρησιμοποιήσετε αυτήν την υβριδική αρχιτεκτονική για δικές σας περιπτώσεις.
Μπορείτε να ακολουθήσετε το Αποθετήριο AWS Labs για να παρακολουθείτε όλες τις συνεισφορές AWS στο Kubeflow. Μπορείτε επίσης να μας βρείτε στο Kubeflow #AWS Slack Channel; Τα σχόλιά σας εκεί θα μας βοηθήσουν να δώσουμε προτεραιότητα στις επόμενες δυνατότητες που θα συνεισφέρουμε στο έργο Kubeflow.
Ιδιαίτερες ευχαριστίες στον Sree Arasanagatta (Διευθυντής Ανάπτυξης Λογισμικού AWS ML) και τον Suraj Kota (Μηχανικός προγραμματιστή λογισμικού) για την υποστήριξή τους στην κυκλοφορία αυτής της ανάρτησης.
Σχετικά με τους συγγραφείς
Kanwaljit Khurmi είναι Αρχιτέκτονας Ειδικών Λύσεων AI/ML στο Amazon Web Services. Συνεργάζεται με το προϊόν, τη μηχανική και τους πελάτες AWS για να παρέχει καθοδήγηση και τεχνική βοήθεια βοηθώντας τους να βελτιώσουν την αξία των υβριδικών λύσεων ML τους όταν χρησιμοποιούν AWS. Η Kanwaljit ειδικεύεται στο να βοηθά τους πελάτες με εφαρμογές κοντέινερ και μηχανικής εκμάθησης.
Γκαουτάμ Κουμάρ είναι Μηχανικός Λογισμικού με AWS AI Deep Learning. Έχει αναπτύξει AWS Deep Learning Containers και AWS Deep Learning AMI. Είναι παθιασμένος με την κατασκευή εργαλείων και συστημάτων για AI. Στον ελεύθερο χρόνο του, του αρέσει να κάνει ποδήλατο και να διαβάζει βιβλία.
Άλεξ Ιανκούλσκι είναι ένας πλήρης αρχιτέκτονας λογισμικού και υποδομής που του αρέσει να κάνει βαθιά, πρακτική δουλειά. Αυτή τη στιγμή είναι Κύριος Αρχιτέκτονας Λύσεων για Αυτοδιαχειριζόμενη Μηχανική Μάθηση στο AWS. Στο ρόλο του εστιάζει στο να βοηθά τους πελάτες με τη δημιουργία εμπορευματοκιβωτίων και την ενορχήστρωση φόρτου εργασίας ML και AI σε υπηρεσίες AWS που λειτουργούν με κοντέινερ. Είναι επίσης ο συγγραφέας του ανοιχτού κώδικα Κάντε πλαίσιο και ένας καπετάνιος Docker που λατρεύει να εφαρμόζει τεχνολογίες εμπορευματοκιβωτίων για να επιταχύνει τον ρυθμό της καινοτομίας επιλύοντας παράλληλα τις μεγαλύτερες προκλήσεις του κόσμου. Τα τελευταία 10 χρόνια, ο Alex έχει εργαστεί για την καταπολέμηση της κλιματικής αλλαγής, τον εκδημοκρατισμό της τεχνητής νοημοσύνης και του ML, κάνοντας τα ταξίδια ασφαλέστερα, την υγειονομική περίθαλψη καλύτερη και την ενέργεια πιο έξυπνη.
- Για προχωρημένους (300)
- AI
- αι τέχνη
- ι γεννήτρια τέχνης
- ρομπότ ai
- Σύστημα αρχείων ελαστικού Amazon (EFS)
- Υπηρεσία Amazon Elastic Kubernetes
- Amazon Sage Maker
- τεχνητή νοημοσύνη
- πιστοποίηση τεχνητής νοημοσύνης
- τεχνητή νοημοσύνη στον τραπεζικό τομέα
- ρομπότ τεχνητής νοημοσύνης
- ρομπότ τεχνητής νοημοσύνης
- λογισμικό τεχνητής νοημοσύνης
- AWS Cloud9
- Μηχανική εκμάθηση AWS
- blockchain
- συνέδριο blockchain ai
- Coingenius
- συνομιλητική τεχνητή νοημοσύνη
- κρυπτοσυνεδριο αι
- Λύσεις πελατών
- του νταλ
- βαθιά μάθηση
- έχεις google
- μάθηση μηχανής
- Πλάτων
- πλάτων αι
- Πληροφορία δεδομένων Plato
- Παιχνίδι Πλάτωνας
- Πλάτωνα δεδομένα
- platogaming
- PyTorch στο AWS
- κλίμακα αι
- σύνταξη
- zephyrnet