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

Πλήρως Sharded Data Parallel

Το Fully Sharded Data Parallel (FSDP) είναι μια κατανεμημένη τεχνική εκπαίδευσης που χωρίζει τις παραμέτρους, τις διαβαθμίσεις και τις καταστάσεις βελτιστοποίησης ενός μοντέλου σε πολλές GPU, έτσι ώστε κάθε συσκευή να κρατά μόνο ένα κομμάτι.

Ακούστε αυτόν τον οδηγόαφήγηση με AI · ~2 min

Σε αυτήν τη σελίδα2 λεπτά ανάγνωση
  1. Επισκόπηση
  2. Βαθιά κατάδυση
  3. Υλοποίηση σε πραγματικό κόσμο
  4. The Future of Fully Sharded Data Parallel
  5. Κάνοντάς το στην πράξη
  6. Συνεχίστε την εξερεύνηση
  7. Συχνές ερωτήσεις

Επισκόπηση

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

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

Ο παραδοσιακός παραλληλισμός δεδομένων διατηρεί ένα πλήρες αντίγραφο του μοντέλου σε κάθε GPU, γεγονός που σπαταλά τη μνήμη και περιορίζει το μέγεθος του μοντέλου. Το FSDP, το οποίο διαδόθηκε από το PyTorch του Meta και εμπνεύστηκε από το ZeRO του Microsoft, αντ' αυτού διαχωρίζει τρία πράγματα σε όλες τις συσκευές: παραμέτρους, διαβαθμίσεις και καταστάσεις βελτιστοποίησης. Κατά τη διάρκεια της προώθησης, κάθε GPU συγκεντρώνει προσωρινά τα πλήρη βάρη για το επίπεδο που υπολογίζει μέσω ενός all-gather, εκτελεί τον υπολογισμό και, στη συνέχεια, ελευθερώνει αμέσως το συγκεντρωμένο αντίγραφο. Το πέρασμα προς τα πίσω λειτουργεί με παρόμοιο τρόπο, ακολουθούμενο από μια μείωση διασποράς που διανέμει τα τεμάχια διαβάθμισης πίσω στις GPU που κατέχουν. Επειδή κάθε συσκευή αποθηκεύει μόνιμα μόνο ένα κλάσμα του μοντέλου, η χρήση μνήμης μειώνεται κατά προσέγγιση γραμμικά με τον αριθμό των GPU, επιτρέποντας στις ομάδες να εκπαιδεύουν μοντέλα με δεκάδες ή εκατοντάδες δισεκατομμύρια παραμέτρους.

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

Βελτιστοποιήστε ένα μοντέλο Llama 70 δισεκατομμυρίων παραμέτρων σε 8 GPU που μεμονωμένα δεν μπορούν να συγκρατήσουν όλα τα βάρη.

Προεκπαίδευση μοντέλων μεγάλων γλωσσών σε εργαστήρια τεχνητής νοημοσύνης, μοιράζοντας καταστάσεις βελτιστοποίησης (που κυριαρχούν στη μνήμη με τον Adam) σε εκατοντάδες επιταχυντές.

Ερευνητές που χρησιμοποιούν το περιτύλιγμα FSDP της PyTorch για να εκπαιδεύσουν μετασχηματιστές όρασης σε ένα πανεπιστημιακό σύμπλεγμα χωρίς να αγοράσουν κορυφαίες GPU 80 GB.

Συνδυάζοντας το FSDP με το bfloat16 μικτής ακρίβειας για να μειώσει περίπου στο μισό τη μνήμη και να επιταχύνει την απόδοση της προπόνησης σε πολυτροπικά μοντέλα.

The Future of Fully Sharded Data Parallel

Το FSDP γίνεται η προεπιλογή για ανοιχτή εκπαίδευση μεγάλων μοντέλων, με το FSDP2 στο PyTorch να βελτιώνει τη χρηστικότητα και την κοινή χρήση ανά παράμετρο. Αναμένετε στενότερη ενσωμάτωση με τον τανυστή και τον παραλληλισμό αγωγών για μοντέλα τρισεκατομμυρίων παραμέτρων, καλύτερη υποστήριξη για μικτή ακρίβεια και fp8 και πιο έξυπνη αυτόματη περιτύλιξη που επιλέγει τα όρια διαμοιρασμού για εσάς. Καθώς οι διασυνδέσεις μεταξύ GPU, όπως το NVLink και το InfiniBand γίνονται ταχύτερες, το κόστος επικοινωνίας του διαμοιρασμού συνεχίζει να συρρικνώνεται, καθιστώντας το πρακτικό σε όλο και μεγαλύτερη κλίμακα.

Κάνοντάς το στην πράξη

Γιατί έχει σημασία

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

Προσέξτε

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

Επόμενα βήματα

  1. Καθορίστε τους στόχους καθυστέρησης, ποιότητας και κόστους πριν από την εφαρμογή.
  2. Σημείο αναφοράς υπό ρεαλιστικές συνθήκες φορτίου και δεδομένων.
  3. Παρακολούθηση οργάνου για σφάλματα, μετατόπιση και επιπτώσεις από τον χρήστη.
  4. Προετοιμάστε διαδρομές επαναφοράς και απόκρισης συμβάντος πριν την κλιμάκωση.

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

Δωρεάν ενημερωτικό δελτίο

Λάβετε την καθημερινή ενημέρωση AI

Τρία επαληθευμένα νέα AI κάθε πρωί της εβδομάδας, γραμμένα σε απλή αγγλική. Δωρεάν για πάντα, χωρίς διαφημίσεις.

Ένα email κάθε εργάσιμη ημέρα. Κατάργηση συνδρομής με ένα κλικ. Δεν πουλάμε ή μοιραζόμαστε ποτέ τη διεύθυνσή σας.

Δοκιμάστε τον εαυτό σας

Take the Fully Sharded Data Parallel quiz

Άμεση ανάδραση σε κάθε απάντηση, και πιστοποιητικό με επαληθεύσιμο ID μόλις περάσετε το μάθημα.

Έναρξη κουίζ

Υποστηρίξτε τη δωρεάν εκπαίδευση AI. AI Understanding είναι μια μη κερδοσκοπική οργάνωση 501(c)(3) — χωρίς διαφημίσεις, χωρίς τοίχο πληρωμής, ποτέ. Κάντε μια δωρεά

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

Τι είναι το 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 προαναφέρει τις παραμέτρους του επόμενου επιπέδου ενώ το τρέχον επίπεδο εξακολουθεί να υπολογίζει, επικαλύπτοντας την επικοινωνία όλων των συλλογών με χρήσιμη εργασία.

Συνέχισε να μαθαίνεις

Σχετικοί οδηγοί

Επιλέχθηκαν περισσότεροι οδηγοί για αυτό το θέμα

Λάβετε ένα δωρεάν πιστοποιητικό AIΈνα σύντομο δωρεάν μάθημα και εξέταση. Χωρίς κόστος, χωρίς κάρτα. Περίπου 2,5 ώρες.Ξεκινήστε δωρεάν →