본문으로 건너뛰기
SuanLab

[논문 리뷰] RePo: Language Models with Context Re-Positioning

In-context learning is fundamental to modern Large Language Models (LLMs); however, prevailing architectures impose a rigid and fixed contextual structure by assigning linear or constant positional in...

공유하기
[논문 리뷰] RePo: Language Models with Context Re-Positioning

[논문 리뷰] RePo: Language Models with Context Re-Positioning

TL;DR

기존 대형 언어 모델(LLM)은 토큰의 물리적 순서에 의존하는 고정 위치 인코딩을 사용해, 멀리 떨어진 중요 정보를 놓치는 한계가 있었습니다. Sakana AI의 **RePo(Context Re-Positioning)**는 이 문제를 해결하기 위해, 문맥의 중요도에 따라 토큰의 위치를 동적으로 재배치하는 혁신적인 메커니즘을 제안합니다. RePo는 경량 모듈을 통해 각 토큰에 새로운 '개념적 위치'를 부여하며, 이는 기존 LLM에 재학습 없이 적용 가능합니다. 실험 결과, RePo는 특히 노이즈가 많은 긴 문서나 구조화된 데이터에서 기존 방식(RoPE)보다 월등한 성능을 보여, LLM의 문맥 이해 능력을 한 단계 끌어올렸습니다.

연구 배경 및 동기

대형 언어 모델(LLM)은 방대한 텍스트를 처리하지만, '긴 문맥'을 제대로 이해하는 것은 여전히 큰 숙제입니다. 그 원인 중 하나는 고정된 위치 인코딩(Fixed Positional Encoding) 방식에 있습니다. 기존 모델들은 토큰의 물리적 순서(첫 번째, 두 번째, ...)에 따라 위치 정보를 부여합니다. 이는 마치 책의 페이지 번호처럼 작동합니다.

하지만 이 방식은 **지역성 편향(Locality Bias)**이라는 문제를 낳습니다. 예를 들어, 소설의 1장에서 나온 단서가 20장에서 결정적인 역할을 할 때, 두 정보의 물리적 거리가 너무 멀어 모델이 그 연관성을 파악하기 어려워집니다. 이처럼 문맥적으로는 가깝지만 물리적으로 멀리 떨어진 정보를 효과적으로 연결하지 못하는 한계가 발생합니다.

이 연구는 이러한 한계를 극복하고자 **RePo(Context Re-Positioning)**라는 새로운 패러다임을 제안합니다. RePo는 고정된 페이지 번호 대신, 내용의 중요도에 따라 동적으로 새로운 '개념적 위치'를 부여합니다. 이를 통해 모델은 물리적 거리에 상관없이 문맥적으로 중요한 정보에 집중하여, 더 깊이 있는 문맥 이해가 가능해집니다.

관련 연구

위치 인코딩 방식은 트랜스포머 아키텍처의 핵심 요소로, 꾸준히 발전해왔습니다.

  • 절대 위치 인코딩 (Absolute Positional Encoding): Transformer (Vaswani et al., 2017)에서 처음 제안된 방식으로, 각 토큰의 절대적인 순서(0, 1, 2, ...)에 고유한 벡터를 부여합니다. 간단하지만 시퀀스 길이가 길어지면 성능이 저하될 수 있습니다.
  • 상대 위치 인코딩 (Relative Positional Encoding): (Shaw et al., 2018) 등에서 제안되었으며, 토큰 간의 상대적인 거리(jij-i)를 어텐션 계산에 직접 반영하여 위치 정보를 모델링합니다.
  • 회전 위치 임베딩 (Rotary Positional Embedding, RoPE): (Su et al., 2021)이 제안한 방식으로, 현재 많은 LLM(Llama, GPT-NeoX 등)의 표준으로 자리 잡았습니다. 절대 위치를 사용해 상대 위치 정보를 인코딩하는 독창적인 방식으로 긴 시퀀스에서 뛰어난 성능을 보입니다.

하지만 이 모든 방식은 토큰의 **선형적인 순서(linear order)**에 의존한다는 공통된 한계를 가집니다. RePo는 이러한 선형성 가정에서 벗어나, 문맥 자체를 기반으로 위치를 동적으로 재구성한다는 점에서 기존 연구들과 근본적인 차이를 보입니다.

연구 접근 방식 핵심 아이디어 한계점
Vaswani et al. 절대 위치 인코딩 각 위치에 고유 벡터 할당 고정된 순서, 긴 시퀀스에 취약
Shaw et al. 상대 위치 인코딩 토큰 간 상대 거리 반영 여전히 선형적 순서에 의존
Su et al. (RoPE) 회전 위치 임베딩 회전 행렬로 상대 위치 인코딩 선형적 순서에 의존
Li et al. (RePo) 문맥 재배치 문맥 기반 동적 위치 할당 선형성 가정 탈피

핵심 기여

  1. 문맥 재배치 메커니즘 제안: 고정된 순서가 아닌, 문맥적 중요도에 따라 토큰의 위치를 동적으로 재할당하는 새로운 패러다임을 제시했습니다.
  2. 경량의 미분 가능한 모듈: 기존 LLM 아키텍처에 쉽게 통합할 수 있는 학습 가능한 경량 모듈을 통해 새로운 위치 값을 효율적으로 계산합니다.
  3. 뛰어난 호환성 및 적용성: RoPE와 같은 대부분의 기존 위치 인코딩 방법과 호환되며, 사전 학습된 LLM을 처음부터 재학습할 필요 없이 파인튜닝만으로 적용할 수 있습니다.
  4. 압도적인 성능 향상 입증: 노이즈가 많은 문맥, 구조화된 데이터, 긴 문맥 추론 등 문맥 의존성이 높은 과제에서 기존 SOTA 방법론을 큰 폭으로 능가하는 성능을 보였습니다.

제안 방법론

RePo의 핵심은 **학습 가능한 모듈 fϕf_\phi**을 통해 각 토큰의 숨겨진 상태(hidden state) hih_i로부터 새로운 1차원 위치 좌표 ziz_i를 동적으로 계산하는 것입니다. 이 과정은 세 단계로 구성됩니다.

1. 위치 표현 추출 (Positional Representation Extraction)

먼저, 각 토큰의 문맥적 정보를 담고 있는 숨겨진 상태 hih_i를 입력받아, SwiGLU 활성화 함수를 통과시켜 위치 계산에 사용할 풍부한 표현 rir_i를 추출합니다.

ri=Swish(hiWg)(hiWc)r_i = \text{Swish}(h_i W_g) \odot (h_i W_c)
  • hih_i: ii번째 토큰의 숨겨진 상태 (문맥 정보를 함축)
  • Wg,WcW_g, W_c: 학습 가능한 가중치 행렬
  • \odot: 원소별 곱셈 (element-wise multiplication)

2. 새로운 위치 할당 (New Position Assignment)

추출된 위치 표현 rir_i에 간단한 선형 변환을 적용하여, 최종적인 1차원 스칼라 위치 값 ziz_i를 할당합니다. 이 ziz_i가 바로 RePo가 동적으로 부여한 새로운 '개념적' 위치 좌표입니다.

zi=riWzz_i = r_i W_z
  • WzW_z: 학습 가능한 가중치 행렬 (표현 rir_i를 1차원 위치로 매핑)

3. 상대 위치를 반영한 어텐션 계산 (Attention Calculation)

마지막으로, 어텐션 스코어를 계산할 때 두 토큰의 **새로운 위치 값의 차이(zjziz_j - z_i)**를 반영합니다. 이 구조는 RoPE와 매우 유사하지만, 결정적인 차이가 있습니다. RoPE가 고정된 물리적 위치의 차이(jij-i)를 사용하는 반면, RePo는 학습을 통해 얻은 동적 위치의 차이(zjziz_j - z_i)를 사용합니다.

ARePoi,j=qigθ(zjzi)kjA_{\text{RePo}_{i,j}} = q_i^\top g_\theta(z_j - z_i)k_j
  • qi,kjq_i, k_j: 각각 ii번째 쿼리, jj번째 키 벡터
  • gθg_\theta: 위치 차이를 임베딩하는 함수 (RoPE와 동일한 형태 사용 가능)

이러한 과정을 통해, RePo는 모델이 스스로 문맥의 내재적 구조를 파악하고, 중요한 정보들을 '가까운' 위치로 재배치하여 어텐션이 더 집중되도록 유도합니다.

실험 설정

RePo의 성능을 검증하기 위해, 문맥 의존성이 높은 다양한 과제에서 실험을 수행했습니다. 실험은 사전 학습된 OLMo-1B 및 7B 모델에 RePo 모듈을 추가하고 파인튜닝하는 방식으로 진행되었습니다.

데이터셋

  • 노이즈가 많은 문맥 (Key-Value Retrieval): 관련 없는 내용이 섞인 긴 문서에서 특정 키(key)에 해당하는 값(value)을 찾는 과제.
  • 구조화된 데이터 (Tabular & Code): 테이블 QA, 코드 생성 등 데이터의 논리적 구조 파악이 중요한 과제.
  • 긴 문맥 추론 (Needle-in-a-Haystack): 수만 토큰 길이의 문서 중간에 숨겨진 특정 정보("바늘")를 정확히 찾아내는 과제.

베이스라인

  • RoPE: 회전 위치 임베딩을 사용한 기존의 강력한 베이스라인 모델.
  • NoPE: 위치 인코딩을 사용하지 않는 모델 (성능 하한선 확인용).
  • Constant Pattern: 모든 토큰에 동일한 위치 값을 부여하는 단순한 패턴.

실험 결과 분석

RePo는 모든 평가 과제에서 기존의 강력한 위치 인코딩 방식인 RoPE를 큰 차이로 능가하는 압도적인 성능을 보였습니다.

주요 실험 결과 (OLMo-7B 모델 기준)

  • 노이즈가 많은 문맥 (Key-Value Retrieval): 관련 없는 정보가 많은 문서에서 특정 값을 찾는 작업에서, RePo는 RoPE 대비 평균 5.4점의 정확도 향상을 보였습니다. 이는 RePo가 문맥적 관계를 파악하여 노이즈를 효과적으로 필터링하고 핵심 정보에 집중함을 의미합니다.
  • 구조화된 데이터 (Tabular & Code): 테이블이나 코드처럼 구조가 중요한 데이터를 이해하는 능력에서 평균 2.27점의 성능이 향상되었습니다. RePo가 선형적 순서를 넘어 데이터의 논리적, 계층적 구조를 학습할 수 있음을 보여줍니다.
  • 긴 문맥 (Needle-in-a-Haystack): 32k 토큰 길이의 문서 중간에 숨겨진 정보를 찾는 작업에서, RePo는 평균 6.93점이라는 매우 큰 폭의 성능 향상을 기록했습니다. 이는 RePo가 정보의 물리적 거리에 구애받지 않고 중요한 내용을 끝까지 추적하는 능력이 뛰어남을 증명합니다.

Ablation Study (구성 요소 분석)

RePo의 핵심 요소인 동적 위치 할당 모듈의 중요성을 확인하기 위해 Ablation Study를 수행했습니다. 이 모듈을 제거하고 임의의 위치 값을 사용했을 때, 성능이 모든 과제에서 급격히 하락했으며, 이는 RePo의 성능 향상이 전적으로 문맥 기반 동적 재배치 기능 덕분임을 입증합니다.

비판적 평가

강점

  1. 혁신적인 접근: 고정된 순서라는 기존 패러다임에서 벗어나, 문맥 자체에서 위치를 학습하는 동적 접근법을 제시하여 LLM의 문맥 이해 방식을 근본적으로 개선했습니다.
  2. 높은 호환성과 실용성: 기존 LLM 아키텍처에 최소한의 수정으로 적용할 수 있으며, 재학습 없이 파인튜닝만으로도 큰 성능 향상을 얻을 수 있어 실용성이 매우 높습니다.
  3. 경량성 및 효율성: 추가되는 모듈이 매우 가벼워 추론 시 계산 및 메모리 오버헤드가 미미하여 확장성이 뛰어납니다.

한계점과 개선 방향

  • 학습 안정성: 동적으로 위치를 학습하는 과정은 기존의 고정 방식보다 불안정할 수 있으며, 학습 초기나 특정 데이터셋에서 최적의 위치를 찾는 데 어려움을 겪을 수 있습니다.
  • 해석의 어려움: RePo가 학습한 '개념적 위치'가 인간이 직관적으로 이해할 수 있는 의미를 갖는지는 아직 불분명합니다. 학습된 위치 값의 의미를 분석하고 시각화하는 연구가 필요합니다.
  • 일반화 성능: 논문에서 제시된 과제들 외에, 더 광범위한 자연어 이해(NLU) 및 생성(NLG) 벤치마크에서의 일반화 성능에 대한 추가 검증이 필요합니다.

향후 연구 방향

RePo는 LLM 아키텍처 연구에 새로운 가능성을 열었습니다. 향후 연구는 다음과 같은 방향으로 확장될 수 있습니다.

  • 다차원 위치 공간 탐색: 현재 1차원 스칼라 값으로 위치를 표현하지만, 2차원 이상의 다차원 공간에서 위치를 표현하여 더 복잡한 관계(예: 계층 구조)를 모델링하는 연구.
  • 위치 학습의 해석 가능성 연구: RePo가 학습한 동적 위치가 문장의 구문 구조나 의미적 클러스터링과 어떤 관련이 있는지 분석하여 모델의 작동 방식을 이해하려는 시도.
  • 사전 학습 단계부터의 통합: 파인튜닝뿐만 아니라, LLM 사전 학습 단계부터 RePo를 적용하여 모델이 처음부터 문맥 구조를 학습하도록 유도하는 연구.

실무 적용 가이드

RePo를 실무에 적용할 때 다음과 같은 시나리오에서 특히 유용할 수 있습니다.

  • 법률/의료 문서 분석: 수백 페이지에 달하는 문서에서 특정 조항이나 환자 기록을 찾아 상호 참조 관계를 파악해야 할 때, RePo는 물리적 거리에 상관없이 관련 정보를 연결하는 데 강점을 보입니다.
  • 고객 지원 챗봇: 긴 대화 기록이나 복잡한 매뉴얼을 참조하여 사용자의 질문에 정확히 답변해야 할 때, RePo는 노이즈가 많은 대화 속에서 핵심 정보를 추출하는 데 효과적입니다.
  • 코드 분석 및 생성: 코드의 논리적 흐름이나 변수 선언-사용 관계처럼 비선형적 구조를 이해해야 하는 작업에서 성능 향상을 기대할 수 있습니다.

결론

RePo는 고정된 순서에 의존하던 기존 위치 인코딩의 한계를 뛰어넘어, 문맥의 의미에 따라 동적으로 위치를 재구성하는 혁신적인 접근법을 제시했습니다. 이를 통해 LLM은 복잡하고 긴 문맥 속에서도 핵심 정보를 효과적으로 식별하고 연결하는, 한 차원 높은 문맥 이해 능력을 갖추게 되었습니다. RePo의 등장은 향후 LLM 아키텍처가 단순히 더 많은 데이터를 암기하는 것을 넘어, 입력된 정보를 지능적으로 구조화하고 이해하는 방향으로 진화할 것임을 시사하는 중요한 이정표입니다.

참고 자료

댓글