논문 개요

대규모 언어 모델(LLM)은 방대한 사전학습 지식을 보유하고 있지만, 최신 정보 접근이나 사실적 정확성에서 한계를 보입니다. 검색 증강 생성(RAG)은 이러한 한계를 극복하기 위해 외부 문서를 동적으로 참조하는 방식을 채택합니다. 그러나 기존의 RAG 방식은 대부분 파인튜닝을 요구하거나 복잡한 아키텍처 변경을 필요로 했습니다.

**In-Context RALM(In-Context Retrieval-Augmented Language Models)**은 이 문제를 해결하기 위해 검색 문서를 단순히 언어 모델의 입력 컨텍스트 앞에 이어붙이는(prepend) 방식을 채택합니다. 이 접근법은 추가 학습 없이도 기존 LLM에 즉시 적용 가능하며, 모델 내부 구조를 전혀 수정하지 않아도 됩니다. 논문은 TACL 2023에 게재되었으며, 검색 증강의 근본적인 메커니즘을 심층적으로 탐구합니다.

핵심 기여

  1. 파인튜닝 없는 검색 증강: 어떤 사전학습 LLM이든 추가 학습 없이 검색 증강의 혜택을 받을 수 있음을 증명합니다. 이는 검색 문서를 단순히 컨텍스트에 앞에 이어붙이는 것만으로 달성됩니다.

  2. Stride 기반 검색 전략: 긴 텍스트를 처리할 때 슬라이딩 윈도우(sliding window) 방식으로 일정 간격(stride)마다 검색을 수행하여 적절한 문서를 지속적으로 공급합니다. 형식적으로, 토큰 시퀀스 에 대해 매 번째 토큰마다 검색을 수행합니다.

  3. 재순위화(Reranking) 비교: BM25, dense retriever, 언어 모델 기반 재순위화 등 다양한 문서 선택 전략을 체계적으로 비교합니다.

  4. RALM vs RAG 개념 정립: 두 패러다임의 차이를 명확히 구분하고, 각각의 장단점을 분석합니다.

방법론 상세

인컨텍스트 삽입 메커니즘

기본 아이디어는 언어 모델의 조건부 확률을 검색 문서로 보강하는 것입니다. 일반적인 언어 모델의 확률은 다음과 같습니다:

In-Context RALM은 이를 다음과 같이 확장합니다:

여기서 는 현재 컨텍스트 를 쿼리로 사용하여 검색된 개의 문서입니다. 문서는 모델 입력의 앞쪽에 이어붙여지며, 이를 통해 모델은 관련 외부 지식을 직접 참조할 수 있습니다.

Stride 기반 검색

텍스트 생성 또는 평가 시, 전체 시퀀스를 일정 stride 로 나누어 매 구간마다 독립적으로 문서를 검색합니다. 위치 에서의 쿼리 는 직전 개의 토큰으로 구성됩니다:

이 쿼리로 검색된 문서 집합 를 해당 구간의 입력에 prepend합니다. stride가 클수록 검색 빈도는 낮아지지만 계산 효율이 높아지고, stride가 작을수록 더 정확한 문서를 지속적으로 제공할 수 있습니다.

문서 재순위화 전략

논문은 세 가지 재순위화 전략을 비교합니다:

  • BM25: 희소(sparse) 어휘 매칭 기반의 전통적 검색 방법. 빠르고 간단하지만 의미적 유사도를 포착하지 못합니다.
  • Dense Retrieval: dense embedding을 활용한 의미 기반 검색. DPR 등의 모델을 사용합니다.
  • LM 기반 재순위화: 언어 모델 자체가 각 후보 문서의 관련성을 직접 점수화합니다. 문서 가 주어졌을 때 쿼리 토큰들의 로그 우도(log-likelihood)를 재순위화 점수로 활용합니다:

실험 결과, LM 기반 재순위화가 BM25 검색 결과를 추가로 개선하는 데 가장 효과적임이 밝혀졌습니다.

적용 대상 모델

실험은 GPT-2(117M~1.5B), GPT-Neo(1.3B, 2.7B), GPT-J(6B) 등 다양한 규모의 오토리그레시브 언어 모델에 적용되었습니다. 모든 모델에서 파인튜닝 없이 성능 향상이 관찰되었습니다.

실험 결과

Perplexity 감소

인컨텍스트 RALM은 WikiText-103 및 RealNews 등 다양한 언어 모델링 벤치마크에서 perplexity를 일관되게 낮춥니다. 예를 들어 GPT-2 Large(774M)의 경우, 검색 증강 없이 WikiText-103에서 perplexity가 약 17 수준이었으나, In-Context RALM 적용 후 13 이하로 감소하는 효과를 보였습니다.

Perplexity는 언어 모델의 불확실성을 측정하는 지표로, 다음과 같이 정의됩니다:

In-Context RALM은 조건부 확률에 검색 문서를 추가함으로써 이 값을 낮춥니다.

모델 규모에 따른 효과

흥미롭게도, 모델 규모가 클수록 검색 증강의 이점이 더 크게 나타납니다. 소형 모델(GPT-2 117M)은 검색 문서를 효과적으로 활용하는 능력이 제한적이지만, 대형 모델(GPT-J 6B)은 검색된 정보를 훨씬 잘 통합합니다. 이는 더 강력한 in-context learning 능력을 가진 모델일수록 검색 증강의 효과가 극대화됨을 시사합니다.

Stride 크기의 영향

Stride 크기가 줄어들수록(더 자주 검색할수록) perplexity가 감소하는 경향이 있습니다. 하지만 stride=1(매 토큰마다 검색)은 계산 비용이 매우 높아 실용적이지 않습니다. 논문은 stride=4~16 범위가 성능과 효율성의 균형에서 최적임을 보고합니다.

BM25 + LM 재순위화

BM25로 후보 문서를 선별한 후 LM 기반 재순위화를 적용하는 2단계 파이프라인이 단독 방법 대비 가장 우수한 결과를 보였습니다. 이는 어휘 매칭의 정밀도와 의미적 유사도의 장점을 결합하는 효과입니다.

의의 및 한계

의의

In-Context RALM은 검색 증강이 파인튜닝 없이도 효과적임을 실증적으로 증명한 중요한 연구입니다. 이는 다음과 같은 실용적 함의를 갖습니다:

  • 범용성: GPT 계열, LLaMA 계열 등 어떤 디코더 전용 LLM에도 플러그인 방식으로 적용 가능합니다.
  • 비용 효율: 추가 학습 없이도 성능을 향상시킬 수 있어, 제한된 컴퓨팅 자원에서도 활용 가능합니다.
  • 해석 가능성: 어떤 문서가 생성에 기여했는지 명확히 추적할 수 있어 출처 확인이 용이합니다.

이 연구는 이후 RAG 연구의 기반이 되었으며, LangChain, LlamaIndex 등 실용적인 RAG 프레임워크 설계에도 영향을 미쳤습니다.

한계

  • 컨텍스트 길이 제한: 검색 문서를 컨텍스트에 삽입하므로 모델의 최대 입력 길이(context window)가 제약이 됩니다. 여러 문서를 삽입할수록 원래 입력이 밀려나는 문제가 발생합니다.
  • 검색 품질 의존성: 검색된 문서의 품질이 낮으면 오히려 성능이 저하될 수 있습니다. 잘못된 문서가 모델을 오도할 수 있는 hallucination 문제가 남아 있습니다.
  • 생성 태스크 한정: 논문의 실험은 주로 언어 모델링(perplexity) 평가에 집중되어 있어, QA, 요약 등 다운스트림 태스크에서의 효과는 별도로 검증이 필요합니다.
  • 실시간 검색 비용: 매 stride마다 외부 검색 엔진을 호출해야 하므로 추론 지연(latency)이 증가합니다.