본문 바로가기
IT/인공지능

[RAG] RAFT: Adapting Language Model to Domain Specific RAG 논문 리뷰

by 드인 2024. 3. 19.

RAFT: Adapting Language Model to Domain Specific RAG

RAFT: 도메인 특화 RAG에 대한 언어 모델 적용 논문 리뷰


 

일반적으로 LLM(대형 언어 모델)을 다양한 애플리케이션에 적용할 때,

도메인별 지식이나 독점(proprietary) 데이터에 대해

🔧 Fine Tuning(파인튜닝)
🔎 RAG(Retrieval Augmented Generation, 검색 증강 생성)

 

방식을 적용합니다. 

 

논문은 "open-book" 인 도메인 설정에서 질문에 답변하는 능력을 향상시킬 수 있는 RAFT(Retrieval Augmented Fine Tuning)을 제안합니다.

 * open-book : 모델이 문서를 참조하여 질문에 답할 수 있는 패러다임

 

  • RAFT는 RAT(Retriever Awareness Training)를 기반으로 설계되었으며, 
  • RAFT는 주어진 질문에 대답하는 데 도움이 되지 않는 문서를 무시하도록 모델을 훈련하여 방해 요소를 제거하는 방식으로 작동합니다. 
  • RAFT의 chain-of-thought-style은 모델의 추론 능력을 향상시킵니다.

 

  • RAFT 소스코드 및 데모

https://github.com/ShishirPatil/gorilla

 

GitHub - ShishirPatil/gorilla: Gorilla: An API store for LLMs

Gorilla: An API store for LLMs. Contribute to ShishirPatil/gorilla development by creating an account on GitHub.

github.com

 

* RAFT 논문블로그 포스팅을 읽고 전체적으로 정리합니다.

 

1. Introduction

  • LLMs(Large Language Models, 대규모 언어 모델)이 방대한 공개 데이터로 훈련되어 다양한 일반 지식 추론 작업에서 상당한 발전을 이루었습니다.
  • LLM은 특정한 분야에서 작업을 지원하기 위해 사용되고 있으며, 이러한 환경에서 주요 목표는 일반적인 지식 추론보다는 주어진 문서에 기반한 정확도를 극대화하는 것입니다.
  • LLM 적응 방법론
    • RAG 기반 학습
      • LLM이 문서를 참조하여 질문에 답변할 수 있게 하지만,
      • 고정된 도메인 설정과 테스트할 문서(test documents)에 대한 초기 접근으로 제공되는 학습 기회를 활용하지 못합니다. ( = 훈련 과정에서 모델이 해당 도메인에 더 깊이 적용하고(adapt), 학습 기회를 최대한 활용하는 것에 제한적일 수 있습니다.)
    • Supervised Fine-Tuning 기반 학습
      • 문서의 더 일반적인 패턴을 학습하고 최종 작업 및 사용자 선호도에 더 잘 맞추는 기회를 제공하지만,
      • 시험 시간(test time)에 문서를 활용하지 못하거나 훈련 중 검색 과정의 불완전성을 고려하지 못합니다.
  • 도메인 특화 RAG에서 성능을 향상시키는 방법론인 RAFT(Retrieval Augmented Fine Tuning)에 대해 소개합니다.

 

2. LLMs for Open-Book Exam

  • RAFT는 LLM이 테스트할 도메인(문서)을 알지 못하는 일반적인 RAG와 다릅니다. 
  • 이를 시험을 준비하는 상황을 가정하여, LLM 배포와 사용에 대해 비유합니다. 

https://gorilla.cs.berkeley.edu/blogs/9_raft.html

  • Closed-Book Exam
    • LLM이 추가적인 정보 소스 없이, 사전에 훈련된 지식만을 바탕으로 질문에 답변할 수 있습니다. 
    • 이 환경에서 LLM의 성능은 오직 모델이 훈련 중에 접했던 정보와 얼마나 효과적으로 그 정보를 학습했는지에 의존합니다.
  • Open Book Exam
    • LLM이 외부 문서나 데이터를 참조하여 질문에 답변할 수 있습니다.
    • 이 환경에서 LLM은 특정 질문에 가장 관련성이 높은 정보를 검색하고, 해당 정보를 기반으로 답변을 구성합니다.
  • Domain Specific Open-Book Exam
    • LLM이 테스트될 도메인을 사전에 알고 있고, 특정 도메인 내 정보를 활용하여 질문에 답변할 수 있습니다.
    • 이 환경에서 LLM은 문서 컬렉션 내에서 찾을 수 있는 질문에 대해 답변하고, 검색 기술 자체는 메커니즘에 거의 영향을 미치지 않습니다.

논문은 주로 Domain Specific Open-Book Exam과 사전 훈련된 LLM에 대해

특정 도메인에 적용하는 방법(검색된 문서와 방해 요소의 수가 다양할 때 모델을 더욱 robust하게 만드는 방법)

 

을 연구합니다.

 

 

3. RAFT

  • RAFT를 사용하여 LLM의 성능을 향상시키는 과정과 그 메커니즘을 소개합니다. 

Figure 2: Overview of our RAFT method

  • Train RAFT: LLM이 긍정적 문서(답변에 도움이 되는 문서)와 부정적 문서(답변에 도움이 되지 않는 문서)를 구분하며, 이를 통해 모델이 더 효과적으로 정보를 추출하고 학습할 수 있도록 합니다.
  • Train Golden Only: RAFT는 모델이 긍정적 문서에서 필요한 정보를 추출하고, 부정적 문서를 무시하는 방법을 학습하도록 만듭니다.
  • Test RAG Top-k: 테스트 단계에서 RAFT 방법을 사용하는 모델은 일반적인 RAG을 따릅니다. (모델이 주어진 상위 k개의 검색된 문서를 통해 질문에 답변합니다.)

 

  • RAFT의 훈련 데이터
    • 질문(Q)
    • 문서 세트(Dk)
    • 문서 중 하나(D*)에서 생성된 Chain-of-Thought(CoT) 스타일 답변(A*)
      • Chain-of-Thought: 환각을 방지하기 위해 답변에서 ##begin_quote## ##end_quote##를 사용하여 context에서 직접 복사한 인용구의 시작과 끝을 나타냅니다.
    • 데이터 예시 - Berkeley Blog 블로그 예시와 동일
Question: The Oberoi family is part of a hotel company that has a head office in what city?

context: [The Oberoi family is an Indian family that is famous for its involvement in hotels, namely through The Oberoi Group]...[It is located in city center of Jakarta, near Mega Kuningan, adjacent to the sister JW Marriott Hotel. It is operated by The Ritz-Carlton Hotel Company. The complex has two towers that comprises a hotel and the Airlangga Apartment respectively]...[The Oberoi Group is a hotel company with its head office in Delhi.]

Instruction: Given the question, context and answer above, provide a logical reasoning for that answer. Please use the format of: ##Reason: {reason} ##Answer: {answer}.

CoT Answer: ##Reason: The document ##begin_quote## The Oberoi family is an Indian family that is famous for its involvement in hotels, namely through The Oberoi Group. ##end_quote## establishes that the Oberoi family is involved in the Oberoi group, and the document ##begin_quote## The Oberoi Group is a hotel company with its head office in Delhi. ##end_quote## establishes the head office of The Oberoi Group. Therefore, the Oberoi family is part of a hotel company whose head office is in Delhi. ##Answer: Delhi
  • 여기서 답변을 도출할 수 있는 'oracle' 문서(D*)답변과 관련 없는 정보를 포함한 'distractor' 문서(Di)를 구분해야 합니다.
  • 훈련데이터의 일부는 oracle 문서를 포함하고, (P%의 데이터)
  • 다른 일부는 oracle 문서를 제외하고 distractor 문서만 포함시킵니다. (1-P%의 데이터)
    • P % of data: Q + D* + D1 + D2 + ... + Dk => A*
    • 1-P % of data: Q + D1 + D2 + ... + Dk => A*
  • 이러한 방식으로 언어 모델에 Supervised Fine-Tuning(SFT, 지도 파인튜닝) 기법을 사용하여, 제공된 문서와 질문으로부터 답변을 생성하도록 학습합니다.

 

4. Evaluation

  • 데이터셋
    • Natural Questions (NQ), Trivia QA, Hotpot QA: Wikipedia 기반의 오픈 도메인 질문, 일반 지식(예: 영화, 스포츠 등)
    • HuggingFace, Torch Hub, TensorFlow Hub: Gorilla 논문에서 제안된 APIBench에 포함된 데이터셋, 문서 기반으로 정확하고 기능적인 API 호출을 생성하는 방법
    • PubMed QA: 생물의학 연구 질문 응답(의료 및 생물학)
  • 모델
    • LlaMA2-7B-chat 모델 with 0-shot prompting: QA 작업에 사용되는 지시문이 포함된 모델로, 참조 문서 없이 명확하게 작성된 지시사항을 사용합니다.
    • LlaMA2-7B-chat 모델 with RAG (Llama2 + RAG): 도메인 특화 QA 작업에서 사용되는 참조 context를 추가된 모델입니다.
    • Domain-Specific Finetuning with 0-shot prompting (DSF): context 없이 표준 지시문 파인튜닝을 수행합니다.
    • Domain-Specific Finetuning with RAG (DSF + RAG): domain-specific finetuned 모델에 RAG를 사용하여 외부 지식을 통합하기 때문에 모델이 알지 못하는 "지식"에 대해서도 context를 참조할 수 있습니다.

Table 1: RAFT improves RAG performance forall specialized domains

 

5. Conclusion

  • RAFT는 특정 도메인의 "open book" 환경에서 질문에 답변하는 모델의 성능을 향상시키기 위해 설계된 훈련 전략으로, 선택된 문서를 기반하여 질의응답 작업을 위한 LLM의 파인튜닝 방안을 제시합니다.
  • 중요한 설계 결정
    • distractor 문서와 함께 모델을 훈련
    • 데이터셋의 context에서 oracle 문서가 일부 부족하도록 구성
    • 관련 텍스트의 직접 인용을 통해 chain-of-thought으로 답변을 공식화
  • 일반적인 RAG와 달리, RAFT는 LLM이 특정 도메인 지식을 사용하여 질문에 답변하는 실질적인 시나리오를 다룹니다.
  • 더 작은 파인튜닝된 모델도 일반적인 LLM에 비해 domain-specific question-answering tasks에서도 잘 수행할 수 있다는 것을 시사합니다 .