Dėmesio mechanizmai: kaip dirbtinis intelektas nusprendžia, kas svarbu
Pokyčiai, kurių niekas nematė artėjant
2017 m. straipsnis „Attention Is All You Need“ reikšmingai pakeitė dirbtinį intelektą. Ne dėl egzotiškos naujos matematikos. O dėl paprastos idėjos: leisti modeliui pačiam nuspręsti, kas svarbu.
Dėmesio mechanizmai. Skamba abstrakčiai. Iš tikrųjų jie paprasti. Ir būtent jie įgalino ChatGPT, vaizdų generatorius ir visą šiuolaikinį dirbtinį intelektą, kurį naudojate.
Suprasdami dėmesio mechanizmus, suprasite ir šiuolaikinį dirbtinį intelektą. Išnagrinėkime juos iš arčiau.
Problema, kurią išsprendžia dėmesio mechanizmas
Senas dirbtinis intelektas (pasikartojantys tinklai) apdorodavo įvestis nuosekliai. Žodis po žodžio. Išlaikydamas paslėptą būseną. Informacija tekėjo tiesiškai.
Problema: ilgos sekos prastėjo. Informacija iš pradžios išblėsdavo iki pabaigos. Modelis „pamiršdavo“ ankstesnį kontekstą. Tai ribojo dirbtinio intelekto galimybes.
Dėmesio mechanizmas tai išsprendė. Paprasta koncepcija: žiūrėkite į visas įvestis vienu metu. Nustatykite, kurios dalys svarbios kuriems rezultatams. Atitinkamai jas įvertinkite.
Jokio nuoseklaus apdorojimo. Jokio informacijos prastėjimo. Visas kontekstas visada prieinamas. Revoliucinga.
Ką dėmesio mechanizmas iš tikrųjų daro
Dėmesio mechanizmas yra svertinis vidurkis. Ir viskas.
Turite įvestis. Norite apdoroti vieną iš jų. Tačiau teisingas apdorojimo būdas priklauso nuo visų kitų įvesčių. Dėmesio mechanizmas nustato, kiek kiekviena įvestis svarbi apdorojant dabartinę.
Pavyzdys: vertimas
Verčiame „The cat sat on the mat“ į prancūzų kalbą. Verčiant žodį „sat“, kurie anglų kalbos žodžiai svarbiausi?
„The“ svarbus šiek tiek (giminė). „Cat“ svarbus labai (subjektas). „Sat“ svarbiausias (pats žodis). „On“ svarbus iš dalies (kontekstas). Likę žodžiai mažiau.
Dėmesio mechanizmas apskaičiuoja šiuos svorius. Tada sujungia įvestis pagal tuos svorius. Svertinis vidurkis suteikia geriausią atvaizdą verčiant „sat“.
Pakartokite tai kiekvienam žodžiui. Kiekviename sluoksnyje. Štai kas yra dėmesio mechanizmas.
Kaip dėmesio mechanizmas iš tikrųjų veikia
Trys žingsniai: užklausa, raktas, reikšmė. Skamba sudėtingai. Iš tikrųjų ne.
1 žingsnis: sukurkite užklausas, raktus ir reikšmes
Kiekvienai įvesčiai sukurkite tris vektorius:
- Užklausa: „Ko aš ieškau?“
- Raktas: „Ką aš siūlau?“
- Reikšmė: „Štai mano tikroji informacija“
Tai tik tiesinės įvesties transformacijos. Matricų daugyba. Nieko įmantraus.
2 žingsnis: apskaičiuokite dėmesio svorius
Palyginkite kiekvieną užklausą su visais raktais. Skaliarinė sandauga matuoja panašumą. Panaši užklausa ir raktas = didelis balas. Skirtingi = mažas balas.
Taikykite softmax. Paverčia balus tikimybėmis. Dabar turite dėmesio svorius. Jų suma lygi 1.
3 žingsnis: svertinis reikšmių vidurkis
Naudokite dėmesio svorius reikšmių vidurkiui. Didelis svoris = didesnė įtaka. Mažas svoris = mažesnė įtaka.
Rezultatas: naujas kiekvienos įvesties atvaizdas, pagrįstas visomis kitomis įvestimis, įvertintas pagal aktualumą.
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
Tradicinė atidėmes yra slankiojo kablelio. Brangi. Tačiau koncepcija tinka ir apribojimais pagrįstoms sistemoms.
PAP (Permuted Agreement Popcount):
Mūsų atidėmes versija dvejetainiams modeliams. Vietoj skaliarinių sandaugų naudojame XNOR ir popcount. Vietoj softmax naudojame statistines ribas.
Ta pati koncepcija: nustatyti, kurie modeliai svarbūs. Kitoks įgyvendinimas: dvejetainės operacijos vietoj slankiojo kablelio.
Rezultatas: į atidėmes panaši atranka už mažą skaičiavimo kainos dalį. Kurie ekspertai yra svarbūs? PAP tai nustato. Efektyviai.
Ką reikia įsiminti
- 1. Atidėmes yra svertinis vidurkis. Nustatykite svarbą, atitinkamai įvertinkite įvestis, sujunkite. Paprasta koncepcija, galingi rezultatai.
- 2. Užklausos rakto reikšmės mechanizmas. Užklausa klausia, raktai atsako, reikšmės pateikia informaciją. Panašumas nustato svorius.
- 3. Savidėmes ir kryžminė atidėmes. Savidėmes: įvestys kreipia dėmesį į save. Kryžminė: viena seka kreipia dėmesį į kitą.
- 4. Daugiagalvė atidėmes fiksuoja kelias perspektyvas. Skirtingos galvos išmoksta skirtingus modelius. Sujungtos jos suteikia turtingą supratimą.
- 5. Skaičiavimo kaina yra O(n²). Kvadratinis sudėtingumas riboja konteksto ilgį. Ilgų sekų kliūtis.
- 6. Atidėmes įgalino šiuolaikinį dirbtinį intelektą. Transformeriai, GPT, BERT, regos transformeriai. Visa tai pagrįsta atidėmes.
- 7. Egzistuoja dvejetainės alternatyvos. PAP suteikia į atidėmes panašią atranką dvejetainėmis operacijomis. Ta pati koncepcija, kitoks įgyvendinimas.
Esmė
Atidėmes yra svarbiausia pastarojo dešimtmečio dirbtinio intelekto naujovė. Paprasta idėja: leiskite modeliui nuspręsti, kas svarbu. Didelis poveikis: įgalino kiekvieną šiuolaikinę dirbtinio intelekto sistemą, kurią naudojate.
Tai ne magija. Tai svertinis vidurkis, pagrįstas išmoktu panašumu. Užklausos ir rakto atitikimas nustato svorius. Svoriai sujungia reikšmes. Kartokite kiekvienai įvesčiai, kiekvienam sluoksniui.
Skaičiavimo kaina yra reali. O(n²) riboja, kokios ilgos gali būti sekos. Tačiau šiose ribose atidėmes suteikia precedento neturintį gebėjimą suprasti kontekstą.
Suprasti atidėmes reiškia suprasti šiuolaikinę dirbtinio intelekto architektūrą. Visa kita remiasi šiuo pagrindu. Įvaldykite tai, ir visa kita taps aišku.
Norite efektyvios į atidėmes panašios atrankos? Išbandykite Dweve PAP mechanizmą. Dvejetainis modelių atitikimas su statistinėmis ribomis. Ekspertų atranka už mažą tradicinės atidėmes kainos dalį. Toks svarbos nustatymas, kuris veikia dideliu mastu.