AI Engineer의 '사부작' 공간

회전하는 나침반, RoPE(Rotary Position Embedding): LLM은 어떻게 단어의 순서를 기억하는가? 본문

Theory/LLM Architectures

회전하는 나침반, RoPE(Rotary Position Embedding): LLM은 어떻게 단어의 순서를 기억하는가?

ChoYongHo 2025. 6. 10. 08:31
728x90

RoPE(Rotary Position Embedding): 절대 위치를 넘어 "상대적" 관계를 회전으로 새기는 임베딩의 혁신

자연어 처리(NLP) 모델에게 문장이란 단순한 단어의 나열이 아닙니다. "왕이 왕비에게 반지를 주었다"와 "왕비가 왕에게 반지를 주었다"는 같은 단어로 이루어져 있지만, 단어의 순서, 즉 '위치' 때문에 전혀 다른 의미를 가집니다. 이처럼 트랜스포머와 같은 언어 모델이 단어의 순서와 위치 관계를 이해하도록 돕는 기술이 바로 '포지셔널 인코딩(Positional Encoding)'입니다. 초기 트랜스포머는 모든 단어에 절대적인 좌석 번호를 부여하는 방식(Absolute Positional Embedding)을 사용했습니다. 하지만 이 방식은 단어 간의 '상대적 거리'를 명시적으로 알려주지 못하는 한계가 있었죠. 이러한 문제를 해결하기 위해 등장한 혁신적인 기술이 바로 RoPE(Rotary Position Embedding)입니다. RoPE는 마치 단어 벡터를 회전시키는 나침반처럼 작동하여, 단어 간의 상대적 관계를 더욱 정교하게 모델에 알려줍니다. 오늘날 LLaMA, GPT-NeoX와 같은 수많은 거대 언어 모델(LLM)의 사실상 표준(de facto standard)으로 자리 잡은 RoPE는 어떻게 기존의 한계를 극복하고 표준이 되었는지를 알아보겠습니다.


기존 포지셔널 인코딩의 한계: 고정된 좌석표의 문제점

RoPE를 이해하기 전에, 기존의 대표적인 위치 인코딩 방식인 절대 위치 임베딩(Absolute Positional Embedding, APE)을 먼저 살펴보겠습니다.

  • 개념: APE는 각 단어의 절대적인 위치(첫 번째, 두 번째, 세 번째...)에 고유한 번호를 매기고, 이 번호에 해당하는 특정 벡터를 만들어 단어의 원래 임베딩에 더해주는 방식입니다.
  • 비유: 교실에 있는 학생들에게 1번부터 30번까지 고정된 좌석 번호를 부여하는 것과 같습니다. 모델은 '5번 자리에 앉은 학생'과 '10번 자리에 앉은 학생'을 구분할 수는 있습니다.
  • 한계: 하지만 이 방식은 '5번 자리와 6번 자리 사이의 거리'가 '20번 자리와 21번 자리 사이의 거리'와 같다는 점, 즉 한 칸 차이라는 '상대적 관계'를 직관적으로 이해하기 어렵습니다. 또한, 훈련 시 보지 못했던 더 긴 문장(예: 31번 학생)이 들어왔을 때 위치 정보를 어떻게 부여해야 할지 모르는 문제에 직면할 수 있습니다.

혁신의 등장: RoPE (Rotary Position Embedding)

이러한 한계를 극복하기 위해 "RoFormer: Enhanced Transformer with Rotary Position Embedding" 논문에서 RoPE가 제안되었습니다. RoPE의 핵심 아이디어는 위치 정보를 덧셈으로 주입하는 대신, 벡터의 '회전(Rotation)을 통해 위치를 인코딩하고, 이를 어텐션 메커니즘에 직접 적용하는 것입니다.


◇ 핵심 아이디어 1: 회전으로 위치를 표현하다

RoPE는 단어 벡터의 의미(크기)는 그대로 유지한 채, 방향(각도)을 틀어 위치 정보를 표현합니다. 이는 복소수의 곱셈 원리를 이용한 것으로, 오일러 공식을 통해 수학적으로 구현됩니다.

  • 개념: 각 단어의 벡터를 위치에 따라 다른 각도로 회전시킵니다. 이때 트랜스포머의 고차원 임베딩 벡터를 2차원씩 짝지어, 각 쌍을 하나의 복소수처럼 간주하고 회전 변환을 적용합니다. 회전 각도()는 토큰의 절대 위치(m)와 벡터 내 차원의 인덱스(i) 두 가지 요소에 의해 결정됩니다. 일반적으로 토큰이 뒤에 있을수록, 그리고 벡터의 저차원일수록 더 큰 각도로 회전합니다.
  • 비유: 여러 개의 시곗바늘이 달린 나침반을 상상해 보세요. 모든 단어는 처음에 북쪽(0°)을 가리키는 바늘로 시작합니다. 첫 번째 단어는 15° 회전하고, 두 번째 단어는 30°, 세 번째 단어는 45° 회전시키는 식입니다. 각 단어는 고유한 방향을 갖게 되지만, 바늘의 길이(단어의 고유 의미)는 변하지 않습니다. 중요한 것은, 우리는 어떤 두 바늘 사이의 '각도 차이'를 통해 그들이 얼마나 떨어져 있는지 항상 알 수 있다는 점입니다. 이것이 바로 상대적 위치 정보입니다.

◇ 핵심 아이디어 2: 어텐션 메커니즘에 직접 주입하는 상대적 위치

RoPE의 가장 큰 혁신은 위치 정보를 임베딩 단계가 아닌, 셀프 어텐션(Self-Attention)의 핵심 계산 과정에 직접 통합했다는 점입니다.

  • 개념: 셀프 어텐션은 문장 내 단어들의 연관성을 계산하기 위해 각 단어로부터 Query(Q) 벡터와 Key(K) 벡터를 만듭니다. RoPE는 이 Q와 K 벡터를 회전시킵니다. m번째 위치의 Q 벡터와 n번째 위치의 K 벡터가 어텐션 스코어를 계산할 때, 두 벡터의 내적(dot product) 값은 그들의 절대 위치 m과 n이 아닌, 오직 상대적 거리 m-n에만 의존하는 형태로 수식이 정리됩니다.
  • 예시: "애플 회사의 애플 로고는 어떤 애플을 모델링한 걸까?" 라는 문장에서 3개의 '애플'이 등장합니다. 기존 방식에서는 세 '애플'의 단어 임베딩은 같지만, 더해지는 위치 벡터가 달라 최종 입력값이 달라집니다. 반면 RoPE 방식에서는 임베딩은 그대로 두고, 어텐션 계산 시 각 '애플'의 Q와 K 벡터를 위치에 따라 다르게 회전시킵니다. 첫 번째 '애플'의 Q 벡터와 세 번째 '애플'의 K 벡터가 상호작용할 때, 그 결과값은 두 토큰 사이의 거리인 '2'에 해당하는 상대적 위치 정보를 자연스럽게 반영하게 됩니다.

RoPE는 왜 표준이 되었는가?

RoPE가 LLaMA, GPT-J 등 수많은 최신 LLM의 표준으로 자리 잡은 이유는 명확합니다.

  • 우수한 상대 위치 표현: 벡터 회전을 통해 토큰 간의 상대적 거리를 어텐션 계산에 직접적으로, 그리고 직관적으로 반영하여 모델의 문맥 이해 능력을 크게 향상시켰습니다.
  • 긴 시퀀스 확장성: 절대 위치에 얽매이지 않고 상대 거리에 따라 어텐션이 감소하는 특성 덕분에, 훈련 시보다 긴 문장에 대해서도 안정적인 성능을 보입니다.
  • 구현의 효율성: 기존 임베딩에 새로운 파라미터를 추가하는 방식이 아니라, 기존의 Q, K 벡터에 회전 변환만 적용하므로 계산적으로 효율적입니다.
  • 검증된 성능: EleutherAI와 같은 연구 그룹과 Meta의 LLaMA 시리즈 같은 주요 모델들이 RoPE를 채택하고 그 효과를 입증하면서, 사실상의 표준(de facto standard) 기술로 자리매김했습니다.

진화하는 RoPE: LLaMA 3의 개선점

RoPE도 완벽하지는 않았습니다. 매우 긴 시퀀스에서는 특정 주기가 반복되어 위치 정보가 겹치는 문제가 발견되었습니다. LLaMA 3와 같은 최신 모델은 이를 해결하기 위해 RoPE를 한 단계 더 발전시켰습니다.

핵심은 파장(Wavelength)을 동적으로 조절하는 것입니다. 기존 RoPE는 모든 차원에서 고정된 주파수(회전 속도)를 사용했지만, LLaMA 3는 이를 개선했습니다.

  1. Base 값 조정: LLaMA 3는 RoPE의 Base 값을 기존의 10,000에서 500,000으로 크게 늘려 긴 문맥에 대한 대응력을 높였습니다. 실험 결과, 높은 base 값은 긴 시퀀스에서 더 안정적인 성능을 보였습니다.
  2. 영역별 파장 조절:
    • 고주파 영역(짧은 파장): 인접한 토큰 간의 세밀한 위치 관계를 파악하는 데 중요하므로 그대로 유지합니다. 이 영역의 파장을 바꾸면 미세한 위치 정보가 손실될 수 있습니다.
    • 저주파 영역(긴 파장): 멀리 떨어진 토큰 간의 전역적인 위치 관계를 담당합니다. 이 영역의 파장을 더 길게 늘려, 매우 긴 시퀀스에서도 위치 정보가 중복되지 않고 고유성을 유지하도록 조정했습니다. 이를 통해 모델이 멀리 떨어진 토큰 간의 관계를 더 정확하게 파악할 수 있게 됩니다.

이러한 정교한 조정을 통해 LLaMA 3는 매우 긴 문맥에서도 위치 정보를 안정적으로 처리할 수 있게 되었습니다.


마무리하며

RoPE는 '위치 정보를 어떻게 모델에 알려줄 것인가'라는 근본적인 질문에 '회전'이라는 우아하고 강력한 해법을 제시했습니다. 절대적인 좌표를 부여하던 방식에서 벗어나, 단어 간의 상대적인 관계를 어텐션 메커니즘의 심장부에 직접 새겨 넣음으로써 NLP 분야에 또 하나의 이정표를 세웠습니다. 단순한 아이디어에서 시작해 LLaMA 3와 같이 정교하게 진화하기까지, RoPE의 발전은 더 길고 복잡한 문맥을 이해하려는 인공지능 기술의 끊임없는 도전을 보여줍니다. 이 혁신적인 기술 덕분에 오늘날의 언어 모델들은 문장의 뉘앙스를 한층 더 깊이 있게 파악할 수 있게 되었으며, RoPE를 이해하는 것은 LLM의 작동 원리를 꿰뚫는 핵심 열쇠라고 할 수 있습니다.


https://arxiv.org/abs/2104.09864

 

RoFormer: Enhanced Transformer with Rotary Position Embedding

Position encoding recently has shown effective in the transformer architecture. It enables valuable supervision for dependency modeling between elements at different positions of the sequence. In this paper, we first investigate various methods to integrat

arxiv.org

https://arxiv.org/abs/2310.05209

 

Scaling Laws of RoPE-based Extrapolation

The extrapolation capability of Large Language Models (LLMs) based on Rotary Position Embedding is currently a topic of considerable interest. The mainstream approach to addressing extrapolation with LLMs involves modifying RoPE by replacing 10000, the rot

arxiv.org

https://arxiv.org/abs/2406.13282

 

Understanding the RoPE Extensions of Long-Context LLMs: An Attention Perspective

Enabling LLMs to handle lengthy context is currently a research hotspot. Most LLMs are built upon rotary position embedding (RoPE), a popular position encoding method. Therefore, a prominent path is to extrapolate the RoPE trained on comparably short texts

arxiv.org

https://arxiv.org/abs/2407.21783

 

The Llama 3 Herd of Models

Modern artificial intelligence (AI) systems are powered by foundation models. This paper presents a new set of foundation models, called Llama 3. It is a herd of language models that natively support multilinguality, coding, reasoning, and tool usage. Our

arxiv.org

 

 

728x90