Speculative RAG: Enhancing Retrieval Augmented Generation through Drafting

하임·2024년 11월 27일

RAG

목록 보기
2/20

https://arxiv.org/pdf/2407.08223?

  • 간단 요약

    Speculative RAG 방법과 내용 요약

    Speculative RAG는 기존의 Retrieval-Augmented Generation(RAG) 방식의 한계를 보완하고, 특히 정보 집약적인 질문에서 더 높은 정확도와 효율성을 제공하는 방법입니다. 이 방법은 두 단계로 구성되는데, 먼저 'Specialist RAG Drafter'라는 소형 모델이 질문과 관련된 다수의 문서들을 소규모 클러스터로 나눠 다양한 답안 초안을 생성하고, 이후 'Generalist RAG Verifier'라는 대형 모델이 이러한 초안을 검토하여 최종 답안을 선택하는 구조입니다.

    주요 단계 및 방법

    1. 문서 클러스터링 및 샘플링: 관련 문서들을 질문에 따라 몇 개의 클러스터로 나누고, 각 클러스터에서 하나의 문서를 샘플링하여 중복성을 줄이고 다양성을 높입니다.

    2. 초안 생성: Specialist RAG Drafter는 각 문서 샘플링 결과를 기반으로 질문에 대한 다양한 답안 초안과 그 근거(rationale)를 생성합니다. 이 Drafter는 소형 모델로, 속도를 중시하며 문서 기반의 정확한 답안을 생성할 수 있도록 학습됩니다.

    3. 검증 및 선택: Generalist RAG Verifier는 Drafter가 생성한 초안을 평가하여 신뢰도 점수를 계산하고, 가장 신뢰도가 높은 초안을 최종 답안으로 선택합니다. Verifier는 별도의 튜닝이 필요 없으며, Drafter의 초안을 효과적으로 검증해 최종 응답을 개선합니다.

      한계점

      Speculative RAG는 높은 효율성과 정확도를 제공하지만, 추가적으로 Specialist Drafter 모델을 훈련해야 한다는 점에서 복잡성이 증가합니다. 또한, 새로운 Drafter 모델의 튜닝 과정에서 약간의 계산 비용이 발생하며, 일반 RAG 모델과 비교해 약간의 설정 과정이 필요합니다.


초록(Abstract)

Retrieval-Augmented Generation(RAG)은 대형 언어 모델(LLM)의 생성 능력에 외부 지식 소스를 결합하여 더 정확하고 최신의 응답을 제공합니다. 최근의 RAG 연구는 LLM의 반복적 세부 조정이나 자체 비판 능력을 추가 튜닝하여 검색 결과를 개선하는 데 중점을 두고 있습니다. 본 연구에서는 SPECULATIVE RAG라는 프레임워크를 소개합니다. 이 프레임워크는 소형의 특화된 LM이 생성한 여러 RAG 초안을 병렬로 검증하는 대형 일반 목적 LM을 활용합니다. 각 초안은 검색된 문서의 고유한 하위 집합에서 생성되어 다양한 관점을 제공하며, 초안별로 입력 토큰 수를 줄입니다. 이러한 접근은 각 하위 집합의 이해도를 높이고, 긴 문맥에서의 위치 편향 가능성을 줄입니다. 본 방법은 초안 생성을 소형의 특화된 LM에 위임하여 RAG 속도를 높이고, 대형 일반 LM이 단일 검증 과정을 수행하여 성능을 개선합니다. 광범위한 실험 결과, TriviaQA, MuSiQue, PubHealth, ARC-Challenge 벤치마크에서 SPECULATIVE RAG가 최첨단 성능을 달성하며, PubHealth 데이터셋에서는 정확도를 최대 12.97% 향상시키고 지연 시간을 51% 줄임을 확인했습니다.


도입(Introduction)

대형 언어 모델(LLM)은 질문 응답 과제에서 상당한 성과를 보이고 있습니다. 그러나 지식 중심의 질문에 대한 최신 정보나 희귀 정보를 요구하는 질문에 대해 LLM은 사실 오류나 잘못된 내용을 생성하기도 합니다. RAG(Retrieval-Augmented Generation)는 외부 데이터베이스에서 정보를 검색하여 문맥에 포함함으로써 지식 중심의 과제에서 이러한 오류를 줄이는 유망한 해결책으로 떠오르고 있습니다.

RAG 시스템은 보통 필요한 정보를 모두 포함하기 위해 다수의 문서를 검색하는데, 이로 인해 입력이 길어지고 복잡한 추론이 필요해져서 지연 시간이 증가하는 문제가 발생합니다. 최근 연구는 LLM의 컨텍스트 길이 한계를 확장하는 방법을 모색하고 있으나, 긴 문맥에서 잘 연결된 추론을 달성하는 것은 여전히 해결되지 않은 문제입니다.

본 연구에서는 SPECULATIVE RAG를 제안하여 RAG의 과부하를 줄이고자 합니다. 소형의 특화된 LM을 사용해 효율적인 RAG 모듈로 활용하여 초안을 생성하게 하고, 이를 대형 일반 LM이 검증하는 구조로 효율성을 극대화하였습니다.

  • SPECULATIVE RAG에서는 검색된 문서를 유사성에 따라 클러스터링하고, 각 클러스터에서 하나의 문서를 샘플링하여 하위 집합을 만듭니다. 다양한 관점을 반영하고 중복성을 최소화하는 이러한 문서 하위 집합은 여러 RAG 모듈에 전달되어 병렬로 초안이 생성됩니다. 초안을 작성한 후, 일반 LM은 자세한 문서 검토 없이 초안을 검증하고, 최적의 답변을 선택합니다.

핵심 기여:

  • 소형 특화 RAG 드래프터를 사용하여 고품질의 초안 답변을 생성합니다. 각 초안은 검색된 문서의 고유한 하위 집합에서 파생되어 다양한 관점을 제공하며, 초안별로 입력 토큰 수를 줄입니다.
  • 대형 일반 LM은 추가 튜닝 없이 단일 검증 과정을 통해 가장 적합한 초안을 최종 답변에 통합합니다.
  • 소형 특화 LM에 초안 생성을 위임하여 RAG 속도를 크게 높이며, 대형 일반 LM은 병렬로 초안을 검증하는 과정을 통해 높은 효율성을 달성합니다.

Speculative RAG의 관련 연구 및 방법론

2. 관련 연구

  • RAG (Retrieval-Augmented Generation):
    • RAG는 외부 데이터베이스에서 관련 문서를 검색해 생성 과정에 포함하여 LLM의 정보 생성 능력을 향상시키는 방식입니다.
    • 최근 연구들은 LLM이 언제, 무엇을 검색할지 결정하는 능력이나 문맥을 효과적으로 활용하는 접근 방식을 설계하는 데 중점을 두고 있습니다.
    • 일부 연구(예: SAIL, SelfReflective RAG)는 LLM을 세부 조정해 검색 결과를 필터링하거나 반영 토큰을 사용해 정확도를 높이려 했지만, 추가적인 조정이 필요하며 리소스 소모가 큽니다.
    • 반면, Corrective RAG는 간단한 평가 모델을 사용하여 효율성을 높이려 했으나 고수준의 추론 능력이 부족했습니다.
    • Speculative RAG는 작은 RAG 초안 생성 모델(specialist LM)을 사용하여 다양한 관점에서 검색된 문서들을 효율적으로 분석하고 초안을 생성하는 방식으로 이러한 한계를 해결합니다.
  • Speculative Decoding:
    • Speculative Decoding은 작은 모델로 다수의 초안을 생성하고, 대상 모델이 이를 검증하는 구조로, 자동 회귀적 생성의 지연을 줄입니다.
    • 본 연구는 이 개념을 RAG 초안 생성 수준으로 확장하여 초안을 생성한 후 답안 전체를 검증하는 구조를 제안합니다.

3. Speculative RAG를 통한 초안 기반 생성

문제 정의

  • 지식 집약형 과제에서 질문(Q), 검색된 문서들(D), 기대 답변(A)으로 구성된 입력이 주어집니다.
  • RAG 시스템의 목표는 검색된 문서를 바탕으로 답변을 유창하게 생성하거나 주어진 옵션 중 기대 답변을 선택하는 것입니다.

3.1 개요

  • Speculative RAG는 검색된 문서에 대해 추론 능력을 높이면서도 처리 속도를 유지하도록 설계된 프레임워크입니다.
  • 일반적인 대형 언어 모델을 조정하는 대신, 작은 특화 모델(RAG Drafter)이 여러 답안 초안을 빠르게 생성하고, 대형 일반 모델(RAG Verifier)이 이를 평가하여 최상의 답변을 선택하고 통합하는 구조입니다.
  • 알고리즘 개요:
    1. 검색된 문서를 질문과의 관련성에 따라 클러스터링하여 다양한 관점을 제공합니다.
    2. 각 클러스터에서 하나의 문서를 샘플링하여 초안을 작성할 문서 하위 집합을 생성합니다.
    3. 각 문서 집합은 특화 RAG 드래프터가 초안(답변)과 근거(설명)를 생성합니다.
    4. 일반 모델이 초안을 평가하여 신뢰도 점수를 계산하고, 가장 높은 점수를 가진 초안을 최종 답변으로 선택합니다.

3.2 특화 RAG 드래프터 (Specialist RAG Drafter)

  • 대형 일반 모델을 조정하지 않고, 작고 특화된 언어 모델(MDrafter)을 사용하여 검색된 문서를 이해하고 질문에 대한 답변을 생성합니다.
  • MDrafter는 문서에 기반한 근거를 포함해 답변 초안을 작성할 수 있도록 훈련됩니다.
  • 훈련 과정:
    • 질문(Q), 답변(A), 문서(D) 세트에서 문서에 기반한 주요 정보를 추출하여 근거(E)를 생성하고, 이를 활용해 모델을 세부 조정합니다.
    • 근거는 문서에서 필요한 정보를 간결하게 전달하며, 질문에 대한 답변이 타당한 이유를 설명합니다.
  • 다각적 샘플링:
    • 질문이 모호할 수 있는 지식 집약형 질문을 위해 다양한 문서들을 검색하여, K-평균 군집화 방법으로 다양한 주제와 내용을 포함한 문서 하위 집합을 구성합니다.
    • 이를 통해 중복성을 줄이고, 초안 작성에 다양한 관점을 반영할 수 있도록 합니다.

3.3 일반 RAG 검증자 (Generalist RAG Verifier)

  • 특화 RAG 드래프터가 생성한 초안과 근거를 대형 일반 모델 MVerifier가 평가하여 신뢰도가 낮은 초안을 걸러내고, 최적의 답변을 선택합니다.
  • 평가 점수:
    • 자기 일관성 점수(Self-Consistency Score): 질문을 바탕으로 초안과 근거의 생성 확률을 계산하여, 일관성을 평가합니다.
    • 자기 반영 점수(Self-Reflection Score): 초안이 근거와 부합하는지 묻는 질문을 추가해 신뢰도를 평가합니다.
  • 계산 방법:
    • MVerifier는 각 질문 및 초안-근거 쌍에 대해 자동 회귀 기능을 활용하여 단일 포워드 패스로 일관성 및 자기 반영 점수를 계산합니다.
    • 최종 점수는 초안의 신뢰도를 평가하는 ρj로 계산되며, 최고 점수의 초안을 최종 답변으로 선택합니다.

Speculative RAG는 LLM의 성능과 효율성을 극대화하는 동시에 최신 정보와 다각적 관점을 반영하여 보다 정확한 답변을 제공합니다.

4.실험

생략

결론(Conclusion)

본 연구에서 제안한 SPECULATIVE RAG는 RAG 작업을 초안 생성과 검증의 두 단계로 나눕니다. SPECULATIVE RAG는 소형 특화 RAG 드래프터가 초안 생성의 주요 작업을 담당하도록 하고, 대형 일반 LM이 검증을 수행하는 구조입니다. 다양한 문서 하위 집합에서 병렬로 생성된 여러 초안은 입력 토큰 수를 줄이며 긴 문맥에서 발생할 수 있는 위치 편향의 위험을 줄입니다. 본 연구는 SPECULATIVE RAG가 정확도를 최대 12.97% 향상시키고 지연 시간을 51% 줄임을 보여주며, RAG 성능을 향상시키기 위한 협력적 아키텍처의 가능성을 제시합니다.


한계(Limitations)

본 논문에서 제안한 소형의 특화된 RAG 드래프터는 지식 집약형 과제에서 대형 범용 LM을 효과적으로 보완합니다. SPECULATIVE RAG는 정확성과 효율성을 높이지만, 추가로 드래프터 모델을 훈련해야 한다는 점에서 복잡도가 증가하는 한계가 있습니다.

profile
NLP 공부합니당

0개의 댓글