RoPE / Long Context 이해
RoPE는 위치 정보를 단순히 더하는 대신, query와 key를 회전시켜 상대적 위치 관계가 attention 계산 안에 자연스럽게 들어가게 만드는 방식이다.
LLM이 긴 문맥을 다루려면 단순히 context window만 늘리는 것으로 끝나지 않는다. 위치 정보를 어떤 방식으로 표현하느냐가 긴 문맥 일반화에 큰 영향을 준다. RoPE는 그중 가장 널리 쓰이는 방식 중 하나다.
1. 왜 positional encoding이 필요한가
Attention은 기본적으로 순서를 모른다. 따라서 토큰 순서를 알려주는 장치가 필요하다. 그렇지 않으면 문장을 섞어도 같은 집합처럼 보일 수 있다.
2. RoPE의 핵심 직관
RoPE는 위치마다 query와 key를 회전시켜, attention score가 상대적 위치 차이를 반영하도록 만든다. 그래서 절대 위치뿐 아니라 "얼마나 떨어져 있는가" 정보가 더 자연스럽게 계산에 들어간다.
3. 왜 long context와 연결되는가
긴 문맥에서는 학습 때 보지 못한 더 긴 길이로 일반화해야 하는데, 이때 위치 표현 방식이 중요하다. RoPE는 이 일반화에 상대적으로 유리하다고 여겨져 많은 최신 LLM에서 채택된다.
4. 실무 포인트
- 긴 컨텍스트 확장은 메모리 문제와도 연결된다.
- RoPE scaling, interpolation 같은 기법이 문맥 길이 확장과 함께 언급된다.
- 위치 표현만 바꾼다고 무조건 긴 문맥 이해가 완벽해지는 것은 아니다.
5. 체크리스트
- 왜 transformer에 위치 정보가 필요한가?
- RoPE가 기존 positional encoding과 어떻게 다른가?
- RoPE가 long context 문제와 왜 연결되는가?