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

Συλλογική Επικοινωνία και NCCL

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

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

Επισκόπηση

Operations like all-reduce are the heartbeat of distributed training, synchronizing gradients across every GPU each step.

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

Η εκπαίδευση ενός μεγάλου μοντέλου σημαίνει ότι κάθε GPU υπολογίζει τις διαβαθμίσεις στο δικό της τμήμα δεδομένων και, στη συνέχεια, όλες οι GPU πρέπει να συμφωνήσουν σε ένα συνδυασμένο αποτέλεσμα πριν από το επόμενο βήμα. Αυτός ο συντονισμός γίνεται με συλλογικές λειτουργίες: μειώνει πλήρως τις τιμές των αθροισμάτων σε όλες τις GPU και δίνει σε όλους το αποτέλεσμα. Το all-gather συλλέγει το κομμάτι κάθε GPU σε ένα πλήρες αντίγραφο σε όλα. Η εκπομπή στέλνει τα δεδομένα μιας GPU στις υπόλοιπες. Συνδυάζει μείωση-σκέδαση και στη συνέχεια διασπάται. Το NCCL (NVIDIA Collective Communications Library) τα εφαρμόζει αποτελεσματικά σε GPU σε διακομιστή και σε διακομιστές, χρησιμοποιώντας αλγόριθμους με επίγνωση της τοπολογίας, όπως το ring and tree all-reduce. Εκμεταλλεύεται το NVLink μέσα σε έναν κόμβο και το InfiniBand ή το RoCE μεταξύ των κόμβων και είναι η ραχοκοκαλιά επικοινωνίας στα PyTorch DDP, FSDP, DeepSpeed ​​και Megatron.

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

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

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

Κόστος και προϋπολογισμός

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

Σαφέστερες αποφάσεις

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

Ελεγχος ποιότητας

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

Το Μέλλον της Συλλογικής Επικοινωνίας και NCCL

Καθώς τα συμπλέγματα κλιμακώνονται σε εκατοντάδες χιλιάδες GPU, η επικοινωνία κυριαρχεί ολοένα και περισσότερο στον χρόνο εκπαίδευσης, έτσι οι συλλογικές βιβλιοθήκες αποτελούν ένα καυτό σύνορο. Αναμένετε βαθύτερο υπολογισμό εντός δικτύου (διακόπτες που κάνουν τη μείωση), καλύτερη επικάλυψη υπολογισμού και επικοινωνίας για απόκρυψη λανθάνοντος χρόνου και συλλογικότητες χαμηλότερης ακρίβειας που συρρικνώνουν τα κινούμενα byte. Ο ανταγωνισμός αυξάνεται επίσης, με τις προσπάθειες μεταξύ προμηθευτών και το RDMA που βασίζεται σε Ethernet να πιέζει εναλλακτικές λύσεις, ενώ το NCCL συνεχίζει να ενισχύει την ενσωμάτωση με το NVLink, το NVSwitch και τα αναδυόμενα οπτικά υφάσματα.

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

Συγχρονισμός διαβαθμίσεων σε κάθε βήμα εκπαίδευσης σε όλες τις GPU χρησιμοποιώντας all-reduce στο PyTorch DistributedDataParallel

Διαμοιρασμός καταστάσεων βελτιστοποίησης και συλλογή παραμέτρων κατ' απαίτηση με all-gather and reduce-scatter σε FSDP ή DeepSpeed ZeRO

Μετάδοση των βαρών του αρχικού μοντέλου από τη μία GPU σε όλες τις άλλες κατά την έναρξη μιας εκπαίδευσης

Χρησιμοποιώντας το ring all-reduce μέσω NVLink και InfiniBand για να διατηρήσετε το εύρος ζώνης υψηλό σε συμπλέγματα GPU πολλαπλών κόμβων

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

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

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

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

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

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 Collective Communication and NCCL 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

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

Διαδικτυακή και εκτός σύνδεσης δυνατότητα προβολής Skew

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

What is Collective Communication and NCCL?

Η συλλογική επικοινωνία είναι ο τρόπος με τον οποίο μια ομάδα GPU ανταλλάσσει και συνδυάζει δεδομένα, και το NCCL είναι η βιβλιοθήκη της NVIDIA που κάνει αυτές τις ανταλλαγές απίστευτα γρήγορες. Λειτουργίες όπως το all-reduce είναι ο καρδιακός παλμός της κατανεμημένης εκπαίδευσης, συγχρονίζοντας τις κλίσεις σε κάθε GPU σε κάθε βήμα.

Τι επιτυγχάνει μια λειτουργία ολικής μείωσης στην κατανεμημένη εκπαίδευση;

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

Τι σημαίνει το αρκτικόλεξο NCCL;

Το NCCL είναι η NVIDIA Collective Communications Library, η οποία υλοποιεί γρήγορες συλλογικές λειτουργίες πολλαπλών GPU και πολλαπλών κόμβων.

Γιατί το ring all-reduce θεωρείται το βέλτιστο εύρος ζώνης;

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

Ποια συλλογική λειτουργία συγκεντρώνει τα δεδομένα κάθε GPU σε ένα πλήρες αντίγραφο που διατηρούν όλες οι GPU;

Το All-gather συλλέγει τα ξεχωριστά κομμάτια από κάθε GPU και συναρμολογεί το πλήρες σετ σε όλα αυτά, που χρησιμοποιούνται σε μεγάλο βαθμό σε shaded training όπως το FSDP.

Τι κάνει η NVIDIA SHARP για συλλογικές λειτουργίες;

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