4.1.6 · HinglishTransformer Architecture

Positional encodings (sinusoidal)

2,582 words12 min readRead in English

4.1.6 · AI-ML › Transformer Architecture

Transformers saare tokens ko parallel mein process karte hain, jisse woh sequential order information kho dete hain jo RNNs naturally preserve karti hai. Positional encoding position information ko token embeddings mein inject karti hai taaki model ko pata chale "kaun sa word pehle aaya."

Figure — Positional encodings (sinusoidal)

Even dimensions sine use karti hain, odd dimensions cosine. Inhe token embeddings mein add kiya jaata hai (concatenate nahi).


Derivation: Yeh Formula Kyun?

Step 1: Kuch aisa chahiye jo position ke saath change ho Hum chahte hain ki har position ke liye unique ho. Ek simple counter kaam karta lekin yeh unboundedly scale karta—position 1000 embedding values par dominate kar leta.

Step 2: Bounded functions—sine aur cosine Trig functions mein oscillate karti hain, values bounded rehti hain. Ek single frequency ke liye:

Yeh step kyun? Sine hume periodicity deta hai. Alag-alag positions ko alag-alag values milti hain, lekin function repeat hota hai. Ek frequency kaafi nahi hai kyunki yeh repeat hoti hai (period ), jisse door positions similar lagti hain.

Step 3: Alag-alag dimensions ke liye multiple frequencies Har embedding dimension ke liye alag frequency use karo. Dimension ko frequency milti hai:

Frequencies decreasing kyun?

  • Low dimensions ( chhota): high frequency position ke saath rapidly change hota hai fine-grained local order capture karta hai
  • High dimensions ( bada): low frequency slowly change hota hai coarse global position capture karta hai

Factor wavelength range set karta hai. Sabse lamba wavelength positions hai.

Step 4: Alternating sine aur cosine Even dimensions sine use karti hain, odd dimensions same frequency ka cosine use karti hain:

Dono kyun? Pair frequency ke circle par position ki 2D representation banata hai. Isse model trig identities use karke relative positions compute karne ke liye linear transformations seekh sakta hai:

Ek linear layer weights aur seekh sakti hai taaki kisi bhi position ko steps shift kiya ja sake.

Relative Position: Kisi bhi fixed offset ke liye, , ka ek linear function hai:

jahan ek linear transformation hai. Isse relative distances learnable ho jaati hain.

Bounded Values: Saare components mein rehte hain.

Extrapolation: Training sequences se lambi positions ke liye bhi kaam karta hai (unlike learned positional embeddings jo max length par cap hoti hain).


Worked Example 1: 4-Dimensional Model ke liye PE Compute Karna

lo, compute karo.

Dimensions: (kyunki aur indices 0,1,2,3 cover karte hain).

Dimension 0 (i=0, even → sine):

Dimension 1 (i=0, odd → cosine):

Dimension 2 (i=1, even → sine):

Dimension 3 (i=1, odd → cosine):

Yeh steps kyun? Lower dimensions (0,1) rapidly oscillate karti hain (high ), exact position capture karti hain. Higher dimensions (2,3) slowly oscillate karti hain (low ), sequence mein coarse position capture karti hain.

Final:


Worked Example 2: Relative Position Linearity Demonstrate Karna

Dikhao ki , se linearly related hai dimension pair ke liye.

Dimension ke liye, lo. Hamare paas hai:

Position ke liye:

Angle addition use karke:

Yeh step kyun? Trig identity nayi position ko purani position ki encoding ke weighted sum mein convert karti hai. Weights aur sirf offset (1 step) par depend karte hain, absolute position par nahi.

Similarly cosine dimension ke liye:

Matrix form mein:

Yeh ek rotation matrix hai! +1 offset 2D representation ko angle se rotate karta hai. Model yeh transformation seekh sakta hai taaki relative positions par attend kiya ja sake.


Worked Example 3: Base 10000 Kyun?

Dimension ka wavelength hai:

ke liye:

  • Dimension 0 (): (high frequency)
  • Dimension 255 (): (low frequency)

(Note: thoda se kam hai, isliye maximum wavelength se thodi kam hai.)

Yeh range kyun?

  • Short wavelengths () adjacent positions distinguish karte hain (har position alag dikhti hai)
  • Long wavelengths () lambe documents mein global position encode karte hain (sequences ~10k tokens tak)

Geometric progression scales mein smooth coverage ensure karti hai—har dimension position ka ek specific "zoom level" handle karta hai.

Yeh step kyun? Bahut chhota base (jaise 100) → sabse lamba wavelength sirf ~628 positions → lambi sequences par fail. Bahut bada → spectrum bahut zyada stretch ho jaata hai, resolution waste hoti hai. Value fine local resolution aur long-range coverage ke beech balance banata hai.


Step 1: Tokens ko vectors mein embed karo (embedding table se):

  • "The" →
  • "cat" →
  • "sat" →

Step 2: Positions 0,1,2 ke liye positional encodings compute karo ( use karke):

ke liye:

ke liye:

ke liye:

Step 3: Embeddings mein positional encodings add karo:

  • "The" + =
  • "cat" + =
  • "sat" + =

Yeh position-aware embeddings pehle transformer layer mein jaati hain.

Yeh step kyun? Addition (concatenation nahi) dimensionality preserve karta hai aur model ko semantic content (embeddings) aur positional information (encodings) blend karne deta hai.


Kyun sahi lagta hai: Kyunki hum PE per position compute karte hain, aisa lagta hai jaise yeh token khud ko encode kar raha hai.

Fix: Positional encoding SIRF yeh encode karta hai ki token kahan hai, kya hai nahi. Token embedding meaning encode karta hai ("cat" vs "dog"). Inhe saath add kiya jaata hai:

Embedding ke bina, model ko bilkul nahi pata ki words ka matlab kya hai. PE ke bina, model ko bilkul nahi pata ki unka order kya hai.


Kyun sahi lagta hai: Concatenation information ko distinct rakhta hai: mein dono components intact hain.

Fix: Concatenation dimensionality double kar deta hai (), compute cost badh jaata hai. Addition kaam karta hai kyunki:

  1. Embeddings aur PE same space mein rehte hain
  2. Self-attention learned projections ke zariye inhe disentangle karna seekhta hai
  3. PE values chhoti hoti hain (bounded in [-1,1]) embeddings ke comparison mein (larger variance se initialize ki gayi), isliye yeh "nudge" karti hain overwhelm nahi karti

Empirically, addition concatenation jitna hi kaam karta hai, aadhe parameters ke saath.


Kyun sahi lagta hai: Index , 0 se tak jaata hai, same jaise positions 0 se tak.

Fix: Har dimension ek frequency component encode karta hai jo SABHI positions par present hai. Dimension 0 har position par quickly oscillate karta hai (high frequency). Dimension 511 har position par slowly oscillate karta hai (low frequency). Ise Fourier transform ki tarah socho: low frequencies big picture capture karti hain, high frequencies details capture karti hain. Har position saari dimensions use karti hai.


Recall Ek 12-Saal ke Bacche ko Samjhao

Socho tum ek comic book padh rahe ho, lekin kisine saare panels kaat ke shuffle kar diye. Tum dekhoge Batman ek villain ko punch kar raha hai, phir villain crime plan kar raha hai, phir Batman aa raha hai—bilkul ulte order mein! Tumhe panels ko sahi order mein laane ke liye panel numbers (1, 2, 3...) chahiye.

Ek Transformer ek super-smart reader ki tarah hai jo saare panels ek saath dekhta hai. Lekin agar hum isse panels bina numbers ke dein, toh yeh story sahi se nahi bata sakta. Isliye hum har panel par ek secret code likhte hain jo kehta hai "yeh panel 3 hai" bina actually "3" likhe.

Yeh code waves ka pattern hai—jaise wiggly lines se bani fingerprint. Panel 1 ko ek fingerprint milti hai, panel 2 ko doosri, aur aise hi aage. Fingerprint ke kuch hisse fast wiggle karte hain (paas wale panels alag karne ke liye), aur kuch slow wiggle karte hain (yeh batane ke liye ki tum comic ki shuruaat mein ho ya ant mein). Hum yeh fingerprint har panel mein add karte hain, taaki Transformer order jaane jab tak saari pictures ek saath dekhe.


  • Fixed (learned nahi)
  • Addition to embeddings
  • Sine on even, cosine on odd
  • Ten-thousand base (10000)

Visual: Ek spiral notebook imagine karo jahan har coil (dimension) ki tightness alag hai—tight coils fine position ke liye, loose coils coarse position ke liye.


Connections

  • Token Embeddings: PE inhe add hota hai taaki position-aware inputs bane
  • Self-Attention Mechanism: PE attention ko "pichle word par attend karo" aur "agle word par attend karo" mein distinguish karne deta hai
  • Multi-Head Attention: Alag-alag heads alag-alag relative position offsets par focus karna seekh sakte hain
  • Learned Positional Embeddings: Sinusoidal ka alternative; learned lookup table (training sequence length tak limited)
  • Relative Positional Encodings: Modern alternative (T5, Transformer-XL) jo directly attention mein relative distances encode karta hai
  • Fourier Transform: Sinusoidal PE position ko frequency components mein decompose karta hai, frequency analysis se analogous
  • Rotary Position Embeddings (RoPE): Modern variant jo embeddings mein add karne ki jagah attention space mein rotation apply karta hai

#flashcards/ai-ml

Positional encoding ke bina Transformers sequence order kyun use nahi kar sakte?
Self-attention permutation invariant hai—tokens shuffle karne se attention scores nahi badalte. PE ke bina, "cat sat mat" aur "mat sat cat" model ke liye identical hain.
Position , dimension par sinusoidal positional encoding ka formula kya hai?
. Even dimensions sine use karti hain, odd dimensions same frequency ka cosine.
Hum embedding dimensions mein multiple frequencies kyun use karte hain?
Low dimensions (high frequency) fine-grained local order capture karti hain. High dimensions (low frequency) coarse global position capture karti hain. Yeh multi-scale representation nearby aur distant dono relationships cover karta hai.
Sinusoidal PE model ko relative positions seekhne mein kaise help karta hai?
Kisi bhi offset ke liye, , ka linear transformation hai trig identities ke zariye: . Model weights seekhta hai.
Same frequency par sine aur cosine ko pair kyun karte hain?
Pair ek 2D circle representation banata hai. Isse model relative positions ko rotations ki tarah compute kar sakta hai, jisse "3 positions aage" ek learnable linear transformation ban jaata hai.
Base constant 10000 kyun?
Yeh wavelength range set karta hai se (high freq, local position) lekar se thoda kam tak (low freq, lambi sequences mein global position). Typical sequence lengths ke liye fine aur coarse positioning cover karta hai.
PE ko embeddings se add kyun karte hain concatenate karne ki jagah?
Addition dimensionality preserve karta hai (extra parameters nahi). PE values [-1,1] mein bounded hain, itni chhoti ki embeddings ko "nudge" karun, overwhelm na karun. Attention layers content aur position ko disentangle karna seekhti hain.
Sinusoidal PE kitni lambi sequence handle kar sakta hai?
Theoretically infinite (training length se aage extrapolate karta hai). Sabse lamba wavelength positions se thoda kam hai, isliye patterns uske baad repeat ho jaate hain, lekin practical lengths ke liye (< 10k tokens) still distinguishable hain.
Sinusoidal PE vs learned positional embeddings—key difference?
Sinusoidal fixed hai (learned nahi), kisi bhi length ke liye kaam karta hai, relative position linearly encode karta hai. Learned PE ek lookup table hai (max training length tak cap), zyada parameters chahiye, lekin data patterns ke saath adapt ho sakta hai.
Agar positional encoding hata do, toh kya behavior aata hai?
Model input ko bag-of-words treat karta hai—"dog bites man" aur "man bites dog" identical ho jaate hain. Attention word order distinguish nahi kar sakta, translation, next-token prediction, ya sequence classification jaise tasks break ho jaate hain.

Concept Map

loses

is

requires

restored by

added to

uses

bounded in

need

low dim

high dim

sin cos pair

enables

Parallel token processing

Sequential order

Self-attention

Permutation invariant

Positional encoding

Token embeddings

Sine and cosine functions

-1 to 1 range

Multiple frequencies

High freq, local order

Low freq, global position

Circle representation

Relative positions via trig