Tähelepanumehhanismid: kuidas AI otsustab, mis on oluline
Areng, mida keegi ei osanud oodata
2017. aastal muutis teadustöö pealkirjaga "Attention Is All You Need" tehisintellekti oluliselt. Mitte mingi eksootilise uue matemaatika kaudu. Vaid lihtsa idee kaudu: las mudel otsustab, mis on oluline.
Tähelepanumehhanismid. Kõlab abstraktselt. Tegelikult on need lihtsad. Ja need võimaldasid ChatGPT-d, pildigeneraatoreid, kõike kaasaegset tehisintellekti, mida sa kasutad.
Tähelepanu mõistmine aitab sul mõista kaasaegset tehisintellekti. Võtame selle lahti.
Probleem, mille tähelepanu lahendab
Vana tehisintellekt (rekurrentsed võrgustikud) töötles sisendeid järjestikku. Sõna sõnalt. Hoides üleval peidetud olekut. Info liikus lineaarselt.
Probleem: pikad jadad halvenesid. Alguse info tuhmus lõpuks. Mudel "unustas" varasema konteksti. See piiras, mida tehisintellekt suutis teha.
Tähelepanu lahendas selle. Lihtne kontseptsioon: vaata kõiki sisendeid korraga. Määra, millised osad on olulised milliste väljundite jaoks. Kaalu neid vastavalt.
Pole järjestikust töötlust. Pole info halvenemist. Täielik kontekst on alati saadaval. Revolutsiooniline.
Mida tähelepanu tegelikult teeb
Tähelepanu on kaalutud keskmistamine. See on kõik.
Sul on sisendid. Sa tahad töödelda ühte neist. Aga õige viis selle töötlemiseks sõltub kõigist teistest sisenditest. Tähelepanu arvutab, kui palju iga sisend on oluline praeguse töötlemisel.
Näide: tõlkimine
Tõlgime "The cat sat on the mat" prantsuse keelde. Tõlkides sõna "sat", millised inglise sõnad on kõige olulisemad?
"The" on veidi oluline (sugu). "Cat" on väga oluline (alus). "Sat" on kõige olulisem (sõna ise). "On" on mõnevõrra oluline (kontekst). Ülejäänud vähem.
Tähelepanu arvutab need kaalud. Seejärel kombineerib sisendid nende kaalude järgi. Kaalutud keskmine annab parima esituse sõna "sat" tõlkimiseks.
Tee seda iga sõna jaoks. Igal kihil. See ongi tähelepanu.
Kuidas tähelepanu tegelikult töötab
Kolm sammu: Query, Key, Value. Kõlab keeruliselt. Ei ole.
Samm 1: loo päringud, võtmed ja väärtused
Iga sisendi jaoks loo kolm vektorit:
- Query: "Mida ma otsin?"
- Key: "Mida ma pakun?"
- Value: "Siin on minu tegelik info"
Need on lihtsalt sisendi lineaarsed teisendused. Maatrikskorrutised. Midagi erilist.
Samm 2: arvuta tähelepanukaalud
Iga päringu jaoks võrdle seda kõigi võtmetega. Punktkorrutis mõõdab sarnasust. Sarnane päring ja võti = kõrge skoor. Erinev = madal skoor.
Rakenda softmax. Muudab skoorid tõenäosusteks. Nüüd on sul tähelepanukaalud. Nende summa on 1.
Samm 3: väärtuste kaalutud keskmine
Kasuta tähelepanukaale väärtuste keskmistamiseks. Kõrge kaal = rohkem mõju. Madal kaal = vähem mõju.
Tulemus: iga sisendi jaoks uus esitus, mis on mõjutatud kõigist teistest sisenditest ja kaalutud olulisuse järgi.
That's attention. Query-key similarity determines weights. Weights combine values. Done.
Self-Attention vs Cross-Attention
Two types of attention serve different purposes:
Self-Attention:
Inputs attend to themselves. Each word looks at all other words in the same sentence. Determines which words matter for understanding each word.
Example: "The animal didn't cross the street because it was too tired." What does "it" refer to? Self-attention figures this out by attending to "animal" strongly.
Cross-Attention:
One sequence attends to another. Translation: French words attend to English words. Image captioning: caption words attend to image regions.
Different sequences. Queries from one, keys and values from another. Connects different modalities or languages.
Multi-Head Attention (Multiple Perspectives)
Single attention head = one perspective. Multi-head = multiple perspectives simultaneously.
Instead of one set of queries/keys/values, create multiple sets. Each head learns different patterns.
Head 1 might learn syntactic relationships (subject-verb). Head 2 might learn semantic relationships (word meanings). Head 3 might learn positional patterns.
Combine all heads. Now you have multiple perspectives on the same inputs. Richer representation. Better understanding.
Transformers typically use 8-16 heads. Each head is 1/8 or 1/16 the size of full model dimension. Computational cost stays manageable.
The Computational Cost
Attention is powerful. Also expensive.
Complexity: O(n²)
Every input attends to every other input. For n inputs, that's n² comparisons. Quadratic complexity.
Double the sequence length, quadruple the computation. This is why context windows are limited. Not just memory. Computation explodes.
Example:
1,000 tokens: 1 million operations
10,000 tokens: 100 million operations
100,000 tokens: 10 billion operations
Attention is the bottleneck for long contexts. Various techniques (sparse attention, linear attention) try to address this. Partial solutions at best.
Why Attention Changed Everything
Before attention: sequential processing, limited context, information degradation.
After attention: parallel processing, full context, no degradation.
This enabled:
- Improved Language Models: Can understand long documents. No context limit from sequential processing. BERT, GPT, all use attention.
- Improved Translation: Can attend to relevant source words. No matter how far apart. Quality improved substantially.
- Vision Transformers: Attention works on image patches. Competitive with CNNs for many tasks. Unified architecture for vision and language.
- Multimodal Models: Text attends to images. Images attend to text. Cross-modal understanding. CLIP, DALL-E, all use attention.
Attention is the foundation of modern AI. Everything builds on it.
Attention in Dweve's Architecture
Traditsiooniline tähelepanu on ujukomaarvudel põhinev. Kallis. Kuid kontseptsioon kehtib ka piirangutel põhinevate süsteemide puhul.
PAP (Permuted Agreement Popcount):
Meie versioon tähelepanust binaarsete mustrite jaoks. Punktkorrutiste asemel kasutame XNOR-i ja popcounti. Softmaxi asemel kasutame statistilisi piire.
Sama kontseptsioon: määrame, millised mustrid on olulised. Erinev teostus: binaarsed tehted ujukomaarvude asemel.
Tulemus: tähelepanulaadne valik murdosa arvutuslikust kulust. Millised eksperdid on asjakohased? PAP määrab selle. Tõhusalt.
Mida Pead Meeles Pidama
- 1. Tähelepanu on kaalutud keskmistamine. Määra asjakohasus, kaalu sisendeid vastavalt, kombineeri. Lihtne kontseptsioon, võimsad tulemused.
- 2. Query-Key-Value mehhanism. Query küsib, Keys vastavad, Values annavad teavet. Sarnasus määrab kaalud.
- 3. Enese-tähelepanu vs risttähelepanu. Enese: sisendid pööravad tähelepanu iseendale. Rist: üks jada pöörab tähelepanu teisele.
- 4. Mitme peaga töötlus hõlmab mitut vaatenurka. Erinevad pead õpivad erinevaid mustreid. Kombineerituna annavad nad rikkaliku arusaama.
- 5. Arvutuslik kulu on O(n²). Ruutkeerukus piirab konteksti pikkust. Pudelikael pikkade jadade puhul.
- 6. Tähelepanu võimaldas kaasaegse tehisintellekti. Transformers, GPT, BERT, visioonitransformers. Kõik põhinevad tähelepanul.
- 7. Binaarsed alternatiivid on olemas. PAP pakub tähelepanulaadset valikut binaarsete tehetega. Sama kontseptsioon, erinev teostus.
Kokkuvõte
Tähelepanu on viimase kümnendi kõige olulisem tehisintellekti uuendus. Lihtne idee: lase mudelil otsustada, mis on oluline. Sügav mõju: võimaldas kõik kaasaegsed tehisintellekti süsteemid, mida sa kasutad.
See pole maagia. See on kaalutud keskmistamine, mis põhineb õpitud sarnasusel. Query-key kokkulangevus määrab kaalud. Kaalud kombineerivad väärtused. Korda iga sisendi ja iga kihi puhul.
Arvutuslik kulu on reaalne. O(n²) piirab, kui pikad jadad võivad olla. Kuid nendes piirides pakub tähelepanu enneolematu võime konteksti mõista.
Tähelepanu mõistmine tähendab kaasaegse tehisintellekti arhitektuuri mõistmist. Kõik muu põhineb sellel alusel. Meisterda see ja ülejäänu on arusaadav.
Tahad tõhusat tähelepanulaadset valikut? Avasta Dweve'i PAP-mehhanism. Binaarne mustrite sobitamine statistiliste piiridega. Ekspertide valik murdosa traditsioonilise tähelepanu kulust. Selline asjakohasuse määramine, mis töötab suures mahus.