Attention mechanisms: kako se umetna inteligenca odloči, kaj je pomembno
Razvoj, ki ga nihče ni pričakoval
Leta 2017 je članek z naslovom "Attention Is All You Need" pomembno spremenil umetno inteligenco. Ne z eksotično novo matematiko. S preprosto idejo: model naj se sam odloči, kaj je pomembno.
Mehanizmi pozornosti. Sliši se abstraktno. V resnici so preprosti. In omogočili so ChatGPT, generatorje slik, vso sodobno umetno inteligenco, ki jo uporabljaš.
Razumevanje pozornosti ti pomaga razumeti sodobno umetno inteligenco. Razčlenimo jo.
Problem, ki ga pozornost rešuje
Stara umetna inteligenca (rekurentne mreže) je vnose obdelovala zaporedno. Besedo za besedo. Vzdrževala je skrito stanje. Informacije so tekle linearno.
Težava: dolga zaporedja so se poslabšala. Informacije z začetka so do konca zbledele. Model je "pozabil" zgodnji kontekst. To je omejevalo, kaj je umetna inteligenca zmogla.
Pozornost je to rešila. Preprost koncept: poglej vse vnose hkrati. Ugotovi, kateri deli so pomembni za katere izhode. Ustrezno jih uteži.
Brez zaporedne obdelave. Brez degradacije informacij. Poln kontekst je vedno na voljo. Revolucionarno.
Kaj pozornost dejansko počne
Pozornost je uteženo povprečje. To je vse.
Imaš vnose. Želiš obdelati enega od njih. Toda pravilen način obdelave je odvisen od vseh drugih vnosov. Pozornost ugotovi, koliko vsak vnos prispeva k obdelavi trenutnega.
Primer: prevajanje
Prevajanje "The cat sat on the mat" v francoščino. Pri prevajanju besede "sat", katere angleške besede so najpomembnejše?
"The" je pomembna malo (spol). "Cat" je zelo pomembna (osebek). "Sat" je najpomembnejša (sama beseda). "On" je pomembna deloma (kontekst). Ostale manj.
Pozornost izračuna te uteži. Nato združi vnose glede na te uteži. Uteženo povprečje ti da najboljšo predstavitev za prevajanje besede "sat".
To naredi za vsako besedo. V vsaki plasti. To je pozornost.
Kako pozornost dejansko deluje
Trije koraki: poizvedba, ključ, vrednost. Sliši se zapleteno. Ni.
Korak 1: ustvari poizvedbe, ključe in vrednosti
Za vsak vnos ustvari tri vektorje:
- Poizvedba: "Kaj iščem?"
- Ključ: "Kaj ponujam?"
- Vrednost: "Tukaj so moje dejanske informacije"
To so le linearne transformacije vnosa. Množenje matrik. Nič posebnega.
Korak 2: izračunaj uteži pozornosti
Za vsako poizvedbo jo primerjaj z vsemi ključi. Skalarni produkt meri podobnost. Podobna poizvedba in ključ = visoka ocena. Različna = nizka ocena.
Uporabi softmax. Spremeni ocene v verjetnosti. Zdaj imaš uteži pozornosti. Njihova vsota je 1.
Korak 3: uteženo povprečje vrednosti
Uporabi uteži pozornosti za povprečenje vrednosti. Visoka utež = večji vpliv. Nizka utež = manjši vpliv.
Rezultat: nova predstavitev za vsak vnos, oblikovana z upoštevanjem vseh drugih vnosov, utežena glede na pomembnost.
To je pozornost. Podobnost med poizvedbo in ključem določa uteži. Uteži združujejo vrednosti. Konec.
Samopozornost proti navzkrižni pozornosti
Dve vrsti pozornosti služita različnima namenoma:
Samopozornost:
Vhodi so pozorni sami nase. Vsaka beseda gleda vse druge besede v istem stavku. Določa, katere besede so pomembne za razumevanje posamezne besede.
Primer: "Žival ni prečkala ceste, ker je bila preveč utrujena." Na kaj se nanaša "je"? Samopozornost to ugotovi tako, da se močno osredotoči na "žival".
Navzkrižna pozornost:
Eno zaporedje je pozorno na drugo. Prevajanje: francoske besede so pozorne na angleške besede. Opisovanje slik: besede opisa so pozorne na dele slike.
Različna zaporedja. Poizvedbe iz enega, ključi in vrednosti iz drugega. Povezuje različne modalitete ali jezike.
Pozornost z več glavami (več perspektiv)
Ena glava pozornosti = ena perspektiva. Več glav = več perspektiv hkrati.
Namesto enega niza poizvedb, ključev in vrednosti ustvarimo več nizov. Vsaka glava se nauči drugačnih vzorcev.
Glava 1 se lahko nauči skladenjskih odnosov (osebek in povedek). Glava 2 se lahko nauči pomenskih odnosov (pomeni besed). Glava 3 se lahko nauči položajnih vzorcev.
Združimo vse glave. Zdaj imamo več perspektiv na iste vhode. Bogatejša predstavitev. Boljše razumevanje.
Transformatorji običajno uporabljajo 8 do 16 glav. Vsaka glava je velika 1/8 ali 1/16 polne dimenzije modela. Računska zahtevnost ostaja obvladljiva.
Računska zahtevnost
Pozornost je zmogljiva. A tudi draga.
Zahtevnost: O(n²)
Vsak vhod je pozoren na vsak drug vhod. Pri n vhodih je to n² primerjav. Kvadratna zahtevnost.
Podvojite dolžino zaporedja, početverite izračun. Zato so okna konteksta omejena. Ne gre le za pomnilnik. Izračun eksplodira.
Primer:
1.000 žetonov: 1 milijon operacij
10.000 žetonov: 100 milijonov operacij
100.000 žetonov: 10 milijard operacij
Pozornost je ozko grlo pri dolgih kontekstih. Različne tehnike (redka pozornost, linearna pozornost) poskušajo to rešiti. A so le delne rešitve.
Zakaj je pozornost spremenila vse
Pred pozornostjo: zaporedna obdelava, omejen kontekst, degradacija informacij.
Po pozornosti: vzporedna obdelava, poln kontekst, brez degradacije.
To je omogočilo:
- Izboljšani jezikovni modeli: Razumejo lahko dolge dokumente. Brez omejitve konteksta zaradi zaporedne obdelave. BERT, GPT, vsi uporabljajo pozornost.
- Izboljšano prevajanje: Lahko se osredotočijo na ustrezne besede izvornega jezika. Ne glede na to, kako daleč narazen so. Kakovost se je močno izboljšala.
- Transformatorji za vid: Pozornost deluje na delčkih slik. Konkurenčni CNN-jem pri številnih nalogah. Poenotena arhitektura za vid in jezik.
- Multimodalni modeli: Besedilo je pozorno na slike. Slike so pozorne na besedilo. Razumevanje med modalitetami. CLIP, DALL-E, vsi uporabljajo pozornost.
Pozornost je temelj sodobne umetne inteligence. Vse temelji na njej.
Pozornost v arhitekturi Dweve
Tradicionalna pozornost temelji na plavajoči vejici. Draga. Toda koncept se uporablja tudi pri sistemih, ki temeljijo na omejitvah.
PAP (Permuted Agreement Popcount):
Naša različica pozornosti za binarne vzorce. Namesto skalarnih produktov uporabljamo XNOR in popcount. Namesto softmax uporabljamo statistične meje.
Enak koncept: določiti, kateri vzorci so pomembni. Drugačna izvedba: binarne operacije namesto plavajoče vejice.
Rezultat: izbira, podobna pozornosti, ob delčku računske cene. Kateri strokovnjaki so pomembni? PAP to določi. Učinkovito.
Kaj Si Morate Zapomniti
- 1. Pozornost je uteženo povprečenje. Določite pomembnost, ustrezno utežite vnose, združite. Preprost koncept, močni rezultati.
- 2. Mehanizem poizvedba-ključ-vrednost. Poizvedba vpraša, ključi odgovorijo, vrednosti zagotovijo informacije. Podobnost določa uteži.
- 3. Samopozornost proti navzkrižni pozornosti. Samopozornost: vnosi so pozorni nase. Navzkrižna: eno zaporedje je pozorno na drugo.
- 4. Večglavost zajema več perspektiv. Različne glave se naučijo različnih vzorcev. Skupaj zagotavljajo bogato razumevanje.
- 5. Računska cena je O(n²). Kvadratna zahtevnost omejuje dolžino konteksta. Ozko grlo pri dolgih zaporedjih.
- 6. Pozornost je omogočila sodobno umetno inteligenco. Transformers, GPT, BERT, vizijski transformatorji. Vsi temeljijo na pozornosti.
- 7. Obstajajo binarne alternative. PAP omogoča izbiro, podobno pozornosti, z binarnimi operacijami. Enak koncept, drugačna izvedba.
Bistvo
Pozornost je najpomembnejša inovacija umetne inteligence v zadnjem desetletju. Preprosta ideja: modelu prepustite, da se odloči, kaj je pomembno. Globok vpliv: omogočila je vsak sodoben sistem umetne inteligence, ki ga uporabljate.
Ni čarovnija. Je uteženo povprečenje na podlagi naučene podobnosti. Ujemanje poizvedbe in ključa določa uteži. Uteži združujejo vrednosti. Ponovite za vsak vnos, vsako plast.
Računska cena je resnična. O(n²) omejuje, kako dolga so lahko zaporedja. Toda znotraj teh omejitev pozornost zagotavlja brezprecedenčno sposobnost razumevanja konteksta.
Razumeti pozornost pomeni razumeti sodobno arhitekturo umetne inteligence. Vse ostalo temelji na tem temelju. Obvladajte to in ostalo bo imelo smisel.
Želite učinkovito izbiro, podobno pozornosti? Raziščite mehanizem PAP podjetja Dweve. Binarno ujemanje vzorcev s statističnimi mejami. Izbira strokovnjakov ob delčku cene tradicionalne pozornosti. Vrsta določanja pomembnosti, ki deluje v obsegu.