ΕπόμενοΕπόμενος οδηγός
Estimating GPU Memory Needed for LLMs
Τεχνικά
Τεχνικός ΟΔΗΓΟΣ
Πώς τα πλαίσια τεχνητής νοημοσύνης εκχωρούν, επαναχρησιμοποιούν και ανακτούν την περιορισμένη μνήμη σε μια GPU και γιατί τα κενά που απομένουν (κατακερματισμός) μπορούν να προκαλέσουν σφάλματα εκτός μνήμης, ακόμη και όταν απομένει τεχνικά αρκετή μνήμη.
Ακούστε αυτόν τον οδηγόαφήγηση με AI · ~2 min
Η κατανόησή του είναι το κλειδί για την τοποθέτηση μεγάλων μοντέλων και την αποφυγή μυστηριωδών ατυχημάτων.
Η μνήμη GPU είναι σταθερή και πολύτιμη: μια κάρτα μπορεί να έχει συνολικά 24, 80 ή 192 GB, κοινή από βάρη μοντέλου, ενεργοποιήσεις, διαβαθμίσεις, καταστάσεις βελτιστοποίησης και προσωρινά buffer. Η κλήση του προγράμματος οδήγησης να εκχωρήσει μνήμη σε κάθε λειτουργία θα ήταν αργή, επομένως πλαίσια όπως το PyTorch χρησιμοποιούν έναν εκχωρητή προσωρινής αποθήκευσης που αρπάζει μεγάλα μπλοκ μπροστά και μοιράζει υπο-κομμάτια και, στη συνέχεια, διατηρεί τα ελευθερωμένα κομμάτια σε μια πισίνα για επαναχρησιμοποίηση. Το πρόβλημα είναι ο κατακερματισμός: καθώς οι τανυστές διαφορετικών μεγεθών εκχωρούνται και ελευθερώνονται, ο ελεύθερος χώρος σπάει σε διάσπαρτα κομμάτια. Μπορείτε να έχετε συνολικά 5 GB δωρεάν, αλλά να μην καταφέρετε να εκχωρήσετε έναν συνεχόμενο τανυστή 2 GB επειδή κανένα κενό δεν είναι αρκετά μεγάλο. Αυτός είναι ο λόγος για τον οποίο η προπόνηση μπορεί να καταρρεύσει με σφάλματα εκτός μνήμης παρά το φαινομενικά διαθέσιμο χώρο για το κεφάλι.
A training team examines allocator statistics before testing expandable segments on a variable-batch workload.
A developer uses memory_summary and a memory snapshot to investigate active tensors and inactive split blocks.
An inference team uses vLLM’s paged KV-cache management to reduce cache-allocation waste.
A training team lowers batch size or checkpoints activations after confirming live tensor memory is the limiting factor.
Η διαχείριση της μνήμης γίνεται πιο έξυπνη και πιο σελιδοποιημένη, εμπνευσμένη από λειτουργικά συστήματα. Τεχνικές όπως οι εκχωρητές εικονικής μνήμης και η σελιδοποιημένη προσοχή (που χρησιμοποιούνται για τη διαχείριση της κρυφής μνήμης KV κατά τη διάρκεια της εξαγωγής συμπερασμάτων) μειώνουν δραματικά τη σπατάλη και τον κατακερματισμό. Αναμένετε ότι τα πλαίσια θα έχουν ως προεπιλογή επεκτάσιμους, ανασυγκροτούμενους κατανεμητές, καλύτερη ορατότητα μέσω ενσωματωμένων profilers και πιο στενή σύζευξη με τη μεταφόρτωση και τον επανυπολογισμό, ώστε το σύστημα να χρησιμοποιεί αυτόματα τη GPU, την CPU και τη μνήμη δίσκου για να διατηρεί τη χρήση σε υψηλά επίπεδα και τα σφάλματα σπάνια.
Δωρεάν ενημερωτικό δελτίο
Τρία επαληθευμένα νέα AI κάθε πρωί της εβδομάδας, γραμμένα σε απλή αγγλική. Δωρεάν για πάντα, χωρίς διαφημίσεις.
Ένα email κάθε εργάσιμη ημέρα. Κατάργηση συνδρομής με ένα κλικ. Δεν πουλάμε ή μοιραζόμαστε ποτέ τη διεύθυνσή σας.
Δοκιμάστε τον εαυτό σας
Άμεση ανάδραση σε κάθε απάντηση, και πιστοποιητικό με επαληθεύσιμο ID μόλις περάσετε το μάθημα.
Υποστηρίξτε τη δωρεάν εκπαίδευση AI. AI Understanding είναι μια μη κερδοσκοπική οργάνωση 501(c)(3) — χωρίς διαφημίσεις, χωρίς τοίχο πληρωμής, ποτέ. Κάντε μια δωρεά
Πώς τα πλαίσια τεχνητής νοημοσύνης εκχωρούν, επαναχρησιμοποιούν και ανακτούν την περιορισμένη μνήμη σε μια GPU και γιατί τα κενά που απομένουν (κατακερματισμός) μπορούν να προκαλέσουν σφάλματα εκτός μνήμης, ακόμη και όταν απομένει τεχνικά αρκετή μνήμη. Η κατανόησή του είναι το κλειδί για την τοποθέτηση μεγάλων μοντέλων και την αποφυγή μυστηριωδών ατυχημάτων.
Ο κατακερματισμός σημαίνει ότι η συνολική ελεύθερη μνήμη είναι αρκετή, αλλά είναι σπασμένη σε κομμάτια, επομένως κανένα κενό δεν είναι αρκετά μεγάλο για έναν μεγάλο τανυστή.
Η κλήση cudaMalloc/cudaFree για κάθε λειτουργία είναι αργή, επομένως ο εκχωρητής προσωρινής αποθήκευσης αρπάζει μεγάλα μπλοκ και επαναχρησιμοποιεί τα ελευθερωμένα από μια πισίνα.
Allocator statistics and snapshots help distinguish fragmentation from live tensors or other allocations. The error alone does not prove a single cause.
Expandable segments can reduce waste for selected allocation patterns. Availability and benefit depend on allocator configuration and workload.
Το PagedAttention αποθηκεύει την κρυφή μνήμη KV σε σελίδες σταθερού μεγέθους, όπως η εικονική μνήμη του λειτουργικού συστήματος, μειώνοντας τον κατακερματισμό και εξυπηρετώντας πολλά αιτήματα αποτελεσματικά.
Συνέχισε να μαθαίνεις
Επιλέχθηκαν περισσότεροι οδηγοί για αυτό το θέμα
ΕπόμενοΕπόμενος οδηγός
Estimating GPU Memory Needed for LLMs
Τεχνικά