A Self-Attention egy neurális hálózati mechanizmus, amely egy szekvencia – például egy szöveg tokensorozata – elemei közötti kapcsolatokat súlyozza annak érdekében, hogy minden elem reprezentációját a többi releváns elem figyelembevételével alakítsa ki. A Transformer architektúra egyik alapvető komponense, és ezen keresztül a modern nagy nyelvi modellek működésének is fontos része.
A self-attention lényege, hogy a modell egy szekvencia feldolgozásakor annak saját elemei között keresi a releváns kapcsolatokat. Innen ered a „self” elnevezés: a query, key és value reprezentációk ugyanabból a bemeneti szekvenciából származnak.
A Transformerben minden tokenhez három reprezentáció készül: Query (Q), Key (K) és Value (V). A rendszer a query és key reprezentációk összevetésével számítja ki, hogy egy adott token szempontjából a többi token milyen súlyt kapjon. Ezekkel a súlyokkal kombinálja a value reprezentációkat, így az adott token új reprezentációja már a releváns kontextust is tartalmazza.
A modern Transformerek jellemzően multi-head attentiont használnak: több attention művelet fut párhuzamosan különböző tanult projekciókkal. Ez lehetővé teszi, hogy a modell egyszerre többféle kapcsolatot reprezentáljon a szekvencia elemei között.
Generatív, autoregresszív nyelvi modelleknél a self-attention általában úgynevezett causal maskinggal működik. Ilyenkor egy token csak a saját és az előtte lévő pozíciók információját használhatja, a későbbi tokeneket nem láthatja. Ez szükséges ahhoz, hogy a modell a szöveget tokenről tokenre generálhassa.
Konkrét példa
A mondatban, hogy „A vásárló visszaküldte a laptopot, mert az meghibásodott”, az „az” értelmezéséhez fontos a korábban szereplő „laptop”.
A self-attention mechanizmus lehetővé teszi, hogy az „az” reprezentációjának kialakításakor a modell súlyozza a mondat többi tokenjét, és a releváns kapcsolatok információját beépítse az aktuális reprezentációba. Ez nem egy kézzel megírt nyelvtani szabály: a kapcsolatok súlyozását a modell a tanítás során tanulja meg.
Miért fontos?
A self-attention segít a Transformernek abban, hogy a szöveg különböző részei közötti kapcsolatokat kontextusfüggően kezelje, miközben a szekvencia elemei nagymértékben párhuzamosan feldolgozhatók. Ez volt a Transformer egyik meghatározó újítása a korábbi, elsősorban rekurrens szekvenciamodellekhez képest.
Digitális döntéshozóként nem szükséges a mögötte álló matematikát ismerni. A lényegi különbség: a Transformer az architektúra, a self-attention pedig annak egyik központi mechanizmusa.
Kapcsolódó fogalmak
Transformer
Attention
Multi-Head Attention
Large Language Model (LLM)
Token