Positional Encodings
The Problem
Attention is permutation-invariant: "cat sat" = "sat cat" We need to inject position information.
Sinusoidal Positional Encoding (Original)
PE(pos, 2i) = sin(pos / 10000^(2i/d)) PE(pos, 2i+1) = cos(pos / 10000^(2i/d))
Properties:
Learned Positional Embeddings
Used by: BERT, GPT-2, GPT-3
Relative Positional Encoding
Used by: T5, Transformer-XL
Rotary Position Embedding (RoPE)
Used by: LLaMA, GPT-NeoX