Attention-mekanismit: miten tekoäly päättää, mikä on tärkeää

Attention mullisti tekoälyn. Mutta mikä se oikeastaan on? Näin huomiointi toimii ja miksi se muutti kaiken.

Attention-mekanismit: miten tekoäly päättää, mikä on tärkeää

Kehitys, jota kukaan ei nähnyt tulevaksi

Vuonna 2017 julkaistu artikkeli "Attention Is All You Need" muutti tekoälyä merkittävästi. Ei mullistavan uuden matematiikan avulla, vaan yksinkertaisen ajatuksen kautta: annetaan mallin päättää, mikä on tärkeää.

Huomiointi. Se kuulostaa abstraktilta, mutta on itse asiassa yksinkertaista. Se mahdollisti ChatGPT:n, kuvageneraattorit ja kaiken nykyaikaisen tekoälyn, jota käytät.

Huomioinnin ymmärtäminen auttaa ymmärtämään nykyaikaista tekoälyä. Puretaan se osiin.

Ongelma, jonka huomiointi ratkaisee

Vanha tekoäly (rekursiiviset verkot) käsitteli syötteitä peräkkäin. Sana sanalta. Ylläpitäen piilotilaa. Tieto kulki lineaarisesti.

Ongelma: pitkät sekvenssit heikkenivät. Alun tiedot haalistuivat loppua kohden. Malli "unohti" varhaisen kontekstin. Tämä rajoitti tekoälyn mahdollisuuksia.

Huomiointi ratkaisi tämän. Yksinkertainen konsepti: tarkastellaan kaikkia syötteitä samanaikaisesti. Määritetään, mitkä osat ovat merkityksellisiä millekin tulosteelle. Painotetaan niitä sen mukaisesti.

Ei peräkkäistä käsittelyä. Ei tiedon heikkenemistä. Täysi konteksti aina saatavilla. Vallankumouksellista.

Huomiointi poistaa rekursiivisen pullonkaulan: nykyinen token voi tarkastella koko lausetta sen sijaan, että se perisi haalistuneen yhteenvedon.

Mitä huomiointi oikeastaan tekee

Huomiointi on painotettua keskiarvoa. Siinä kaikki.

Sinulla on syötteitä. Haluat käsitellä yhtä niistä. Mutta oikea tapa käsitellä sitä riippuu kaikista muista syötteistä. Huomiointi selvittää, kuinka paljon kukin syöte vaikuttaa nykyisen käsittelyyn.

Esimerkki: kääntäminen

Käännetään "The cat sat on the mat" ranskaksi. Kun käännetään sanaa "sat", mitkä englanninkieliset sanat ovat merkityksellisimpiä?

"The" vaikuttaa vähän (sukupuoli). "Cat" vaikuttaa paljon (subjekti). "Sat" vaikuttaa eniten (itse sana). "On" vaikuttaa jonkin verran (konteksti). Muut vähemmän.

Huomiointi laskee nämä painot. Sitten se yhdistää syötteet painojen mukaisesti. Painotettu keskiarvo antaa parhaan esityksen sanan "sat" kääntämiseen.

Tee tämä jokaiselle sanalle. Jokaisella kerroksella. Sitä huomiointi on.

Yhdelle kohdesanalle huomiointi on painotettu arvojen sekoitus: "cat" ja "sat" hallitsevat, mutta ympäröivät sanat tuovat silti kontekstia.

Näin huomiointi oikeasti toimii

Kolme vaihetta: Query, Key, Value. Kuulostaa monimutkaiselta. Ei ole.

Vaihe 1: luo kyselyt, avaimet ja arvot

Luo jokaiselle syötteelle kolme vektoria:

- Query: "Mitä etsin?"

- Key: "Mitä tarjoan?"

- Value: "Tässä on varsinainen tietoni"

Nämä ovat vain syötteen lineaarisia muunnoksia. Matriisikertolaskuja. Ei mitään hienoa.

Vaihe 2: laske huomiointipainot

Vertaa jokaista kyselyä kaikkiin avaimiin. Pistetulo mittaa samankaltaisuutta. Samankaltainen kysely ja avain = korkea pistemäärä. Eriävät = matala pistemäärä.

Sovella softmaxia. Muuttaa pistemäärät todennäköisyyksiksi. Nyt sinulla on huomiointipainot. Niiden summa on 1.

Vaihe 3: arvojen painotettu keskiarvo

Käytä huomiointipainoja arvojen keskiarvon laskemiseen. Korkea paino = enemmän vaikutusta. Matala paino = vähemmän vaikutusta.

Tulos: uusi esitys jokaiselle syötteelle, joka on saanut vaikutteita kaikista muista syötteistä ja painotettu merkityksellisyyden mukaan.

Tämä on huomio. Kyselyavaimen samankaltaisuus määrittää painot. Painot yhdistävät arvot. Siinä se.

Itsestään huomiointi vs. ristiinhuomiointi

Kahdenlainen huomio palvelee eri tarkoituksia:

Itsestään huomiointi:

Syötteet huomioivat itseään. Jokainen sana tarkastelee kaikkia muita sanoja samassa lauseessa. Määrittää, mitkä sanat ovat merkityksellisiä kunkin sanan ymmärtämiselle.

Esimerkki: "Eläin ei ylittänyt katua, koska se oli liian väsynyt." Mihin "se" viittaa? Itsestään huomiointi selvittää tämän kiinnittämällä voimakkaasti huomiota sanaan "eläin".

Ristiinhuomiointi:

Yksi sekvenssi huomioi toista. Käännöksessä: ranskan sanat huomioivat englannin sanoja. Kuvatekstityksessä: kuvatekstin sanat huomioivat kuvan alueita.

Eri sekvenssit. Kyselyt yhdestä, avaimet ja arvot toisesta. Yhdistää eri modaliteetteja tai kieliä.

Monipäinen huomio (useita näkökulmia)

Yksi huomiopää = yksi näkökulma. Monipäinen = useita näkökulmia samanaikaisesti.

Sen sijaan, että olisi yksi joukko kyselyitä/avaimia/arvoja, luodaan useita joukkoja. Jokainen pää oppii erilaisia kaavoja.

Pää 1 saattaa oppia syntaktisia suhteita (subjekti-verbi). Pää 2 saattaa oppia semanttisia suhteita (sanojen merkitykset). Pää 3 saattaa oppia paikkakohtaisia kaavoja.

Yhdistä kaikki päät. Nyt sinulla on useita näkökulmia samoihin syötteisiin. Rikkaampi esitys. Parempi ymmärrys.

Transformers käyttää tyypillisesti 8-16 päätä. Jokainen pää on 1/8 tai 1/16 koko mallin ulottuvuuden koosta. Laskennallinen kustannus pysyy hallittavana.

Laskennallinen kustannus

Huomio on tehokas. Myös kallis.

Monimutkaisuus: O(n²)

Jokainen syöte huomioi jokaista muuta syötettä. Kun syötteitä on n, vertailuja on n². Neliöllinen monimutkaisuus.

Kaksinkertaista sekvenssin pituus, nelinkertaista laskenta. Tämän vuoksi konteksti-ikkunat ovat rajallisia. Ei vain muistin takia. Laskenta räjähtää.

Esimerkki:

1 000 tokenia: 1 miljoona operaatiota

10 000 tokenia: 100 miljoonaa operaatiota

100 000 tokenia: 10 miljardia operaatiota

Huomio on pullonkaula pitkille konteksteille. Erilaiset tekniikat (harva huomio, lineaarinen huomio) yrittävät ratkaista tämän. Parhaimmillaankin osittaisia ratkaisuja.

Miksi huomio muutti kaiken

Ennen huomiota: peräkkäinen käsittely, rajallinen konteksti, tiedon heikkeneminen.

Huomion jälkeen: rinnakkainen käsittely, täysi konteksti, ei heikkenemistä.

Tämä mahdollisti:

  • Paremmat kielimallit: Voivat ymmärtää pitkiä dokumentteja. Ei kontekstirajaa peräkkäisestä käsittelystä. BERT, GPT, kaikki käyttävät huomiota.
  • Parempi käännös: Voi kiinnittää huomion olennaisiin lähdekielen sanoihin. Riippumatta siitä, kuinka kaukana ne ovat. Laatu parani huomattavasti.
  • Vision Transformers: Huomio toimii kuvan paloilla. Kilpailukykyinen CNN:ien kanssa monissa tehtävissä. Yhtenäinen arkkitehtuuri näölle ja kielelle.
  • Multimodaaliset mallit: Teksti huomioi kuvia. Kuvat huomioivat tekstiä. Modaliteettien välinen ymmärrys. CLIP, DALL-E, kaikki käyttävät huomiota.

Huomio on modernin tekoälyn perusta. Kaikki rakentuu sen varaan.

Läpimurto oli arkkitehtoninen uudelleenkäyttö: kun täysi konteksti oli rinnakkainen, kieli, käännös, näkö ja multimodaaliset järjestelmät saattoivat jakaa saman kiitotien.

Huomio Dweven arkkitehtuurissa

Perinteinen attention perustuu liukulukuihin. Kalliita. Mutta konsepti soveltuu myös rajoitteisiin perustuviin järjestelmiin.

PAP (Permuted Agreement Popcount):

Meidän versionsi attentionista binäärisille kuvioille. Pistetulojen sijaan käytämme XNOR:ia ja popcountia. Softmaxin sijaan käytämme tilastollisia rajoja.

Sama konsepti: määritä, mitkä kuviot ovat merkityksellisiä. Erilainen toteutus: binäärioperaatiot liukulukujen sijaan.

Tulos: attentionin kaltainen valinta murto-osalla laskentakustannuksista. Mitkä asiantuntijat ovat olennaisia? PAP määrittää tämän. Tehokkaasti.

Mitä Sinun Tulee Muistaa

  • 1. Attention on painotettua keskiarvoa. Määritä merkityksellisyys, painota syötteet sen mukaan, yhdistä. Yksinkertainen konsepti, tehokkaat tulokset.
  • 2. Query-Key-Value-mekanismi. Query kysyy, Keyt vastaavat, Valuet tarjoavat tietoa. Samankaltaisuus määrittää painot.
  • 3. Itseattention vs. ristiaattention. Itse: syötteet kohdistavat huomion itseensä. Risti: yksi sekvenssi kohdistaa huomion toiseen.
  • 4. Monipäinen rakenne vangitsee useita näkökulmia. Eri päät oppivat erilaisia kuvioita. Yhdistettynä ne tarjoavat rikkaan ymmärryksen.
  • 5. Laskentakustannus on O(n²). Neliöllinen kompleksisuus rajoittaa kontekstin pituutta. Pullonkaula pitkille sekvensseille.
  • 6. Attention mahdollisti modernin tekoälyn. Transformers, GPT, BERT, vision transformers. Kaikki rakennettu attentionin varaan.
  • 7. Binäärisiä vaihtoehtoja on olemassa. PAP tarjoaa attentionin kaltaisen valinnan binäärioperaatioilla. Sama konsepti, erilainen toteutus.
PAP säilyttää attentionin relevanssinvalintakonseptin, mutta vaihtaa pistetulot ja softmaxin binääriseen samankaltaisuuteen ja tilastollisiin rajoihin.

Lopputulos

Attention on viime vuosikymmenen tärkein tekoälyinnovaatio. Yksinkertainen idea: anna mallin päättää, mikä on merkityksellistä. Syvällinen vaikutus: mahdollisti jokaisen modernin tekoälyjärjestelmän, jota käytät.

Se ei ole taikuutta. Se on painotettua keskiarvoa, joka perustuu opittuun samankaltaisuuteen. Query-key-vastaavuus määrittää painot. Painot yhdistävät arvot. Toista jokaiselle syötteelle, jokaiselle kerrokselle.

Laskentakustannus on todellinen. O(n²) rajoittaa sekvenssien pituutta. Mutta näiden rajojen sisällä attention tarjoaa ennennäkemättömän kyvyn ymmärtää kontekstia.

Attentionin ymmärtäminen tarkoittaa modernin tekoälyarkkitehtuurin ymmärtämistä. Kaikki muu rakentuu tämän perustan varaan. Hallitse tämä, ja loput käyvät järkeen.

Haluatko tehokasta attentionin kaltaista valintaa? Tutustu Dweven PAP-mekanismiin. Binääristä kuvioiden täsmäytystä tilastollisilla rajoilla. Asiantuntijavalinta murto-osalla perinteisen attentionin kustannuksista. Sellaista relevanssin määritystä, joka toimii suuressa mittakaavassa.