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

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

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

2 λεπτά ανάγνωσηΤελευταία ενημέρωση

Επισκόπηση

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

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

Κατασκευάστηκε αρχικά στο 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

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

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

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

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

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

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

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

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

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

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

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

1

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

2

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

3

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

4

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

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

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Kubernetes for ML Workloads quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Έναρξη κουίζ

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Επόμενος οδηγός

Δοκιμή A/B για μοντέλα ML

Συχνές ερωτήσεις

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

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

Ποια είναι η κύρια εργασία του χρονοπρογραμματιστή Kubernetes για φόρτους εργασίας ML;

Ο προγραμματιστής αντιστοιχίζει τα αιτήματα πόρων ενός pod (CPU, μνήμη, GPU) με διαθέσιμους κόμβους και τοποθετεί το pod όπου ταιριάζει. Δεν αγγίζει τον κωδικό μοντέλου ή τα δεδομένα.

Πώς το Kubernetes κάνει συνήθως τις GPU διαθέσιμες σε ένα pod;

Οι προσθήκες συσκευών εκθέτουν τις GPU ως προγραμματιζόμενο πόρο (π.χ. nvidia.com/gpu), επιτρέποντας στα pods να τις ζητούν και τη διαθεσιμότητα του χρονοπρογραμματιστή να παρακολουθεί.

Για ποιους λόγους χρησιμοποιούνται συνήθως οι κηλίδες και οι ανοχές σε ένα σύμπλεγμα ML;

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

Ποιο εργαλείο προσθέτει δυνατότητες ειδικές για ML, όπως χειριστές κατανεμημένης εκπαίδευσης πάνω από το Kubernetes;

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

Γιατί το Kubernetes είναι κατάλληλο για έντονο φόρτο εργασίας ML;

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