Ga naar de hoofdinhoud
BVDNET
Arnhem · websites & automatiseringBVDNET
Modellen & Architectuur

Positional Encoding

Positional encoding vertelt transformers de volgorde van tokens in een sequentie, aangezien self-attention alleen positie-agnostisch is. Moderne aanpakken zoals RoPE maken 128K+ contextvensters mogelijk.

Ook bekend als: positie-encodering, RoPE, rotary embedding, ALiBi

Wat is Positional Encoding?

Positional encoding is het mechanisme waarmee transformer-modellen informatie over de positie en volgorde van tokens in een sequentie vastleggen. Transformers verwerken alle tokens tegelijkertijd (parallel), waardoor ze geen inherent besef hebben van volgorde — positional encoding voegt deze volgorde-informatie kunstmatig toe.

Waarom het ertoe doet

Zonder positional encoding zou een transformer de zinnen "de hond beet de man" en "de man beet de hond" als identiek behandelen — dezelfde tokens, dezelfde betekenis. Positional encoding is wat transformers sequentiebewust maakt en is een actief onderzoeksgebied: de keuze van encoding bepaalt het effectieve contextvenster van het model.

Hoe het werkt

Het probleem:

  • Self-attention is permutatie-invariant (de volgorde van tokens maakt niet uit)
  • Taal is sequentieel — volgorde bepaalt betekenis
  • Er is een manier nodig om positie-informatie toe te voegen

Methoden:

1. Sinusvormige positional encoding (oorspronkelijke transformer):

  • Gebruikt sinus- en cosinusfuncties met verschillende frequenties
  • Elke positie krijgt een uniek patroon
  • Voordeel: generaliseert theoretisch naar langere sequenties

2. Geleerde positional embeddings (BERT, GPT-2):

  • Elke positie krijgt een trainbare embedding-vector
  • Het model leert zelf de beste representatie
  • Nadeel: beperkt tot de maximale trainingslengte

3. Rotary Position Embedding (RoPE) (LLaMA, GPT-NeoX):

  • Roteert embedding-vectoren op basis van positie
  • Codeert relatieve posities in het attention-mechanisme
  • Schaalt beter naar langere contexten

4. ALiBi (Attention with Linear Biases):

  • Voegt een lineaire bias toe aan attention-scores op basis van afstand
  • Geen extra parameters nodig
  • Goede lengte-generalisatie

Voorbeeld

In de zin "De kat zat op de mat" voegt RoPE aan elk token een positie-afhankelijke rotatie toe. Het model weet daardoor dat "kat" op positie 2 staat en "mat" op positie 6, en dat de afstand ertussen 4 tokens is. Dit stelt het model in staat om grammaticale relaties en afhankelijkheden correct te modelleren, ongeacht de absolute positie in een lang document.