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

Flash Προσοχή

Το Flash Attention είναι ένας έξυπνος τρόπος για να υπολογίσετε το βήμα προσοχής μέσα στο Transformers χωρίς ποτέ να γράψετε τη γιγάντια μήτρα προσοχής σε αργή μνήμη.

2 λεπτά ανάγνωσηΤελευταία ενημέρωση

Επισκόπηση

It makes long-context models far faster and more memory-efficient without changing their math.

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

Η τυπική προσοχή συγκρίνει κάθε διακριτικό με κάθε άλλο διακριτικό, παράγοντας έναν πίνακα βαθμολογίας N-by-N που αυξάνεται τετραγωνικά με το μήκος της ακολουθίας. Αφελώς, αυτός ο πίνακας γράφεται και διαβάζεται από τη μνήμη υψηλού εύρους ζώνης GPU (HBM) και ότι η μετακίνηση — όχι οι πολλαπλασιασμοί — είναι το πραγματικό σημείο συμφόρησης. Το Flash Attention, που εισήχθη από τον Tri Dao και τους συνεργάτες του το 2022, αναδιοργανώνει τον υπολογισμό έτσι ώστε ο πίνακας να μην αποθηκεύεται ποτέ πλήρως. Επεξεργάζεται ερωτήματα, κλειδιά και τιμές σε μικρά πλακίδια που ταιριάζουν σε γρήγορη SRAM στο chip, υπολογίζει μερικά αποτελέσματα και τα συρράπτει μεταξύ τους χρησιμοποιώντας ένα διαδικτυακό τέχνασμα εκτέλεσης softmax. Η έξοδος είναι μαθηματικά ίδια με τη συνηθισμένη προσοχή, αλλά χρησιμοποιεί γραμμική μνήμη και εκτελείται αρκετές φορές πιο γρήγορα, ειδικά σε μεγάλες ακολουθίες.

Τεχνική διορατικότητα

Το βασικό κόλπο είναι η τοποθέτηση πλακιδίων συν ένα διαδικτυακό softmax. Το Softmax χρειάζεται κανονικά ολόκληρη τη σειρά βαθμολογιών για να υπολογίσει τον παρονομαστή του, αλλά το Flash Attention διατηρεί ένα τρέχον μέγιστο και τρέχον άθροισμα καθώς μεταδίδει σε ροή κάθε πλακίδιο, αναβαθμίζοντας προηγούμενες μερικές εξόδους, ώστε το τελικό αποτέλεσμα να είναι ακριβές. Επειδή οι ενδιάμεσες βαθμολογίες παραμένουν στο SRAM (τάξεις μεγέθους ταχύτερες από το HBM), ο αλγόριθμος έχει επίγνωση IO: ελαχιστοποιεί τις αναγνώσεις και τις εγγραφές στη μνήμη αντί για τις ακατέργαστες αριθμητικές πράξεις.

Στρατηγικός αντίκτυπος

Κόστος και προϋπολογισμός

Οι αποφάσεις για την αρχιτεκτονική καθορίζουν την απόδοση και το λειτουργικό κόστος για χρόνια.

Σαφέστερες αποφάσεις

Η τεχνική εκπαίδευση βοηθά τις ομάδες να επιλέξουν τη σωστή στοίβα, όχι μόνο τη νεότερη.

Ελεγχος ποιότητας

Οι καλύτερες επιλογές μηχανικής μειώνουν τα περιστατικά αξιοπιστίας στην παραγωγή.

Το μέλλον της προσοχής Flash

Το Flash Attention έχει γίνει ένα προεπιλεγμένο δομικό στοιχείο, με το FlashAttention-2 και το FlashAttention-3 να συμπιέζουν περισσότερη απόδοση από νεότερες GPU, όπως το H100, βελτιώνοντας τη διαμέριση εργασίας και εκμεταλλευόμενοι διαδρομές FP8 χαμηλής ακρίβειας. Αναμένετε συνεχή συν-σχεδιασμό με υλικό, πιο αυστηρή ενσωμάτωση σε πλαίσια εκπαίδευσης και συμπερασμάτων, και παραλλαγές ρυθμισμένες για αραιή, συρόμενη και πολύ μεγάλη προσοχή στο πλαίσιο. Καθώς τα παράθυρα περιβάλλοντος εκτείνονται σε εκατομμύρια διακριτικά, τέτοιοι πυρήνες με επίγνωση IO παραμένουν απαραίτητοι για τη διατήρηση της μνήμης και της ταχύτητας πρακτικά.

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

Εκπαίδευση μοντέλων μεγάλων γλωσσών όπως συστήματα Llama και GPT με μεγαλύτερα παράθυρα περιβάλλοντος με χαμηλότερο κόστος μνήμης.

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

Ενεργοποίηση εργαλείων ανάλυσης εγγράφων που απορροφούν ολόκληρα βιβλία ή βάσεις κωδικών, καθιστώντας εφικτή την προσοχή μακράς ακολουθίας σε μία μόνο GPU.

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

Κίνδυνοι & προστατευτικά κιγκλιδώματα

Η βελτιστοποίηση ενός σημείου αναφοράς μπορεί να κρύψει ευρύτερες αδυναμίες του συστήματος.

Το κόστος υποδομής και συντήρησης συχνά υποτιμάται.

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

Οδικός Χάρτης Εφαρμογής

1

Καθορίστε τους στόχους καθυστέρησης, ποιότητας και κόστους πριν από την εφαρμογή.

2

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

3

Παρακολούθηση οργάνου για σφάλματα, μετατόπιση και επιπτώσεις από τον χρήστη.

4

Προετοιμάστε διαδρομές επαναφοράς και απόκρισης συμβάντος πριν την κλιμάκωση.

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

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 Flash Attention 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

Επόμενος οδηγός

Προσοχή Rollout και Head Pruning

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

What is Flash Attention?

Το Flash Attention είναι ένας έξυπνος τρόπος για να υπολογίσετε το βήμα προσοχής μέσα στο Transformers χωρίς ποτέ να γράψετε τη γιγάντια μήτρα προσοχής σε αργή μνήμη. Κάνει τα μοντέλα μεγάλου πλαισίου πολύ πιο γρήγορα και πιο αποδοτικά στη μνήμη χωρίς να αλλάζει τα μαθηματικά τους.

Ποιο είναι το κύριο σημείο συμφόρησης που στοχεύει το Flash Attention;

Το Flash Attention είναι IO-aware: μειώνει τα δεδομένα που μεταφέρονται μεταξύ της γρήγορης SRAM στο τσιπ και της αργής μνήμης υψηλού εύρους ζώνης, που είναι το πραγματικό σημείο συμφόρησης και όχι η ίδια η αριθμητική.

Πώς το Flash Attention αποφεύγει την αποθήκευση του πλήρους πίνακα προσοχής N-by-N;

Προσαρμόζει τον υπολογισμό έτσι ώστε κάθε μπλοκ να ταιριάζει σε γρήγορη SRAM, υπολογίζοντας και συγκεντρώνοντας μερικές εξόδους χωρίς ποτέ να υλοποιείται ολόκληρος ο πίνακας στο HBM.

Ποια τεχνική επιτρέπει στο Flash Attention να υπολογίσει σωστά το softmax χωρίς να βλέπει ολόκληρη τη σειρά ταυτόχρονα;

Το online softmax διατηρεί ένα μέγιστο και τρέχον παρονομαστή κατά τη ροή πλακιδίων, αναβαθμίζοντας τις προηγούμενες μερικές εξόδους, ώστε η τελική κανονικοποίηση να είναι ακριβής.

Γιατί το Flash Attention βοηθά περισσότερο στις μεγάλες ακολουθίες;

Η αφελής μήτρα προσοχής κλιμακώνεται ως Ν-τετράγωνο στη μνήμη, επομένως η αποφυγή της πλήρους αποθήκευσης αποφέρει τη μεγαλύτερη εξοικονόμηση ακριβώς όταν οι ακολουθίες είναι μεγάλες.

Τι δίνει προτεραιότητα στην ελαχιστοποίηση της σχεδίασης «IO-aware» του Flash Attention;

IO-aware σημαίνει ότι ο αλγόριθμος έχει σχεδιαστεί γύρω από το κόστος μετακίνησης δεδομένων στην ιεραρχία της μνήμης, ελαχιστοποιώντας την κίνηση HBM αντί για αριθμητικές πράξεις.