Rotary Position Embedding (RoPE), Su et al. (2021)이 도입, 모던 decoder-only LLM의 사실상 표준 위치 인코딩이야. Llama 1/2/3/4, Mistral, Mixtral, Qwen, Phi, Falcon이 RoPE 또는 가까운 변종 사용. 거의 모든 긴 컨텍스트 논문이 그 위에 얹혀 있어서 제대로 이해할 가치 있어.
핵심 아이디어
입력 embedding에 위치 벡터를 더하는 대신, RoPE는 모든 위치에서 Q와 K 벡터를 위치 의존 각도로 회전시켜. 회전은 attention 안, Q/K projection 다음에 적용. 핵심 성질: 위치 m의 회전된 Q와 위치 n의 회전된 K의 dot product가 절대 위치가 아니라 상대 거리 m − n에만 의존.
θ_i = base^(−2i / d_head), 여기서 base = 10,000
(rotated_Q · rotated_K) at (m, n) ≡ f(content, m − n)
(rotated_Q · rotated_K) at (m, n) ≡ f(content, m − n)
RoPE가 경쟁자를 제친 이유
- 상대 위치가 공짜로 떨어져 — 전용 상대 위치 파라미터 없이.
- 위치에 대한 학습 파라미터 0 — 결정적 기하 변환.
- learned PE보다 외삽이 훨씬 잘됨. YaRN 스타일 스케일링 트릭(다음다음 lesson)으로 8K 학습 모델을 128K까지 적당한 fine-tuning으로 확장.
- 구현 쉬움. 원소별 복소수 곱 — 추가 layer 없음.
Llama 4는 iRoPE(interleaved RoPE) 사용 — RoPE 있는 layer와 없는 layer를 번갈아, 더 좋은 긴 컨텍스트 동작 위해. 기본 아키텍처는 그대로, 위치 주입 노브만 튜닝.