본문 바로가기

인공지능

Self-RAG란? 전통적인 RAG 한계를 넘어서는 새로운 검색 방식

728x90
반응형

1. 기존 RAG 한계와 Self-RAG 필요성

**RAG(Retrieval-Augmented Generation)**는 질문에 답변할 때 검색 기능을 추가해 좀 더 정확한 정보를 제공할 수 있도록 설계된 모델입니다. 하지만, 기존 RAG의 경우 모든 질문에 대해 일괄적인 검색을 수행하는 특징이 있어 자원 낭비와 불필요한 정보 혼란을 초래할 수 있습니다. RAG 모델은 질문을 이해한 후 자동으로 검색을 수행하기 때문에, 때로는 검색이 필요 없는 질문에도 검색을 시도하여 효율성이 떨어질 수 있습니다.

이와 달리 Self-RAG는 이러한 한계를 극복하고자 등장했습니다. Self-RAG는 **반영 토큰(Reflection Tokens)**을 사용하여 필요할 때에만 검색을 수행하게 하고, 검색된 정보 중에서도 필요한 정보만을 선택해 효율적으로 답변을 생성하는 데에 초점을 맞추고 있습니다.

반응형

2. Self-RAG의 주요 단계

Self-RAG는 세 가지 주요 단계를 거쳐 답변을 생성합니다.

Step 01. 필요에 따른 검색

Self-RAG는 질문을 분석한 후 필요한 경우에만 검색을 수행합니다. 예를 들어, “미국 주 이름은 어떻게 생겼나요?”와 같은 질문이 주어지면 모델은 “검색” 명령을 내려 주제와 관련된 정보를 찾습니다. 반면, 개인적인 의견이나 경험을 요구하는 질문에는 검색 없이도 답변을 생성할 수 있습니다.

Step 02. 병렬 생성

검색된 정보와 질문을 바탕으로 답변을 생성하는 단계입니다. Self-RAG는 이 과정에서 검색된 정보의 관련성을 평가하는 **세 가지 반영 토큰(IsREL, IsSUP, IsUSE)**을 사용하여 정보를 분석하고, 불필요한 정보를 걸러냅니다.

Step 03. 평가 및 선택

마지막으로, 여러 후보 답변 중에서 가장 적합한 답변을 선택하여 최종 답변으로 제공합니다. 평가 단계에서는 유용성을 기준으로 평가가 이루어지며, 이를 통해 가장 적절한 정보를 출력으로 제공합니다.

3. Reflection Tokens (반영 토큰)란 무엇인가?

Self-RAG의 핵심은 반영 토큰에 있습니다. RAG가 단순히 질문에 대해 검색을 수행하는 것과 달리, Self-RAG는 다양한 반영 토큰을 통해 세밀한 검색 및 생성 제어가 가능합니다.

Self-RAG에서 활용되는 네 가지 반영 토큰은 다음과 같습니다:

  • [Retrieve]: 해당 질문에 대해 검색이 필요한지를 결정
  • [IsREL]: 검색된 정보가 질문에 관련성이 있는지 여부를 판단
  • [IsSUP]: 제공된 답변이 검색된 정보에 의해 뒷받침되는지 검증
  • [IsUSE]: 최종 답변이 유용한지를 평가 (1~5의 점수로 평가)

이러한 반영 토큰을 통해 Self-RAG는 보다 정확하고 적응적인 검색을 수행합니다. 예를 들어, 모델이 질문을 처리하다가 모르는 정보가 필요한 경우 [Retrieve] 토큰을 생성하여 해당 정보를 검색한 뒤, 검색된 정보를 통해 답변을 구성하는 방식입니다.

4. Critique 모델 및 Generator 모델 학습

Self-RAG는 **Critique 모델(C)**과 **Generator 모델(M)**이라는 두 가지 모델을 사용하여 더욱 고도화된 학습을 진행합니다.

Critique 모델

Critique 모델은 GPT-4와 같은 대형 언어 모델을 활용하여 반영 토큰을 생성하고, 이를 통해 학습 데이터를 생성합니다. Self-RAG는 이 Critique 모델을 통해 Retrieve, IsREL, IsSUP, IsUSE 토큰을 적절히 생성하여 답변 생성에 대한 피드백을 강화합니다.

Critique 모델은 Llama 2–7B와 같은 언어 모델을 바탕으로 추가 학습이 진행되며, 학습 목표는 conditional language modeling objective입니다. Critique 모델이 생성한 반영 토큰들은 Self-RAG 학습에 필요한 **감독 데이터(supervision data)**로 활용되어 더욱 정밀한 답변 생성을 가능하게 합니다.

Generator 모델

Generator 모델은 Critique 모델이 생성한 반영 토큰이 포함된 코퍼스를 바탕으로 학습됩니다. Generator 모델은 next token prediction objective을 통해 다음 단어를 예측하며, 이 과정에서 반영 토큰을 함께 예측하도록 학습됩니다.

5. 평가: 다양한 태스크와 평가지표

Self-RAG 모델의 성능을 평가하기 위해 다양한 태스크와 데이터셋이 사용됩니다. 평가에는 다음과 같은 태스크와 데이터셋이 포함됩니다:

  • PubHealth: 사실 검증
  • ARC-Challenge: 다지선다 추론
  • Pop-QA: 짧은 문장 생성
  • TriviaQA-unfiltered: 짧은 문장 생성
  • ALCE-ASQA: 긴 문장 생성

각 태스크는 정확성, 문장 내 정답 포함 여부, FactScore, MAUVE와 같은 다양한 평가지표를 통해 평가됩니다. Self-RAG는 이러한 평가지표를 통해 전통적인 RAG보다 더 정확하고 유연한 답변 생성 능력을 보여주고 있습니다.

728x90

결론

Self-RAG는 전통적인 RAG와 달리 반영 토큰을 통해 필요할 때만 검색을 수행하고, 검색된 정보를 분석하여 필요한 정보만을 선별하는 방식으로 효율성을 높였습니다. Critique 모델과 Generator 모델의 협력을 통해 더 정확한 학습과 평가가 가능하며, 이는 Self-RAG의 성능을 크게 향상시킵니다. Self-RAG의 등장으로 언어 모델이 보다 정밀하고 효율적인 검색 기반 답변을 제공할 수 있게 되었습니다.

728x90
반응형