RoPERoPE(회전 위치 인코딩)
Rotary Position Embedding
쉽게 이해하기
Transformer는 문장 안에서 각 토큰이 몇 번째 위치에 있는지 알아야 합니다. 단어 자체만 보면 "고양이가 물고기를 먹었다"와 "물고기가 고양이를 먹었다"처럼 순서가 달라져도 같은 단어들이기 때문입니다. RoPE(Rotary Position Embedding, 회전 위치 인코딩)는 토큰 위치를 별도 벡터로 더하는 대신, attention에서 쓰는 query와 key 벡터를 위치에 따라 조금씩 회전시키는 방식입니다.
직관적으로는 각 토큰이 자기 위치에 맞는 각도로 나침반 바늘을 돌린다고 보면 됩니다. 두 토큰의 query/key가 내적될 때, 절대 위치 자체보다 두 토큰 사이의 거리 차이가 자연스럽게 점수에 반영됩니다. 그래서 RoPE는 "몇 번째 토큰인가"를 직접 외우는 것보다, "서로 얼마나 떨어져 있는가"를 attention 계산 안에 넣는 데 강합니다.
현대 LLM에서 RoPE가 중요한 이유는 긴 문맥과 관련이 큽니다. RoPE는 학습된 위치 임베딩 테이블을 크게 늘리지 않아도 되고, sinusoidal 방식처럼 주기적 구조를 쓰면서 query/key 회전에 상대 위치 성질을 담습니다. 다만 컨텍스트를 무작정 늘리면 각도 스케일과 주파수 설계가 어긋날 수 있어, long-context 모델에서는 position interpolation, NTK scaling, YaRN류 조정처럼 RoPE 스케일링 기법을 함께 검토합니다.
비유와 예시
- 지도 좌표 대신 방향 바늘: 각 단어가 위치에 따라 바늘을 돌리고, 두 바늘의 상대 각도로 거리감을 파악합니다.
- 긴 문서 요약: 앞부분 근거와 뒤쪽 질문 사이의 거리를 attention이 더 잘 구분하도록 돕습니다.
- 코드 모델: 괄호·함수·변수처럼 먼 위치의 관계를 볼 때 위치 차이를 query/key 점수에 반영합니다.
한눈에 비교
| 방식 | 위치를 넣는 방식 | 장점 | 주의점 |
|---|---|---|---|
| Learned absolute PE | 위치별 임베딩을 더함 | 구현 단순 | 학습 길이 밖 확장 약함 |
| Sinusoidal PE | 사인/코사인 벡터를 더함 | 외삽 직관 | attention 점수와 결합은 간접적 |
| RoPE | query/key를 위치별 각도로 회전 | 상대 위치가 내적에 직접 반영 | 장문 확장 시 스케일링 필요 |
어디서 왜 중요한가
- LLM 기본 아키텍처: LLaMA 계열처럼 많은 decoder-only 모델이 RoPE를 사용합니다.
- Long context: 8K, 32K, 128K 이상 문맥을 다룰 때 RoPE 스케일링이 품질과 안정성에 영향을 줍니다.
- 추론 비용: 더 긴 컨텍스트는 KV cache와 attention 비용을 키우므로, 위치 인코딩은 성능뿐 아니라 비용 설계와도 연결됩니다.
- 모델 이식: 같은 가중치를 다른 컨텍스트 길이로 서빙할 때 RoPE base, scaling factor, interpolation 설정이 호환성 문제를 만듭니다.
자주 하는 오해
- ❌ RoPE는 단순한 위치 벡터 덧셈이다 → ✅ query/key 벡터를 짝수·홀수 차원 쌍으로 회전시키는 방식입니다.
- ❌ RoPE만 쓰면 무한 컨텍스트가 된다 → ✅ 학습 길이 밖에서는 주파수/각도 스케일 조정과 평가가 필요합니다.
- ❌ RoPE는 attention 계산을 공짜로 만든다 → ✅ 위치 표현 방식일 뿐이며 긴 문맥의 KV cache·attention 비용은 여전히 존재합니다.
대화에서는 이렇게
- "이 모델은 RoPE base와 scaling 설정이 달라서 체크포인트를 그대로 옮기면 long-context 품질이 흔들릴 수 있어요."
- "128K 실험은 먼저 RoPE interpolation을 켜고, 짧은 문맥 회귀가 없는지 같이 봐야 합니다."
- "position embedding을 더하는 모델이 아니라 query/key 회전에 위치를 넣는 구조라 attention score 해석이 달라집니다."
함께 읽으면 좋은 용어
참고 자료
- RoFormer: Enhanced Transformer with Rotary Position Embedding
RoPE 원 논문. 회전 행렬과 상대 위치 의존성 공식.
- Utilities for Rotary Embedding
Transformers의 RoPE 계산·변형·구성 문서.
- Attention Is All You Need
절대 sinusoidal 위치 인코딩의 기준 논문.
- LLaMA: Open and Efficient Foundation Language Models
RoPE를 사용한 대표 LLM 계열 문헌.
- Extending Context Window of Large Language Models via Positional Interpolation
RoPE 기반 장문 컨텍스트 확장 논의.