4.1.7 · HinglishTransformer Architecture

Rotary positional embeddings (RoPE)

2,132 words10 min readRead in English

4.1.7 · AI-ML › Transformer Architecture


What Problem Does RoPE Solve?

Classic positional encoding (sinusoidal ya learned) position vectors ko token embeddings mein add karta hai:

Problems:

  1. Absolute position bias: Model "position 0 special hai" seekhta hai, yeh nahin ki "yeh tokens 3 apart hain"
  2. Length extrapolation fail ho jaati hai: Length 512 ke sequences par train karo, length 2048 par toot jaata hai
  3. Attention naturally relative distance nahin dekhta: content + absolute position dono ko mix karta hai

RoPE position information ko seedha attention mechanism mein inject karta hai query/key vectors ko unki positions ke basis par rotate karke, jisse relative distance dot product se naturally nikal aati hai.


The Mathematics: Deriving RoPE from First Principles

Step 1: What We Want

Positions aur par tokens ke liye, hum chahte hain ki unka attention score relative position par depend kare:

Step 2: The Rotation Trick

2D vectors consider karo (baad mein generalize karenge). Angle ke liye rotation matrix hai:

Key insight: Vector ko se aur vector ko se rotate karo, phir unka dot product lo:

Yeh step kyun? Orthogonal matrices satisfy karte hain . Ab dot product angle difference par depend karta hai, individual angles par nahin!

Step 3: Position-Dependent Rotation Angles

set karo jahan ek base frequency hai. Ab:

Attention score ban jaata hai:

Relative position naturally saamne aa jaata hai!

Step 4: Generalizing to High Dimensions

Real embeddings ki dimension hoti hai (jaise har head ke liye 64). ko dimension pairs mein split karo. Pair ke liye, frequency use karo:

Yeh formula kyun? Sinusoidal encodings se liya gaya hai—lower dimensions ko higher frequencies milti hain (fine details capture karte hain), higher dimensions ko lower frequencies (coarse patterns capture karte hain).

Position par vector ke liye, har pair par rotation apply karo:


Worked Examples

Example 1: 2D Vectors, Positions 0 aur 3

Setup: , , (45°).

Step 1: ko position par rotate karo:

Step 2: ko position par rotate karo:

Step 3: Dot product:

Yeh step kyun? Score encode karta hai ki tokens rotation angle ke through 3 positions apart hain.


Example 2: Length Extrapolation

Scenario: Length 512 tak ke sequences par train kiya. Ab length 2048 process karo.

RoPE ke bina: Absolute position 2000 training mein kabhi nahin dekha gaya → model fail ho jaata hai.

RoPE ke saath: Pehla dimension pair lo (, ). Iski frequency hai . Position 2000 yeh accumulated angle deta hai:

Model ne training mein saare relative distances 0 se 512 tak dekhe hain. (2000, 2005) positions par ek token pair ki relative distance 5 hai, jo angle difference radians contribute karta hai—yeh pehle se kisi bhi 5-apart pair se seekha ja chuka hai! Rotation matrices generalize karte hain.

Yeh kyun kaam karta hai: Rotations wrap around ho jaati hain ( periodicity), isliye unseen absolute positions phir bhi familiar relative angle differences produce karte hain.


Diagram

Figure — Rotary positional embeddings (RoPE)

Common Mistakes


Implementation Details

Complex number trick: Har 2D rotation ko se multiplication ke roop mein represent karo. Vector complex number ban jaata hai, aur rotation sirf hai:

Rotated coordinates ke liye real/imaginary parts mein wapas convert karo. transformers jaisi libraries mein isi tarah implement kiya jaata hai.


Connections to Other Concepts

  • Sinusoidal Positional Encoding: RoPE wohi frequency schedule use karta hai lekin ise additions ke bajaye rotations ke roop mein apply karta hai
  • Multi-Head Attention: Har head RoPE independently apply kar sakta hai, allowing different heads ko different position scales mein specialize karne ke liye
  • Relative Position Bias (T5): Dono relative position encode karte hain, lekin RoPE yeh rotation geometry ke through implicitly karta hai, explicit bias terms ke bajaye
  • Attention Mechanism: RoPE computation ko position information inject karne ke liye modify karta hai
  • ALiBi (Attention with Linear Biases): Alternative approach jo attention scores mein seedha position bias add karta hai, embeddings ko rotate karne ke bajaye
  • Length Extrapolation in LLMs: RoPE un key techniques mein se ek hai jo models ko training length se zyada lambe sequences handle karne mein enable karti hai

Active Recall Practice

Recall RoPE ko ek 12-saal ke bachche ko explain karo

Socho tum ek game khel rahe ho jahan tum apne doston ke saath ek line mein khade ho, aur har koi ek flag pakde hua hai. "Kaun kiske paas hai" figure out karne ke liye, apna position number chillane ke bajaye (main #5 hoon!), har koi apna flag ek certain angle se ghuma leta hai—person 1 10° ghuma ta hai, person 2 20°, person 3 30°, aur aise hi aage.

Ab, jab do log apne flags compare karte hain, unke spin angles ka difference batata hai ki woh kitne dur hain! Agar tumhara flag 50° par hai aur tumhare dost ka 20° par, toh 30° ka difference matlab hai tum 3 positions apart ho (kyunki har position 10° hai).

RoPE AI mein word embeddings ke saath wahi kaam karta hai: har word mein ek "position tag" add karne ke bajaye, woh word ke vector ko ek special tarike se rotate karta hai. Jab model do words compare karta hai, unke rotation angles automatically reveal karte hain ki woh sentence mein kitne dur hain. Yeh trick bahut lambe sentences ke liye bhi kaam karti hai jo model ne pehle kabhi nahin dekhe, kyunki sirf relative distance (angle difference) matter karta hai!



Flashcards

#flashcards/ai-ml

What is the key advantage of RoPE over additive positional encodings? :: RoPE relative positions ko naturally rotation angle differences ke through encode karta hai, better length extrapolation enable karta hai aur attention scores ko absolute positions ki jagah token distance par depend karta hai.

Why are only queries and keys rotated in RoPE, not values?
dot product determine karta hai ki kin tokens ko attend karna hai (jahan position matter karti hai). Values mein woh content hota hai jo aggregate karna hai, jise position information se distort nahin karna chahiye.
What is the formula for the rotation frequency in RoPE for dimension pair i?
jahan embedding dimension hai. Lower dimensions ko fine-grained patterns ke liye higher frequencies milti hain; higher dimensions ko long-range dependencies ke liye lower frequencies milti hain.
How does RoPE achieve length extrapolation beyond training sequence length?
RoPE ki rotation-based encoding ka matlab hai ki training mein dekhe gaye saare relative distances (jaise 0-512) lambe sequences ke liye bhi valid rehte hain. (2000, 2005) par ek token pair ki relative distance (5) wohi hai jitni (100, 105) ki, jo training ke dauran seekhi gayi thi.
In RoPE, what mathematical property makes relative position naturally emerge?
rotation matrices ki property. compute karte waqt, result angle difference par depend karta hai, relative position encode karta hai.
What are the dimensions of the rotation matrix applied to a d-dimensional query/key?
RoPE ek single matrix use nahin karta. Yeh dimensions ke pairs par independent 2×2 rotations apply karta hai, ek block-diagonal structure create karta hai jisme har pair ki alag frequency hoti hai.

Concept Map

adds pos vector

fails on long seq

motivates

motivates

rotates Q and K

orthogonal property

encodes

angle = m times theta

feeds

split d into pairs

freq 10000 power

per pair rotation

injected into

Classic positional encoding

Absolute position bias

Length extrapolation fails

RoPE

Rotation matrix R theta

Dot product depends on angle diff

Relative position n minus m

Position-dependent angle

d/2 dimension pairs

Multi-scale frequencies

Attention mechanism