Ga naar de gids
Praktisch AI-advies voor teams en leiders
Kookaburra Advies
Menu

Interactieve AI-gids

Hoe elk token relevante context vindt

Door Kai Bergin

Context hoefde niet langer stap voor stap te reizen.

Redactionele reconstructie van een machinelearninglab uit 2017 met GPU-werkstations, vertaaldiagrammen en attentionmatrices
Redactionele reconstructie Vertaling wordt een matrixprobleem

Recurrente sequentiemodellen verwerkten een reeks stap voor stap. Eerdere attentionmechanismen verbeterden vertaling doordat een recurrente decoder gericht delen van de invoer kon selecteren, maar de berekening bleef recurrent en liep nog steeds stap voor stap door de reeks.

Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan Gomez, Lukasz Kaiser en Illia Polosukhin stelden een vervolgvraag: kon een sequentiemodel volledig op attention worden gebouwd?

Hun artikel uit 2017 verving recurrentie en convolutie langs de sequentie door gestapelde attention- en feedforwardblokken. Hun grootste model bereikte 28,4 BLEU voor vertaling van Engels naar Duits na 3,5 dagen op acht P100-GPU's.

Het oude pad

De recurrente toestand droeg informatie positie voor positie door de reeks.

Het nieuwe pad

Elke positie kon zichzelf rechtstreeks met iedere beschikbare positie vergelijken.

De oorspronkelijke taak

De Transformer begon als een encoder-decodermodel voor vertaling, niet als chatbot.

Attention begon niet in 2017. Bahdanau, Cho, Bengio en anderen hadden aangeleerde attention al gebruikt met recurrente modellen. De Transformer maakte attention tot het centrale mechanisme om informatie uit de reeks te combineren.

Attention weegt relevante informatie en combineert die.

Eén positie vergelijkt een query (zoekvraag) met iedere key (sleutel) en combineert daarna de bijbehorende values (waardevectoren).

begin token + positie wat en waar
vraag query wat heb ik nodig?
vergelijk query x keys compatibiliteitsscores
normaliseer softmax gewichten tellen op tot één
verzamel gewogen values informatie wordt gemengd
resultaat contextueel token een nieuwe representatie
Attention(Q, K, V) = softmax(QKT / √dk)V Vergelijk queries met keys, normaliseer de scores en meng daarna de values.

Query (zoekvraag)

De query beschrijft waar de huidige positie naar zoekt.

Vergelijk

Inproducten vergelijken de query met iedere beschikbare key.

Weeg

Softmax zet positieve en negatieve scores om in gewichten die samen één vormen.

Verzamel

De waardevectoren worden volgens die gewichten gecombineerd.

Attention is niet de volledige Transformer. Een compleet blok heeft ook feedforwardlagen, restpaden, normalisatie, positie-informatie en aangeleerde projecties nodig.

Interactief attentionlab

Laat één token om zich heen kijken.

Kies een query, bekijk de scores en zie hoe het model relevante informatie combineert.

Berekeningsfase
Gedrag van de decoder

Vogels steken de rivier over

query (zoekvraag): steken

Kies het token dat om context gaat vragen.

Queryvector qsteken = [1.000, 1.000]
QKT / √dk softmax gewogen V
Bekijk elke positie Vraag: wat heeft steken nodig?
Σ gewichten = 1.000
Contextuele uitvoer [0.456, 0.518]

Voor steken is rivier de sterkste overeenkomst. Elke beschikbare value draagt nog steeds bij aan het mengsel.

Wat je ziet: één attentionhead met kleine, handmatig ingestelde tweedimensionale vectoren. Daardoor is elke berekening te bekijken. Echte modellen leren veel grotere projecties en afzonderlijke coördinaten hebben geen gegarandeerde, voor mensen leesbare betekenis.

Maskeren gebeurt vóór softmax. Een causale decoder vervangt toekomstige scores door min oneindig, waardoor hun gewichten nul worden. In het eenvoudige autoregressieve model ontstaat de uitvoer token voor token; productieomgevingen kunnen dat proces met aanvullende technieken versnellen.

Attention combineert informatie; de Transformer stapelt complete verwerkingsblokken.

Het oorspronkelijke model combineerde attention met positie, restpaden, normalisatie en transformaties per token.

6 + 6encoder- en decoderlagen
512modeldimensies
8attentionheads
65Mbasisparameters
Lees de bron

Encoder

Tokenembedding + positie
Self-attention met meerdere heads
Optellen + normaliseren
Feedforwardnetwerk per positie
Optellen + normaliseren
herhaal over zes lagen
keys + values
Schrijf het doel

Decoder

Verschoven uitvoer + positie
Gemaskeerde self-attention
Optellen + normaliseren
Encoder-decoderattention
Feedforwardnetwerk + restpad
Lineaire projectie + softmax

Positiecodering legt de volgorde vast

Self-attention alleen weet niet welk token als eerste kwam.

Attentionheads kunnen verschillende relaties leren

Iedere head gebruikt afzonderlijke aangeleerde projecties en kan andere relaties tussen posities benadrukken.

Een causaal masker blokkeert toekomstige tokens

Decoderposities kunnen uitvoertokens die nog niet zijn gegenereerd niet bekijken.

Feedforwardlagen transformeren

Attention mengt posities. Het volgende netwerk transformeert elke positie onafhankelijk.

De Transformer bracht meerdere ideeën tegelijk samen.

Recurrentie, aangeleerde uitlijning, diepe representaties, restleren en versnelde matrixbewerkingen vormden samen het resultaat.

1997

Poorten verlengen recurrent geheugen

LSTM verbetert het leren over langere reeksen.

2014

Sequence-to-sequence-modellen koppelen invoer aan uitvoer

Encoder-decodernetwerken maken neurale vertaling op grotere schaal mogelijk.

2014/15

Attention leert uitlijning

Een recurrente decoder doorzoekt de bron naar relevante posities.

2017

Attention wordt de architectuur

De Transformer verwijdert recurrentie en convolutie langs de sequentie.

2018+

Pretraining maakt Transformer-architecturen schaalbaar

Transformers met alleen een encoder of alleen een decoder groeien uit tot families van basismodellen.

Moderne AI selecteert nog steeds context met attention.

De blauwdruk uit 2017 werd een familie van encoders, decoders, multimodale systemen en grote voorgetrainde modellen.

Dimensie
2017 Transformer
Moderne basismodellen
Primair gebruik
Gesuperviseerde machinevertaling
Brede pretraining gevolgd door aanpassing
Stapel
Encoder-decoder
Varianten met alleen een encoder, alleen een decoder en multimodale varianten
Leersignaal
Paren van vertaalde zinnen
Voorspellingsdoelen afgeleid uit grote datasets
Attentionpatroon
Volledige encoderattention en causale decoderattention
Volledige, causale, lokale, schaarse en varianten voor een lange context
Schaal
Encoder- en decoderstapels van zes lagen
Veel diepere en bredere architectuurfamilies

De doorbraak was aangeleerde relevantie.

Elke positie kon haar volgende representatie opbouwen uit de delen van de reeks die daarvoor het bruikbaarst waren.

token query gewichten context volgende representatie

Lees de bronnen achter deze ontwikkeling.

Het mechanisme, de historische nuances, architectuurdetails en moderne verbinding in deze gids komen uit deze primaire publicaties.

Deze selectie van mijlpalen is bewust compact. Ze vertegenwoordigt niet iedere onderzoeker, architectuur, dataset, trainingsmethode, hardwareontwikkeling of kritiek die machine learning op basis van attention heeft gevormd.