Flash Figyelem
A Flash Attention egy okos módszer a figyelem lépéseinek kiszámítására a Transformers belsejében anélkül, hogy az óriási figyelemmátrixot a lassított memóriába írnánk.
Áttekintés
It makes long-context models far faster and more memory-efficient without changing their math.
Mély merülés
A szabványos figyelem minden tokent minden más tokenhez hasonlít, és egy N-szer N pontszámmátrixot hoz létre, amely négyzetesen növekszik a sorozat hosszával. Naiv módon ezt a mátrixot a GPU nagy sávszélességű memóriájába (HBM) írják és olvassák vissza, és ez az áthelyezés – nem a szorzások – jelenti az igazi szűk keresztmetszetet. A Tri Dao és munkatársai által 2022-ben bevezetett Flash Attention átszervezi a számítást, így a mátrix soha nem kerül teljesen tárolásra. A lekérdezéseket, kulcsokat és értékeket kis csempékben dolgozza fel, amelyek elférnek a gyors chipen lévő SRAM-ban, kiszámítja a részeredményeket, és összefűzi őket egy online futó-softmax trükk segítségével. A kimenet matematikailag megegyezik a közönséges figyelmességgel, de lineáris memóriát használ, és többször gyorsabban fut, különösen hosszú sorozatok esetén.
Technikai betekintés
A legfontosabb trükk a csempézés és az online softmax. A Softmax-nak általában szüksége van a pontszámok teljes sorára a nevező kiszámításához, de a Flash Attention megtartja a futó maximumot és a futó összeget az egyes csempék streamelése során, átskálázva a korábbi részleges kimeneteket, hogy a végeredmény pontos legyen. Mivel a köztes pontszámok az SRAM-ban maradnak (nagyságrendekkel gyorsabban, mint a HBM), az algoritmus IO-tudatos: minimalizálja a memóriaolvasást és -írást, nem pedig a nyers aritmetikai műveleteket.
Stratégiai hatás
Költség és költségvetés
Az építészeti döntések évekig növelik a teljesítményt és a működési költségeket.
Tisztább döntések
A technikai oktatás segít a csapatoknak a megfelelő verem kiválasztásában, nem csak a legújabb készletben.
Minőségellenőrzés
A jobb mérnöki döntések csökkentik a termelés megbízhatósági incidenseit.
A Flash Attention jövője
A Flash Attention alapértelmezett építőelemmé vált, mivel a FlashAttention-2 és a FlashAttention-3 nagyobb átviteli sebességet szorít ki az újabb GPU-któl, például a H100-tól a munka particionálásának javításával és az alacsony pontosságú FP8 útvonalak kihasználásával. Várható a hardverrel való folyamatos közös tervezés, a képzési és következtetési keretrendszerekbe való szorosabb integráció, valamint a ritka, csúszóablakos és nagyon hosszú kontextusú figyelemre hangolt változatok. Mivel a környezeti ablakok több millió tokenek felé nyúlnak, az ehhez hasonló IO-tudatos kernelek továbbra is elengedhetetlenek a memória és a sebesség praktikus megőrzéséhez.
Valós megvalósítás
Nagy nyelvi modellek, például Llama és GPT-osztályú rendszerek betanítása hosszabb környezetablakkal, alacsonyabb memóriaköltséggel.
A csevegési asszisztensek gyorsabb kiszolgálása az előtöltési szakasz felgyorsításával, amikor először egy hosszú prompt kerül beolvasásra.
Olyan dokumentumelemző eszközök engedélyezése, amelyek teljes könyveket vagy kódbázisokat töltenek be azáltal, hogy egyetlen GPU-n megvalósíthatóvá teszik a hosszú szekvenciák figyelését.
Látás és audio transzformátorok, ahol a nagy felbontású bemenetek nagyon hosszú token sorozatokat hoznak létre.
Kockázatok és védőkorlátok
Egy benchmark optimalizálása elrejtheti a rendszer általános hiányosságait.
Az infrastrukturális és karbantartási költségeket gyakran alábecsülik.
A biztonsági és megfigyelhetőségi hiányosságok a rendszerek bonyolultabbá válásával nőhetnek.
Végrehajtási ütemterv
Határozza meg a késleltetési, minőségi és költségcélokat a megvalósítás előtt.
Benchmark reális terhelési és adatviszonyok mellett.
Műszerfigyelés a hibák, az eltolódás és a felhasználói hatások szempontjából.
A méretezés előtt készítse elő a visszagörgetési és az incidensre adott válaszútvonalakat.
Folytassa a felfedezést
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
Következő útmutató
Figyelem Rollout és fejmetszés
Gyakran ismételt kérdések
What is Flash Attention?
A Flash Attention egy okos módszer a figyelem lépéseinek kiszámítására a Transformers belsejében anélkül, hogy az óriási figyelemmátrixot a lassított memóriába írnánk. Sokkal gyorsabbá és memóriahatékonyabbá teszi a hosszú kontextusú modelleket anélkül, hogy megváltoztatná a matematikát.
Mi a fő szűk keresztmetszet, amelyet a Flash Attention céloz?
A Flash Attention IO-tudatos: csökkenti a gyors chipen lévő SRAM és a lassú, nagy sávszélességű memória közötti adatátvitelt, ami az igazi szűk keresztmetszet, nem pedig maga az aritmetika.
Hogyan kerüli el a Flash Attention a teljes N-szer N figyelemmátrix tárolását?
A számítást úgy csempézi, hogy minden blokk elférjen a gyors SRAM-ban, így kiszámítja és felhalmozza a részleges kimeneteket anélkül, hogy a teljes mátrixot a HBM-ben megvalósítaná.
Milyen technikával tudja a Flash Attention megfelelően kiszámítani a softmax-ot anélkül, hogy az egész sort egyszerre látná?
Az online softmax megtartja a futó maximumot és a futó nevezőt a csempék streamelése közben, átméretezi a korábbi részleges kimeneteket, hogy a végső normalizálás pontos legyen.
Miért segít leginkább a Flash Attention a hosszú sorozatoknál?
A naiv figyelemmátrix N-négyzetre skálázódik a memóriában, így a teljes tárolás elkerülése pontosan akkor eredményezi a legnagyobb megtakarítást, ha a sorozatok hosszúak.
A Flash Attention „IO-aware” felépítése miben részesíti előnyben a minimalizálást?
Az IO-tudatos azt jelenti, hogy az algoritmust az adatok memóriahierarchiában való mozgatásának költségére tervezték, minimalizálva a HBM forgalmat, nem pedig az aritmetikai műveleteket.