Τεχνικός ΟΔΗΓΟΣ

Kubernetes για φόρτους εργασίας ML

Το Kubernetes είναι ένα σύστημα ανοιχτού κώδικα που προγραμματίζει αυτόματα, κλιμακώνει και επανεκκινεί προγράμματα με κοντέινερ σε ένα σύμπλεγμα μηχανών.

Επισκόπηση

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

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

Βαθιά κατάδυση

Κατασκευάστηκε αρχικά στο Google για την εκτέλεση υπηρεσιών ιστού, το Kubernetes αντιμετωπίζει το σύμπλεγμα σας ως μια μεγάλη δεξαμενή CPU, μνήμης και GPU και, στη συνέχεια, αποφασίζει ποιο μηχάνημα εκτελεί κάθε κοντέινερ. Οι ομάδες ML στηρίζονται σε αυτό επειδή οι φόρτοι εργασίας είναι μεγάλοι και ακριβοί: μια εκτέλεση εκπαίδευσης μπορεί να χρειαστεί οκτώ GPU για έξι ώρες και μετά τίποτα. Το Kubernetes προγραμματίζει αυτό το pod σε έναν κόμβο με δωρεάν GPU και όταν τελειώσει η εργασία ελευθερώνει το υλικό. Διατηρεί επίσης ζωντανούς τους διακομιστές συμπερασμάτων, επανεκκινώντας τα κατεστραμμένα κοντέινερ και διαδίδοντας αντίγραφα σε μηχανήματα για ανθεκτικότητα. Εργαλεία χτισμένα πάνω, όπως το Kubeflow, το Ray και το KServe, προσθέτουν κομμάτια ειδικά για ML, όπως τελεστές κατανεμημένης εκπαίδευσης, συντονισμό υπερπαραμέτρων και αυτόματη κλιμάκωση τελικών σημείων μοντέλων, έτσι οι επιστήμονες δεδομένων εργάζονται με αφαιρέσεις υψηλότερου επιπέδου αντί για ακατέργαστες YAML.

Τεχνική διορατικότητα

Το Kubernetes εκχωρεί GPU μέσω προσθηκών συσκευής που διαφημίζουν πόρους όπως το nvidia.com/gpu, τους οποίους ο προγραμματιστής ταιριάζει με τα αιτήματα μιας ομάδας διαφημίσεων. Οι κηλίδες και οι ανοχές κρατούν τις φθηνές εργασίες CPU μακριά από ακριβούς κόμβους GPU, ενώ οι επιλογείς κόμβων και οι κανόνες συνάφειας καρφιτσώνουν την εκπαίδευση σε συγκεκριμένο υλικό. Για εκπαίδευση πολλαπλών GPU, οι χειριστές δημιουργούν μια ομάδα ομάδων που ανακαλύπτουν το ένα το άλλο και εκτελούν πλαίσια όπως το PyTorch DDP ή το Horovod, ανταλλάσσοντας διαβαθμίσεις μέσω του δικτύου συμπλέγματος χρησιμοποιώντας το NCCL.

Κατακτήστε το Kubernetes για φόρτους εργασίας ML

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

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

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

Στρατηγικός αντίκτυπος

Οι αποφάσεις για την αρχιτεκτονική καθορίζουν την απόδοση και το λειτουργικό κόστος για χρόνια.

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

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

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

Οι καλύτερες επιλογές μηχανικής μειώνουν τα περιστατικά αξιοπιστίας στην παραγωγή.

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

Το μέλλον του Kubernetes για φόρτους εργασίας ML

Αναμένετε πιο αυστηρή ενσωμάτωση ML: προγραμματισμός συμμοριών που εκκινεί όλα τα κατανεμημένα pods εκπαίδευσης ταυτόχρονα ή καθόλου, κλασματική και χρονικά διαχωρισμένη κοινή χρήση GPU, ώστε πολλές ελαφριές εργασίες να μοιράζονται μία κάρτα και τοποθέτηση με επίγνωση της τοπολογίας που σέβεται τις γρήγορες διασυνδέσεις NVLink. Το συμπέρασμα χωρίς διακομιστή στο Kubernetes, η κλιμάκωση των τελικών σημείων στο μηδέν μεταξύ των αιτημάτων, ωριμάζει. Καθώς τα μοντέλα κυκλοφορούν, οι προγραμματιστές συντονίζονται ολοένα και περισσότερο σε πολλαπλά συμπλέγματα και σύννεφα, και τα συστήματα δίκαιης κοινής χρήσης που βασίζονται σε ουρές, όπως το Kueue και το Volcano, γίνονται πρότυπο για τη διαχείριση της σπάνιας χωρητικότητας GPU.

Υλοποίηση σε πραγματικό κόσμο

Ένα ερευνητικό εργαστήριο χρησιμοποιεί το Kubeflow Training Operator για να ξεκινήσει μια εργασία κατανεμημένης εκπαίδευσης PyTorch 32 GPU σε τέσσερις κόμβους και στη συνέχεια ελευθερώνει αυτόματα τις GPU όταν συγκλίνει.

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

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

Μια startup χρησιμοποιεί το Ray στο Kubernetes για να εκτελέσει παράλληλες σαρώσεις υπερπαραμέτρων, περιστρέφοντας δεκάδες βραχύβιες δοκιμαστικές ομάδες σε επιτόπιες περιπτώσεις για να μειώσει το κόστος.

Πρότυπα Υλοποίησης

Kubernetes για φόρτους εργασίας ML στην πράξη

Ένα ερευνητικό εργαστήριο χρησιμοποιεί το Kubeflow Training Operator για να ξεκινήσει μια εργασία κατανεμημένης εκπαίδευσης PyTorch 32 GPU σε τέσσερις κόμβους και στη συνέχεια ελευθερώνει αυτόματα τις GPU όταν συγκλίνει.

Ένα ερευνητικό εργαστήριο χρησιμοποιεί τον χειριστή Kubeflow Training για να ξεκινήσει μια εργασία κατανεμημένης εκπαίδευσης PyTorch 32 GPU σε τέσσερις κόμβους και στη συνέχεια ελευθερώνει αυτόματα τις GPU όταν συγκλίνει.

Kubernetes για φόρτους εργασίας ML στην πράξη

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

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

Kubernetes για φόρτους εργασίας ML στην πράξη

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

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

Kubernetes για φόρτους εργασίας ML στην πράξη

Μια startup χρησιμοποιεί το Ray στο Kubernetes για να εκτελέσει παράλληλες σαρώσεις υπερπαραμέτρων, περιστρέφοντας δεκάδες βραχύβιες δοκιμαστικές ομάδες σε επιτόπιες περιπτώσεις για να μειώσει το κόστος.

Μια startup χρησιμοποιεί το Ray στο Kubernetes για να εκτελέσει παράλληλες σαρώσεις υπερπαραμέτρων, περιστρέφοντας δεκάδες βραχύβιες δοκιμαστικές ομάδες σε επιτόπιες περιπτώσεις για να μειώσει το κόστος.

Κίνδυνοι & προστατευτικά κιγκλιδώματα

!

Η βελτιστοποίηση ενός σημείου αναφοράς μπορεί να κρύψει ευρύτερες αδυναμίες του συστήματος.

!

Το κόστος υποδομής και συντήρησης συχνά υποτιμάται.

!

Τα κενά ασφάλειας και παρατηρητικότητας μπορούν να αυξηθούν καθώς τα συστήματα γίνονται πιο πολύπλοκα.

Οδικός Χάρτης Εφαρμογής

1

Καθορίστε τους στόχους καθυστέρησης, ποιότητας και κόστους πριν από την εφαρμογή.

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

2

Σημείο αναφοράς υπό ρεαλιστικές συνθήκες φορτίου και δεδομένων.

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

3

Παρακολούθηση οργάνου για σφάλματα, μετατόπιση και επιπτώσεις από τον χρήστη.

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

4

Προετοιμάστε διαδρομές επαναφοράς και απόκρισης συμβάντος πριν την κλιμάκωση.

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

Συνεχίστε την εξερεύνηση