ΕπόμενοΕπόμενος οδηγός
Παραλληλισμός Δεδομένων
Τεχνικά
Τεχνικός ΟΔΗΓΟΣ
Το Fully Sharded Data Parallel (FSDP) είναι μια κατανεμημένη τεχνική εκπαίδευσης που χωρίζει τις παραμέτρους, τις διαβαθμίσεις και τις καταστάσεις βελτιστοποίησης ενός μοντέλου σε πολλές GPU, έτσι ώστε κάθε συσκευή να κρατά μόνο ένα κομμάτι.
Ακούστε αυτόν τον οδηγόαφήγηση με AI · ~2 min
Κάνει δυνατή την εκπαίδευση τεράστιων μοντέλων σε υλικό που δεν θα μπορούσε ποτέ να χωρέσει ολόκληρο το μοντέλο στη μνήμη μιας GPU.
Ο παραδοσιακός παραλληλισμός δεδομένων διατηρεί ένα πλήρες αντίγραφο του μοντέλου σε κάθε GPU, γεγονός που σπαταλά τη μνήμη και περιορίζει το μέγεθος του μοντέλου. Το FSDP, το οποίο διαδόθηκε από το PyTorch του Meta και εμπνεύστηκε από το ZeRO του Microsoft, αντ' αυτού διαχωρίζει τρία πράγματα σε όλες τις συσκευές: παραμέτρους, διαβαθμίσεις και καταστάσεις βελτιστοποίησης. Κατά τη διάρκεια της προώθησης, κάθε GPU συγκεντρώνει προσωρινά τα πλήρη βάρη για το επίπεδο που υπολογίζει μέσω ενός all-gather, εκτελεί τον υπολογισμό και, στη συνέχεια, ελευθερώνει αμέσως το συγκεντρωμένο αντίγραφο. Το πέρασμα προς τα πίσω λειτουργεί με παρόμοιο τρόπο, ακολουθούμενο από μια μείωση διασποράς που διανέμει τα τεμάχια διαβάθμισης πίσω στις GPU που κατέχουν. Επειδή κάθε συσκευή αποθηκεύει μόνιμα μόνο ένα κλάσμα του μοντέλου, η χρήση μνήμης μειώνεται κατά προσέγγιση γραμμικά με τον αριθμό των GPU, επιτρέποντας στις ομάδες να εκπαιδεύουν μοντέλα με δεκάδες ή εκατοντάδες δισεκατομμύρια παραμέτρους.
Βελτιστοποιήστε ένα μοντέλο Llama 70 δισεκατομμυρίων παραμέτρων σε 8 GPU που μεμονωμένα δεν μπορούν να συγκρατήσουν όλα τα βάρη.
Προεκπαίδευση μοντέλων μεγάλων γλωσσών σε εργαστήρια τεχνητής νοημοσύνης, μοιράζοντας καταστάσεις βελτιστοποίησης (που κυριαρχούν στη μνήμη με τον Adam) σε εκατοντάδες επιταχυντές.
Ερευνητές που χρησιμοποιούν το περιτύλιγμα FSDP της PyTorch για να εκπαιδεύσουν μετασχηματιστές όρασης σε ένα πανεπιστημιακό σύμπλεγμα χωρίς να αγοράσουν κορυφαίες GPU 80 GB.
Συνδυάζοντας το FSDP με το bfloat16 μικτής ακρίβειας για να μειώσει περίπου στο μισό τη μνήμη και να επιταχύνει την απόδοση της προπόνησης σε πολυτροπικά μοντέλα.
Το FSDP γίνεται η προεπιλογή για ανοιχτή εκπαίδευση μεγάλων μοντέλων, με το FSDP2 στο PyTorch να βελτιώνει τη χρηστικότητα και την κοινή χρήση ανά παράμετρο. Αναμένετε στενότερη ενσωμάτωση με τον τανυστή και τον παραλληλισμό αγωγών για μοντέλα τρισεκατομμυρίων παραμέτρων, καλύτερη υποστήριξη για μικτή ακρίβεια και fp8 και πιο έξυπνη αυτόματη περιτύλιξη που επιλέγει τα όρια διαμοιρασμού για εσάς. Καθώς οι διασυνδέσεις μεταξύ GPU, όπως το NVLink και το InfiniBand γίνονται ταχύτερες, το κόστος επικοινωνίας του διαμοιρασμού συνεχίζει να συρρικνώνεται, καθιστώντας το πρακτικό σε όλο και μεγαλύτερη κλίμακα.
Δωρεάν ενημερωτικό δελτίο
Τρία επαληθευμένα νέα AI κάθε πρωί της εβδομάδας, γραμμένα σε απλή αγγλική. Δωρεάν για πάντα, χωρίς διαφημίσεις.
Ένα email κάθε εργάσιμη ημέρα. Κατάργηση συνδρομής με ένα κλικ. Δεν πουλάμε ή μοιραζόμαστε ποτέ τη διεύθυνσή σας.
Δοκιμάστε τον εαυτό σας
Άμεση ανάδραση σε κάθε απάντηση, και πιστοποιητικό με επαληθεύσιμο ID μόλις περάσετε το μάθημα.
Υποστηρίξτε τη δωρεάν εκπαίδευση AI. AI Understanding είναι μια μη κερδοσκοπική οργάνωση 501(c)(3) — χωρίς διαφημίσεις, χωρίς τοίχο πληρωμής, ποτέ. Κάντε μια δωρεά
Το Fully Sharded Data Parallel (FSDP) είναι μια κατανεμημένη τεχνική εκπαίδευσης που χωρίζει τις παραμέτρους, τις διαβαθμίσεις και τις καταστάσεις βελτιστοποίησης ενός μοντέλου σε πολλές GPU, έτσι ώστε κάθε συσκευή να κρατά μόνο ένα κομμάτι. Κάνει δυνατή την εκπαίδευση τεράστιων μοντέλων σε υλικό που δεν θα μπορούσε ποτέ να χωρέσει ολόκληρο το μοντέλο στη μνήμη μιας GPU.
Το FSDP κατακερματίζει τις παραμέτρους, τις διαβαθμίσεις και τις καταστάσεις βελτιστοποίησης του μοντέλου σε όλες τις συσκευές, ενώ ο τυπικός παραλληλισμός δεδομένων αναπαράγει το πλήρες μοντέλο σε κάθε GPU.
Πριν από την εκτέλεση ενός επιπέδου, το FSDP εκτελεί μια συλλογή όλων για να συγκεντρώσει προσωρινά τις πλήρεις παραμέτρους από όλα τα θραύσματα και στη συνέχεια να τα ελευθερώσει.
Το να κρατάτε μόνιμα μόνο ένα θραύσμα και να μαζεύετε παροδικά πλήρη βάρη είναι αυτό που διατηρεί τη χρήση μνήμης χαμηλή και περίπου ανάλογη με ένα κλάσμα του μοντέλου.
Η κοινή χρήση παραμέτρων, διαβαθμίσεων και καταστάσεων βελτιστοποίησης από το FSDP ακολουθεί πιστά τις ιδέες που εισήχθησαν στο ZeRO του Microsoft από τη βιβλιοθήκη DeepSpeed.
Το FSDP προαναφέρει τις παραμέτρους του επόμενου επιπέδου ενώ το τρέχον επίπεδο εξακολουθεί να υπολογίζει, επικαλύπτοντας την επικοινωνία όλων των συλλογών με χρήσιμη εργασία.
Συνέχισε να μαθαίνεις
Επιλέχθηκαν περισσότεροι οδηγοί για αυτό το θέμα
ΕπόμενοΕπόμενος οδηγός
Παραλληλισμός Δεδομένων
Τεχνικά