Background

What is Rotary Position Embedding? and Why we use?

sine, cosine 기반의 별도 matrix를 더해주는 형식으로 계산되는 게 아닌, 회전 행렬을 곱해주는 형식으로 구현된다는 이점.

  • LM task에서 중요하게 구현되어야 하는 건, 단어 간 상대적 거리.
  • RoPE 형식으로 구현해주면, q@k^T 를 하더라도 내적 결과가 상대적 거리 정보에 의존하게 됨.

RoFormer : Enhanced Transformer with Rotary Position Embedding


이 논문은 Transformer 아키텍처에서 position encoding의 중요성을 강조하며, 기존 방식들이 가지고 있던 한계점, 특히 self-attention 메커니즘이 inherently position-agnostic하다는 점을 해결하기 위해 새로운 방법을 제안한다. 제안하는 방법은 Rotary Position Embedding (RoPE)으로, 절대 위치를 회전 행렬(rotation matrix)로 인코딩하며 self-attention 공식에 명시적인 상대 위치 의존성(relative position dependency)을 통합한다.

RoPE는 쿼리()와 키()의 내적(inner product)이 토큰 임베딩 , 과 그들의 상대 위치 에만 의존하도록 하는 함수 를 찾는 것을 목표로 한다:

이를 위해 RoPE는 2D 케이스에서 시작하여 복소수(complex number) 평면의 기하학적 특성을 활용하여 다음과 같은 솔루션을 도출한다:

여기서 는 선형 변환 행렬이고, 은 절대 위치 인덱스, 는 미리 설정된 상수이다. 이 복소수 표현은 실수 벡터 공간에서 회전 행렬로 변환될 수 있다.

일반적인 차원(는 짝수)의 경우, 개의 2D 부분 공간으로 나누어 RoPE를 적용한다. 결과적으로 position encoding된 쿼리/키 벡터는 입력 임베딩 에 선형 변환 을 적용한 후, 위치 에 따라 정의되는 회전 행렬 을 곱하여 얻는다:

여기서 은 다음과 같은 블록 대각선(block-diagonal) 회전 행렬이다:

여기서 이다. self-attention에서 쿼리 과 키 의 내적은 다음과 같이 계산된다:


는 orthogonal matrix이므로 안정적인 position encoding을 보장한다. 이 방식은 기존의 additive position embedding과 달리 multiplicative하게 상대 위치 정보를 통합한다. 계산 효율성을 위해 의 곱셈은 희소성(sparsity)을 활용하여 다음과 같이 구현될 수 있다:

RoPE는 다음의 중요한 특성들을 가진다:

첫째, 설정으로 인해 상대 거리가 증가할수록 내적 값이 감쇠하는 long-term decay 속성을 보인다. 이는 멀리 떨어진 토큰 간의 연결이 약해져야 한다는 직관과 일치한다.

둘째, 은닉 표현의 norm을 변경하지 않으므로, Performer와 같은 linear attention과 자연스럽게 결합될 수 있으며 선형 복잡도(linear complexity)를 유지하면서 position 정보를 주입할 수 있다:

RoPE의 성능을 검증하기 위해 Transformer에 RoPE를 적용한 RoFormer를 다양한 NLP 태스크에서 평가했다.

  • Machine Translation: WMT 2014 English-to-German translation 태스크에서 Transformer-base 모델 대비 더 높은 BLEU 점수(27.5 vs 27.3)를 달성했다.
  • Pre-training Language Modeling: BERT 모델에 RoPE를 적용한 RoFormer가 vanilla BERT보다 더 빠른 MLM loss 수렴 속도를 보였다.
  • GLUE Fine-tuning: 사전 학습된 RoFormer를 MRPC, SST-2, QNLI, STS-B, QQP, MNLI 등 GLUE 벤치마크 태스크에 fine-tuning했을 때, BERT 대비 6개 데이터셋 중 3개에서 상당한 성능 향상을 보였다.
  • Performer with RoPE: Enwik8 데이터셋에서 RoPE를 통합한 Performer가 통합하지 않은 Performer보다 더 빠른 수렴과 낮은 LM loss를 달성하여 linear attention과의 시너지를 보여주었다.
  • Chinese Data Evaluation: 중국어 데이터셋(CAIL2019-SCM)에서의 실험을 통해 RoFormer가 긴 텍스트 처리 능력에서 WoBERT 및 BERT를 능가함을 입증했다. 특히 최대 시퀀스 길이 1024에서 WoBERT 대비 1.5%의 절대 정확도(accuracy) 향상을 보였다. 사전 학습 전략에서도 RoFormer는 시퀀스 길이 상한선 증가에 따라 정확도가 높아지는 경향을 보이며 긴 텍스트 처리 능력을 뒷받침했다.

이 연구의 한계점으로는 RoPE가 기존 모델보다 더 빠르게 수렴하는 이유와 장거리 감쇠 속성에도 불구하고 긴 텍스트에서 뛰어난 성능을 보이는 이유에 대한 명확한 이론적 설명의 부족, 그리고 사전 학습을 위한 하드웨어 리소스 요구 사항이 언급된다.

결론적으로, RoPE는 self-attention 메커니즘에서 절대 위치 정보를 회전 행렬을 통해 인코딩하고, 이로 인해 상대 위치 의존성을 자연스럽게 통합하는 새로운 position embedding 방법이다. RoFormer로 명명된 RoPE 기반의 Transformer는 긴 텍스트 처리 능력과 빠른 수렴 속도를 포함한 여러 이점을 제공하며, 다양한 벤치마크 태스크에서 기존 대안들보다 일관되게 우수한 성능을 보여주었다.