본문 바로가기
AI

RoFormer와 Rotary Position Embedding: Transformer 위치 인코딩의 혁신

by markbyun 2025. 5. 27.

Implementation of RoPE

Rotary Position Embedding(RoPE)은 2021년 발표된 RoFormer 논문(https://arxiv.org/pdf/2104.09864)에서 제안된 위치 인코딩 기법입니다. 이 기술은 기존의 절대적 위치 인코딩 방식의 한계를 극복하고, Transformer 모델의 시퀀스 인식 능력을 한층 강화합니다.

** You can find the English version of this content at this page (https://markbyun.blogspot.com/2025/05/roformer-and-rotary-position-embedding.html)


1. 기존 위치 인코딩 방식의 한계

Transformer는 입력 토큰 간 순서를 인식하지 못하기 때문에, 위치 인코딩(Position Embedding)을 통해 토큰의 순서를 부여합니다. 초기에는 Sinusoidal 위치 인코딩이 사용되었으며, 이후 Learnable Position Embedding도 제안되었습니다. 하지만 이러한 방식은 다음과 같은 한계를 가집니다:

  • 절대적 위치 정보만을 부여하여, 상대 위치 관계를 효과적으로 반영하지 못함
  • 시퀀스 길이가 달라질 경우 일반화 능력이 떨어짐
  • 학습 파라미터가 증가하거나, 긴 문맥 처리에 한계 존재

2. Rotary Position Embedding(RoPE)의 원리

RoPE는 각 쿼리(Query)와 키(Key) 벡터에 위치에 따라 회전 변환을 적용하는 방식으로 동작합니다. 이 회전은 임베딩 벡터의 각 차원마다 다른 주기를 갖는 sinusoidal 함수를 이용하여 복소수 회전처럼 구현됩니다.

간단히 말해, RoPE는 다음과 같은 특징을 가집니다:

  • 상대 위치 관계를 자연스럽게 내포
  • 임베딩 공간의 내적(inner product)에 상대 거리 정보를 반영
  • 절대 위치에 대한 의존도를 줄여 일반화 향상

3. 수학적 의미

RoPE는 고정된 positional encoding을 쿼리와 키 벡터에 곱셈(회전)하는 방식으로 적용합니다. 예를 들어, 벡터 $x$가 있고, 주어진 각도 $\theta$에 따라 복소수 회전을 적용하면 다음과 같은 형태로 나타낼 수 있습니다:

$\hat{x} = x \times e^{j\theta}$

실수 벡터 공간에서는 이를 짝수/홀수 차원 쌍을 이루어 회전 행렬을 적용함으로써 구현할 수 있습니다.


4. RoFormer에서의 적용

RoPE는 RoFormer라는 새로운 Transformer 아키텍처에 적용되어, BERT 및 RoBERTa 대비 뛰어난 성능을 보여주었습니다. 특히, 문장 유사도 평가(STS-B), 텍스트 분류(TNEWS) 등에서 정확도 향상이 두드러졌습니다.


5. RoPE의 장점

  • 상대적 위치 정보를 반영함으로써 문맥 이해 능력 강화
  • 시퀀스 길이 확장성 개선
  • 파라미터 추가 없이 구현 가능
  • 사전 학습 없이 일반화 가능

6. 최신 모델에서의 RoPE 활용

RoPE는 현재 PaLM, LLaMA, GPT-NeoX 등 다양한 대형 언어모델에서 채택되고 있으며, 긴 문맥을 안정적으로 처리할 수 있는 강점을 기반으로 한 핵심 기술로 평가받고 있습니다.


7. 한계점 및 향후 방향

RoPE는 유클리드 공간에서의 각도 기반 위치 인코딩을 잘 수행하지만, 여전히 극단적으로 긴 시퀀스에 대한 일반화는 보장되지 않으며, 복소수 표현 기반의 수치적 불안정성 문제도 잠재적으로 존재할 수 있습니다.


참고 문헌