논문 링크: https://arxiv.org/pdf/2104.09864
OUTTA 논문 리뷰 링크: [2025-1] 전윤경- Roformer: Enhanced Transformer with Rotary Position Embedding
[2025-1] 전윤경- Roformer: Enhanced Transformer with Rotary Position Embedding
IntroductionRoPE: 회전 행렬을 사용하여 절대적인 위치를 인코딩하고 self attention 공식에 명시적인 상대적 위치 의존성을 통합함.유연한 시퀀스 길이 지원상대적 거리가 증가함에 따라 토큰 간의 의
blog.outta.ai
1. Introduction
- RoPE (Rotary Position Embedding) 기법을 도입하여 Transformer 성능 개선
- 회전 행렬을 이용한 절대 위치 인코딩 및 상대적 위치 의존성 통합
- 기존 위치 임베딩 방법 대비 유연한 시퀀스 길이 지원, 상대적 거리 증가 시 토큰 간 의존도 감소
- 선형 Self-Attention에서도 상대적 위치 정보 적용 가능
2. Background & Related Work
기존 위치 임베딩 기법
- 절대적 위치 임베딩 (APE; Absolute Positional Encoding)
- sinusoidal 함수 적용 (Vaswani et al., 2017)
- 한정된 시퀀스 길이에 대해 학습됨 → 길이가 다르면 재학습 필요
- 상대적 위치 임베딩 (RPE; Relative Positional Encoding)
- 각 레이어마다 상대적 위치 정보를 직접 주입
- Transformer 모델의 일반화 능력 강화
기존 연구
연구 | 주요 특징 |
Shaw et al. | 학습 가능한 상대적 위치 임베딩 $p^k_r, p^v_r$ 적용 |
Dai et al. (Transformer-XL) | 절대적 위치 임베딩을 sinusoidal 함수로 변환 |
T5 | content-to-content 외 3개 항을 학습 가능한 bias로 변경 |
TUPE | position-to-position이 무의미하다고 가정, content-to-content와 동일한 parameter 공유 |
DeBERTa | APE를 RPE로 대체, content-to-content만 유지 |
- 위 방법들은 대부분 Additive 방식을 사용
- RoPE는 Multiplicative 방식을 사용하여 차별화
3. RoFormer: Rotary Position Embedding 기반 Transformer
1) Self-Attention에서 RoPE 적용 방식
- 기존 self-attention은 query ($q_m$), key ($k_n$) 내적을 사용
$$q_m^\top k_n$$
- RoPE는 위치 정보를 회전 행렬 ($R_d$)로 적용하여 내적 구조 변경
$$q_m^\top k_n = (R_d W_q x_m)^\top (R_d W_k x_n)$$
- 즉, 쿼리/키 벡터에 회전 변환을 적용하여 상대적 위치 정보를 유지
2) RoPE의 일반적 형태 (General Form)
- $R_d^{\Theta, m}$: 사전 정의된 회전 행렬
- $W_{q,k}$: query 및 key 변환 행렬
회전 행렬 ($R_d^{\Theta, m}$) 구조
$$R_d^{\Theta, m} = \begin{bmatrix} \cos m\theta_1 & -\sin m\theta_1 & 0 & 0 & \cdots \\ \sin m\theta_1 & \cos m\theta_1 & 0 & 0 & \cdots \\ 0 & 0 & \cos m\theta_2 & -\sin m\theta_2 & \cdots \\ 0 & 0 & \sin m\theta_2 & \cos m\theta_2 & \cdots \\ \vdots & \vdots & \vdots & \vdots & \ddots \end{bmatrix}$$
- 각 차원의 벡터를 독립적인 2D 회전 변환을 통해 상대적 위치 정보 인코딩
- $\theta_i = 10000^{-2(i-1)/d}$ 를 사용하여 장기적인 거리에서도 점진적 감소 보장
3) RoPE의 주요 특성
(1) Long-Term Decay (장거리 의존성 감소)
- 토큰 간 상대적 거리가 멀어질수록 내적 값 감소
- Transformer의 일반화 능력 향상
(2) Linear Attention 적용 가능
- 기존 Self-Attention: 복잡도 $O(N^2)$
- 선형 Attention에서도 RoPE 사용 가능
- 쿼리와 키에 회전 변환 적용 시 정보 손실 없음
$$\text{Attention}(Q, K, V)_m = \frac{\sum_{n=1}^{N} R_d^{\Theta, m} \phi(q_m)^\top R_d^{\Theta, n} \phi(k_n) v_n}{\sum_{n=1}^{N} \phi(q_m)^\top \phi(k_n)}$$
4. 실험 (Experiments & Evaluation)
1) 기계 번역 (Machine Translation)
- BLEU 점수 비교 (WMT 2014 English-German 데이터셋)
- RoFormer가 기존 Transformer 대비 성능 향상
- Transformer-base: 27.3
- RoFormer: 27.5
2) 사전 학습 (Pre-training)
- BERT 모델의 sinusoidal 위치 인코딩을 RoPE로 대체
- BookCorpus + Wikipedia 데이터셋 사용
- MLM Loss 비교 → RoFormer가 빠른 수렴 속도 보임
3) GLUE Benchmark Fine-tuning
- MRPC, SST-2, QNLI, STS-B, QQP, MNLI 등 평가
- 6개 중 3개 태스크에서 RoFormer가 BERT보다 우수
모델 | MRPC | SST-2 | QNLI | STS-B | QQP | MNLI (m/mm) |
BERT | 88.9 | 93.5 | 90.7 | 85.8 | 71.2 | 84.6/83.4 |
RoFormer | 89.5 | 90.5 | 88.0 | 87.0 | 86.4 | 80.2/79.8 |
4) Performer 모델 적용 (Linear Attention 적용 실험)
- RoPE 적용 시 Performer의 학습 속도 향상 및 Loss 감소
- RoPE 없이 훈련한 Performer보다 더 빠르게 수렴
5) 중국어 데이터셋 평가 (Long Text Processing)
- 512자 이하: 기존 WoBERT와 유사한 성능
- 1024자로 확장: WoBERT 대비 1.5% 정확도 향상
- 긴 문서에서의 성능 우수
모델 | 512자 정확도 | 1024자 정확도 |
BERT | 64.07% | 66.07% |
WoBERT | 64.13% | 67.77% |
RoFormer | 64.13% | 69.79% |
5. 결론 및 한계점
1) 주요 기여
- Transformer의 성능을 향상시키기 위해 RoPE 도입
- 회전 행렬을 사용한 상대적 위치 정보 적용
- 긴 문장에서도 뛰어난 성능 발휘
- 선형 Self-Attention에서도 적용 가능
2) 한계점
- RoPE가 다른 위치 인코딩보다 빠르게 수렴하는 이유에 대한 명확한 이론적 설명 부족
- 긴 문장에서 성능이 뛰어난 이유에 대한 추가 분석 필요
💡 최종 요약
- Transformer의 Self-Attention 구조에 RoPE 적용 → 상대적 위치 정보 유지 가능
- 회전 행렬 기반으로 상대적 위치 정보를 반영하는 Multiplicative 기법 사용
- BERT, Transformer, Performer 등에 적용하여 성능 향상 검증
- 긴 문서 처리에서 기존 모델 대비 1.5% 이상 성능 향상
- 선형 Attention에서도 활용 가능하여 확장성 높음
👉 RoPE는 Transformer의 위치 정보 인코딩을 개선하는 혁신적인 방법으로, 다양한 NLP 태스크에서 강력한 성능을 보임!