Πλήρως Sharded Data Parallel
Το Fully Sharded Data Parallel (FSDP) είναι μια κατανεμημένη τεχνική εκπαίδευσης που χωρίζει τις παραμέτρους, τις διαβαθμίσεις και τις καταστάσεις βελτιστοποίησης ενός μοντέλου σε πολλές GPU, έτσι ώστε κάθε συσκευή να κρατά μόνο ένα κομμάτι.
Επισκόπηση
It makes training huge models possible on hardware that could never fit the whole model in one GPU's memory.
Βαθιά κατάδυση
Ο παραδοσιακός παραλληλισμός δεδομένων διατηρεί ένα πλήρες αντίγραφο του μοντέλου σε κάθε GPU, γεγονός που σπαταλά τη μνήμη και περιορίζει το μέγεθος του μοντέλου. Το FSDP, το οποίο διαδόθηκε από το PyTorch του Meta και εμπνεύστηκε από το ZeRO του Microsoft, αντ' αυτού διαχωρίζει τρία πράγματα σε όλες τις συσκευές: παραμέτρους, διαβαθμίσεις και καταστάσεις βελτιστοποίησης. Κατά τη διάρκεια της προώθησης, κάθε GPU συγκεντρώνει προσωρινά τα πλήρη βάρη για το επίπεδο που υπολογίζει μέσω ενός all-gather, εκτελεί τον υπολογισμό και, στη συνέχεια, ελευθερώνει αμέσως το συγκεντρωμένο αντίγραφο. Το πέρασμα προς τα πίσω λειτουργεί με παρόμοιο τρόπο, ακολουθούμενο από μια μείωση διασποράς που διανέμει τα τεμάχια διαβάθμισης πίσω στις GPU που κατέχουν. Επειδή κάθε συσκευή αποθηκεύει μόνιμα μόνο ένα κλάσμα του μοντέλου, η χρήση μνήμης μειώνεται κατά προσέγγιση γραμμικά με τον αριθμό των GPU, επιτρέποντας στις ομάδες να εκπαιδεύουν μοντέλα με δεκάδες ή εκατοντάδες δισεκατομμύρια παραμέτρους.
Τεχνική διορατικότητα
Το FSDP ανταλλάσσει επιπλέον επικοινωνία για εξοικονόμηση μνήμης. Τα βάρη κάθε στρώματος ανακατασκευάζονται κατ' απαίτηση με ένα all-gather ακριβώς πριν από τη χρήση και απορρίπτονται αμέσως μετά, ενώ οι διαβαθμίσεις συνδυάζονται και χωρίζονται με μείωση-σκέδαση. Η επικοινωνία μπορεί να επικαλύπτεται με τον υπολογισμό, λαμβάνοντας εκ των προτέρων τις παραμέτρους του επόμενου επιπέδου ενώ εκτελείται το τρέχον επίπεδο, κρύβοντας μεγάλο μέρος του λανθάνοντος χρόνου δικτύου. Ο συντονισμός της ευκρίνειας διαμοιρασμού (πολιτική αναδίπλωσης) εξισορροπεί το αποτύπωμα της μνήμης έναντι του γενικού κόστους επικοινωνίας.
Στρατηγικός αντίκτυπος
Κόστος και προϋπολογισμός
Οι αποφάσεις για την αρχιτεκτονική καθορίζουν την απόδοση και το λειτουργικό κόστος για χρόνια.
Σαφέστερες αποφάσεις
Η τεχνική εκπαίδευση βοηθά τις ομάδες να επιλέξουν τη σωστή στοίβα, όχι μόνο τη νεότερη.
Ελεγχος ποιότητας
Οι καλύτερες επιλογές μηχανικής μειώνουν τα περιστατικά αξιοπιστίας στην παραγωγή.
The Future of Fully Sharded Data Parallel
Το FSDP γίνεται η προεπιλογή για ανοιχτή εκπαίδευση μεγάλων μοντέλων, με το FSDP2 στο PyTorch να βελτιώνει τη χρηστικότητα και την κοινή χρήση ανά παράμετρο. Αναμένετε στενότερη ενσωμάτωση με τον τανυστή και τον παραλληλισμό αγωγών για μοντέλα τρισεκατομμυρίων παραμέτρων, καλύτερη υποστήριξη για μικτή ακρίβεια και fp8 και πιο έξυπνη αυτόματη περιτύλιξη που επιλέγει τα όρια διαμοιρασμού για εσάς. Καθώς οι διασυνδέσεις μεταξύ GPU, όπως το NVLink και το InfiniBand γίνονται ταχύτερες, το κόστος επικοινωνίας του διαμοιρασμού συνεχίζει να συρρικνώνεται, καθιστώντας το πρακτικό σε όλο και μεγαλύτερη κλίμακα.
Υλοποίηση σε πραγματικό κόσμο
Βελτιστοποιήστε ένα μοντέλο Llama 70 δισεκατομμυρίων παραμέτρων σε 8 GPU που μεμονωμένα δεν μπορούν να συγκρατήσουν όλα τα βάρη.
Προεκπαίδευση μοντέλων μεγάλων γλωσσών σε εργαστήρια τεχνητής νοημοσύνης, μοιράζοντας καταστάσεις βελτιστοποίησης (που κυριαρχούν στη μνήμη με τον Adam) σε εκατοντάδες επιταχυντές.
Ερευνητές που χρησιμοποιούν το περιτύλιγμα FSDP της PyTorch για να εκπαιδεύσουν μετασχηματιστές όρασης σε ένα πανεπιστημιακό σύμπλεγμα χωρίς να αγοράσουν κορυφαίες GPU 80 GB.
Συνδυάζοντας το FSDP με το bfloat16 μικτής ακρίβειας για να μειώσει περίπου στο μισό τη μνήμη και να επιταχύνει την απόδοση της προπόνησης σε πολυτροπικά μοντέλα.
Κίνδυνοι & προστατευτικά κιγκλιδώματα
Η βελτιστοποίηση ενός σημείου αναφοράς μπορεί να κρύψει ευρύτερες αδυναμίες του συστήματος.
Το κόστος υποδομής και συντήρησης συχνά υποτιμάται.
Τα κενά ασφάλειας και παρατηρητικότητας μπορούν να αυξηθούν καθώς τα συστήματα γίνονται πιο πολύπλοκα.
Οδικός Χάρτης Εφαρμογής
Καθορίστε τους στόχους καθυστέρησης, ποιότητας και κόστους πριν από την εφαρμογή.
Σημείο αναφοράς υπό ρεαλιστικές συνθήκες φορτίου και δεδομένων.
Παρακολούθηση οργάνου για σφάλματα, μετατόπιση και επιπτώσεις από τον χρήστη.
Προετοιμάστε διαδρομές επαναφοράς και απόκρισης συμβάντος πριν την κλιμάκωση.
Συνεχίστε την εξερεύνηση
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 Fully Sharded Data Parallel 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
Επόμενος οδηγός
Παραλληλισμός Δεδομένων
Συχνές ερωτήσεις
What is Fully Sharded Data Parallel?
Το Fully Sharded Data Parallel (FSDP) είναι μια κατανεμημένη τεχνική εκπαίδευσης που χωρίζει τις παραμέτρους, τις διαβαθμίσεις και τις καταστάσεις βελτιστοποίησης ενός μοντέλου σε πολλές GPU, έτσι ώστε κάθε συσκευή να κρατά μόνο ένα κομμάτι. Κάνει δυνατή την εκπαίδευση τεράστιων μοντέλων σε υλικό που δεν θα μπορούσε ποτέ να χωρέσει ολόκληρο το μοντέλο στη μνήμη μιας GPU.
Τι κάνει το FSDP σε όλες τις GPU που ΔΕΝ κάνει ο τυπικός παραλληλισμός δεδομένων;
Το FSDP κατακερματίζει τις παραμέτρους, τις διαβαθμίσεις και τις καταστάσεις βελτιστοποίησης του μοντέλου σε όλες τις συσκευές, ενώ ο τυπικός παραλληλισμός δεδομένων αναπαράγει το πλήρες μοντέλο σε κάθε GPU.
Ποια συλλογική λειτουργία χρησιμοποιεί το FSDP για να ανακατασκευάσει τα πλήρη βάρη ενός στρώματος ακριβώς πριν τον υπολογίσει;
Πριν από την εκτέλεση ενός επιπέδου, το FSDP εκτελεί μια συλλογή όλων για να συγκεντρώσει προσωρινά τις πλήρεις παραμέτρους από όλα τα θραύσματα και στη συνέχεια να τα ελευθερώσει.
Γιατί το FSDP ελευθερώνει τα συγκεντρωμένα πλήρη βάρη αμέσως μετά τον υπολογισμό ενός επιπέδου;
Το να κρατάτε μόνιμα μόνο ένα θραύσμα και να μαζεύετε παροδικά πλήρη βάρη είναι αυτό που διατηρεί τη χρήση μνήμης χαμηλή και περίπου ανάλογη με ένα κλάσμα του μοντέλου.
Το FSDP εμπνεύστηκε σε μεγάλο βαθμό από ποια προηγούμενη προσέγγιση βελτιστοποίησης μνήμης;
Η κοινή χρήση παραμέτρων, διαβαθμίσεων και καταστάσεων βελτιστοποίησης από το FSDP ακολουθεί πιστά τις ιδέες που εισήχθησαν στο ZeRO του Microsoft από τη βιβλιοθήκη DeepSpeed.
Πώς το FSDP κρύβει μεγάλο μέρος της καθυστέρησης δικτύου από τη συγκέντρωση βαρών;
Το FSDP προαναφέρει τις παραμέτρους του επόμενου επιπέδου ενώ το τρέχον επίπεδο εξακολουθεί να υπολογίζει, επικαλύπτοντας την επικοινωνία όλων των συλλογών με χρήσιμη εργασία.