ΕπόμενοΕπόμενος οδηγός
Διαβαθμίσεις που εξαφανίζονται και εκρήγνυνται
Τεχνικά
Τεχνικός ΟΔΗΓΟΣ
Η συσσώρευση διαβάθμισης σάς επιτρέπει να προσομοιώσετε ένα μεγάλο μέγεθος παρτίδας σε περιορισμένη μνήμη GPU, αθροίζοντας τις διαβαθμίσεις σε πολλές μικρές μίνι παρτίδες πριν ενημερώσετε τα βάρη.
Ακούστε αυτόν τον οδηγόαφήγηση με AI · ~2 min
It is the standard workaround for training big models when memory is the bottleneck.
Κανονικά ένα βήμα εκπαίδευσης επεξεργάζεται μια παρτίδα, υπολογίζει τις κλίσεις και ενημερώνει αμέσως τις παραμέτρους. Με τη συσσώρευση διαβάθμισης, εκτελείτε πολλά περάσματα προς τα εμπρός και προς τα πίσω σε μικρότερες μικρο-παρτίδες, προσθέτοντας τις διαβαθμίσεις τους μαζί στα buffer παραμέτρων και καλείτε το βήμα βελτιστοποίησης (και μηδενίζετε τις διαβαθμίσεις) μόνο μετά από N μικρο-παρτίδες. Το πραγματικό μέγεθος παρτίδας γίνεται μέγεθος μικρο-παρτίδας επί N, παρόλο που η μνήμη αιχμής περιέχει μόνο μία μικρο-παρτίδα ενεργοποιήσεων. Αυτό έχει σημασία επειδή πολλές συνταγές εκπαίδευσης προϋποθέτουν μεγάλες παρτίδες για σταθερά στατιστικά στοιχεία και επειδή μοντέλα όπως οι μεγάλοι μετασχηματιστές δεν μπορούν να χωρέσουν μια πλήρη παρτίδα στόχο σε μία μόνο συσκευή. Το catch: Τα στατιστικά στοιχεία κανονικοποίησης παρτίδας υπολογίζονται ανά μικρο-παρτίδα, επομένως η νόρμα επιπέδου ή η νόρμα ομάδας συνδυάζονται καλύτερα με τη συσσώρευση και πρέπει να κλιμακώσετε σωστά την απώλεια για να διατηρήσετε σωστά τον αποτελεσματικό ρυθμό εκμάθησης.
Βελτιστοποιήστε ένα μοντέλο μεγάλης γλώσσας σε μια μοναδική GPU καταναλωτή, συγκεντρώνοντας περισσότερες από 8 ή 16 μικρο-παρτίδες για να φτάσετε σε μια αποτελεσματική παρτίδα εκατοντάδων.
Εκπαίδευση μοντέλων όρασης ή τμηματοποίησης υψηλής ανάλυσης όπου χωράει ακόμη και μια παρτίδα των 2, αλλά η συνταγή χρειάζεται μια αποτελεσματική παρτίδα 32.
Το Hugging Face Trainer και το PyTorch Lightning εκθέτουν μια ρύθμιση gradient_accumulation_steps που χρησιμοποιείται συνήθως σε ρυθμίσεις περιορισμένης VRAM.
Η αναπαραγωγή της μεγάλης παρτίδας ενός χαρτιού έχει ως αποτέλεσμα μικρότερο υλικό, αντιστοιχίζοντας το πραγματικό μέγεθος παρτίδας μέσω της συσσώρευσης.
Η συσσώρευση κλίσης θα παραμείνει ως προεπιλεγμένος μοχλός, καθώς τα μεγέθη των μοντέλων ξεπερνούν τη μνήμη μιας συσκευής. Συνδυάζεται όλο και περισσότερο με μικτή ακρίβεια, σημεία ελέγχου ενεργοποίησης, μηδενικό διαμοιρασμό και παραλληλισμό αγωγών σε πλαίσια όπως το DeepSpeed και το FSDP. Περιμένετε αυστηρότερο αυτοματισμό όπου οι βιβλιοθήκες συντονίζουν αυτόματα τα βήματα συσσώρευσης σε έναν προϋπολογισμό μνήμης και συνεχή σημασία για τη βελτίωση των μεγάλων μοντέλων σε μέτριο υλικό, συμπεριλαμβανομένων των GPU των καταναλωτών, όπου ξεκλειδώνει εκπαίδευση που διαφορετικά θα ήταν αδύνατη.
Δωρεάν ενημερωτικό δελτίο
Τρία επαληθευμένα νέα AI κάθε πρωί της εβδομάδας, γραμμένα σε απλή αγγλική. Δωρεάν για πάντα, χωρίς διαφημίσεις.
Ένα email κάθε εργάσιμη ημέρα. Κατάργηση συνδρομής με ένα κλικ. Δεν πουλάμε ή μοιραζόμαστε ποτέ τη διεύθυνσή σας.
Δοκιμάστε τον εαυτό σας
Άμεση ανάδραση σε κάθε απάντηση, και πιστοποιητικό με επαληθεύσιμο ID μόλις περάσετε το μάθημα.
Υποστηρίξτε τη δωρεάν εκπαίδευση AI. AI Understanding είναι μια μη κερδοσκοπική οργάνωση 501(c)(3) — χωρίς διαφημίσεις, χωρίς τοίχο πληρωμής, ποτέ. Κάντε μια δωρεά
Η συσσώρευση διαβάθμισης σάς επιτρέπει να προσομοιώσετε ένα μεγάλο μέγεθος παρτίδας σε περιορισμένη μνήμη GPU, αθροίζοντας τις διαβαθμίσεις σε πολλές μικρές μίνι παρτίδες πριν ενημερώσετε τα βάρη. Είναι η τυπική λύση για την εκπαίδευση μεγάλων μοντέλων όταν η μνήμη είναι το σημείο συμφόρησης.
Αθροίζοντας τις διαβαθμίσεις σε πολλές μικρο-παρτίδες πριν από την ενημέρωση, μιμείτε μια μεγάλη παρτίδα χωρίς να την κρατάτε όλη στη μνήμη ταυτόχρονα.
Accumulate gradients across N micro-batches, call optimizer.step() once for the effective batch, then clear gradients before the next window; begin training with cleared buffers.
Το Batch-norm υπολογίζει στατιστικά στοιχεία ανά μικρο-παρτίδα, επομένως ο κανόνας επιπέδου ή ομάδας αποφεύγει την αναντιστοιχία με μικρές μικρο-παρτίδες.
Batch-dependent forward computations break exact equivalence.
Συνέχισε να μαθαίνεις
Επιλέχθηκαν περισσότεροι οδηγοί για αυτό το θέμα
ΕπόμενοΕπόμενος οδηγός
Διαβαθμίσεις που εξαφανίζονται και εκρήγνυνται
Τεχνικά