NL-214, RAFT: Adapting Language Model to Domain Specific RAG, Preprint 2024

◼ Comment

  • RAG을 스터디해보려고 처음 읽어본 논문이다.
  • 논문 읽기전 RAG 연구라는게 검색된 문서를 어떻게 prompt하고 LLM 인퍼런스하는지 등에 대한 것이라고 생각했으나, 다양한 관점이 있는거 같음
  • 이 논문에선 특정 도메인에서의 RAG을 하려고 하는 상황을 가정한다.
    • 사실 노벨티는 별로 없어보이긴 함
  • 시나리오
    • 질의 (q) --> 검색문서 (d1, ..., d10)
    • q, d1, ..., d10 -> 응답(r)생성 (d2을 기반으로 생성했다고 보자)
    • 즉 여기서 응답을 생성할때, 활용되는 문서는 d2이다.
    • 그러면 d1, d3, ..., d10은 사실 크게 필요없을 수 있다.
    • 즉 LLM모델은 질의에 답을 생성할때, 무슨 문서가 필요할지 알 필요가 있다.
  • 학습 사나리오
    • 가장 기본적으로 생각할 수 있는건
      • q, d2 -> r 하도록 학습한다
      • 하지만 이러면 모델이 golden document만 보기 때문에 성능이 떨어지는 결과를 보여준다
    • 저자가 제안한 것
      • q, d1, d2, d3 -> r 이런식으로 학습
        • 즉 일부 distractor(d1, d3)을 prompt에 넣어서 학습하도록 한다.
        • 여기서 사용한 학습 데이터에서는 어떤 문서를 기반으로 응답을 생성했지 표시되어있음
      • q, d1, d3, d4 -> r 이런식으로도 학습
        • 학습 데이터의 일부는 아예 golden을 안줘버린다.
        • 즉 distractor 문서만 prompt로 주는 것인데.. 이건 LLM이 좀 더 negative doucment에 강인하게 만들고 메모라이징 기능을 넣는 것이라고 한다.
        • 사실 직관적으로 ? 가 띄긴하나 뭐 어쨌든 일부 %는 이렇게 하는게 성능이 좋다고 함
  • 논문에서 언급되는 모델들을 정리하자면
    • LlaMA2-7B-chat model with 0-shot prompting: 기존 LLM에 Q->A가 되도록 RAG없이 테스트
    • LlaMA2-7B-chat model with RAG (Llama2 + RAG): 기존 LLM에 Q+D->A가 되도록 테스트
    • domain specific Finetuning with 0-shot prompting (DSF): 먼저 LLM을 Q->A가 되도록 학습한다. 학습된 모델 DSF로 Q->A가 되도록 테스트. 여기서 D을 넣을때는 top-k 문서를 넣어주는듯
    • domain specific Finetuning with RAG (DSF + RAG): 먼저 LLM을 Q->A가 되도록 학습한다. 학습된 모델 DSF로 Q+D->A가 되도록 테스트
    • RAFT: 먼저 LLM을 Q+D1+D2->A 와 Q+D*+D2 ->A 이런식으로 같이 학습. 학습된 모델 DSF로 Q+D->A로 테스트
  • CoT 방식의 학습데이터 쓰고 테스트하면 성능이 더 좋아진다고 함
  • 여기서 LLM은 llama2을 이용했고, 데이터세트는 밑에 참고
  • 결론적으로 우리가 테스트할 도메인을 알 경우에는, LLM을 fine-tuning해서 RAG하는게 좀 더 효과적이라는 것 (즉 fine-tuned sLLM > LLM이 된다)
  • fine-tuning하는것은 뭐 크게 노벨티가 있는건 아님
  • 근데 어쨌든 테스트할 도메인도 알아야하고, 모델도 재학습해야하는 등의 리소스가 드는건 맞음

Abstract 

  • 대규모 언어 모델(LLM)을 대규모 텍스트 데이터의 대규모 말뭉치로 사전 훈련시키는 것은 이제 표준 패러다임입니다. 
  • 이러한 LLM을 다양한 하위 응용 프로그램에 사용할 때, 추가로 새로운 지식(예: 시간적으로 중요한 뉴스 또는 개인 도메인 지식)을 사전 훈련된 모델에 내장시키는 것이 일반적입니다. 
  • 이는 RAG 기반 프롬프팅이나 파인튜닝을 통해 이루어질 수 있습니다. 
  • 그러나 새로운 지식을 획득하기 위한 최적의 방법은 여전히 미해결된 문제입니다. 
  • 본 논문에서는 Retrieval Augmented Fine Tuning (RAFT)이라는 훈련 레시피를 제시하여 모델의 "오픈북" 도메인 설정에서의 질문에 답하는 능력을 개선합니다. 
  • RAFT에서는 질문과 검색된 문서 세트가 주어지면, 질문에 대한 도움이 되지 않는 문서, 즉, 방해 요소 문서를 무시하도록 모델을 훈련합니다. 
  • 이를 위해 RAFT는 질문에 답하는 데 도움이 될 것으로 예상되는 관련 문서에서 적절한 순서를 직접 인용함으로써 이를 달성합니다. 
  • 이는 RAFT의 chain-of-thought-style response과 결합되어 모델의 추론 능력을 향상시킵니다. 
  • 도메인 특정 RAG에서, RAFT는 PubMed, HotpotQA 및 Gorilla 데이터셋을 통해 모델의 성능을 일관되게 향상시키며, 사전 훈련된 LLM을 도메인 내 RAG로 개선하기 위한 후처리 레시피를 제시합니다. 
  • RAFT의 코드와 데모는 https://github.com/ShishirPatil/gorilla에서 오픈 소스로 제공됩니다.

1. Introduction

  • 대규모 언어 모델(LLM)은 방대한 양의 공개 데이터로 훈련되어 다양한 일반 지식 추론 작업에서 상당한 진전을 이뤘습니다(Brown et al., 2020; Wei et al., 2022). 
  • 그러나 최근에는 점점 더 LLM이 특정 도메인에서 사용되어 특정 소프트웨어 프레임워크에 대한 코드 완성부터 특정 문서 컬렉션(예: 법적이거나 의료 문서)에 대한 질문 응답까지 다양한 작업을 지원하는 데 사용되고 있습니다. 
  • 이러한 환경에서는 일반 지식 추론보다는 주어진 문서 집합을 기반으로 정확도를 극대화하는 것이 더 중요합니다. 
  • 실제로, LLM을 특화된 도메인(예: 최근 뉴스, 기업 비공개 문서 또는 훈련 종료 후에 생성된 프로그램 리소스)에 적응시키는 것은 많은 신흥 응용 프로그램에 필수적이며, 이것이 이 작업의 초점입니다(Vu et al., 2023; Lazaridou et al., 2022).
  • 본 논문은 다음 질문을 연구합니다 
    • - 어떻게 특화된 도메인에서 사전 훈련된 LLM을 Retrieval Augmented Generation (RAG)에 적응시킬까요? 
  • LLM을 특화된 도메인에 적응시키는 데 있어서 우리는 다음 두 가지 후보를 고려합니다: 
    • in-context learning through Retrieval-Augmented Generation (RAG) and 
    • supervised fine-tuning.
  • RAG 기반 방법은 질문에 답할 때 문서를 참조할 수 있게 합니다. 
    • 그러나 이러한 방법은 고정된 도메인 설정과 테스트 문서의 초기 액세스가 제공하는 학습 기회를 활용하지 못합니다. 
  • 반면, supervised fine-tuning은 문서의 보다 일반적인 패턴을 학습하고 최종 작업 및 사용자 선호도에 더 잘 부합하도록 할 수 있는 기회를 제공합니다(Zhou et al., 2023a). 
    • 그러나 기존의 파인튜닝 기반 접근 방식은 테스트 시 문서를 활용하지 못하거나(RAG을 포함하지 않음) 훈련 중 검색 프로세스의 불완전함을 감안하지 못합니다.
  • in-context learning이 일반적으로 내가 생각한 RAG이긴 함
  • fine-tuning은 검색결과 없이 데이터를 학습한다는 것인가?
    • 이 방식은 in-context learning이 아닌가? 일단 좀 살펴봐야할 듯
  • 우리는 open-book 시험에 대한 비유를 들 수 있습니다. 
    • 기존의 in-context retrieval  검색 방법은 공부하지 않고 open-book 시험을 보는 것과 동등합니다. 
  • 반면, 기존의 fine-tuning 기반 방법은 입력 문서를 직접적으로 "암기"(Xiong et al., 2023)하거나 문서를 참조하지 않고 연습 문제에 대답함으로써 "공부"를 시행합니다(Wang et al., 2022). 
    • 이러한 접근 방식은 도메인 내 학습을 활용하지만, open-book 시험의 특성에 대비하기 위한 준비를 하지 못합니다. 
  • 본 논문에서는 지도된 파인튜닝(SFT)과 검색 증강 생성(RAG)을 결합하는 방법을 연구합니다. 
  • 우리는 새로운 적응 전략인 Retrieval-Augmented Fine Tuning (RAFT)을 제안합니다. 
    • RAFT는 도메인 지식을 통합하는 데 대한 LLM의 파인튜닝 도전을 특히 주목하면서 도메인 내 RAG 성능을 향상시킵니다. 
    • RAFT의 목표는 모델이 파인튜닝을 통해 도메인 특정 지식을 학습할 뿐만 아니라 잘못된 검색에 대한 견고성도 보장하는 것입니다. 
  • 이를 위해 모델을 훈련하여 제시된 질문(프롬프트), 도메인 특정 문서 검색 및 적절한 답변 사이의 동적을 이해하도록 합니다. 
  • 다시 비유를 하면, 우리의 접근 방식은 관련 및 무관한 검색된 문서를 인식하여 open-book 시험을 위해 공부하는 것과 유사합니다.
  • RAFT에서는 문서(D*)로부터 질문(Q)에 답변하는 모델을 훈련하여 답변(A*)을 생성합니다. 
    • 여기서 A*에는 chain-of-thought이 포함되어 있으며, distractor documents(Dk)의 존재도 고려됩니다. 
  • 우리는 방법론을 자세히 설명하고 (섹션 3), 훈련 및 테스트 시 방해 문서(k)의 수에 대한 민감도를 분석합니다(섹션 5). 
  • RAFT는 PubMed(Dernoncourt & Lee, 2017), HotpotQA(Yang et al., 2018), HuggingFace Hub, Torch Hub 및 Tensorflow Hub Gorilla 데이터셋(Patil et al., 2023)에서 RAG를 사용하든 사용하지 않든 항상 지도된 파인튜닝을 능가하여 사전 훈련된 LLM을 도메인 내 RAG로 개선하는 새로운 하지만 간단한 기술을 제시합니다.

2. LLMs for Open-Book Exam

  • 우리의 목표를 더 잘 이해하기 위해 시험 준비라는 실제 환경에서 LLM을 교육하는 것의 비유를 확장합니다.
  • Closed-Book Exam 
    • closed book exam은 시험 도중에 추가 문서나 참고 자료에 접근할 수 없는 상황을 가리킵니다. 
    • LLM(Large Language Model)들에게는 예를 들어 챗봇으로 사용되는 시나리오와 유사합니다. 
    • 이 시나리오에서 LLM은 사전 훈련 및 감독된 미세 조정 과정 중에 내재된 지식을 활용하여 프롬프트에 응답합니다.
  • Open Book Exam 
    • 반면에, open-book 시험 환경은 LLM이 외부 소스(예: 웹사이트나 책)를 참고할 수 있는 시나리오와 유사합니다. 
    • 이러한 경우에는 일반적으로 LLM은 리트리버와 함께 작동하며, 리트리버가 'k' 개의 문서(또는 문서의 특정 세그먼트)를 검색하여 프롬프트에 추가합니다. 
    • LLM이 "새로운 지식"에 접근하는 것은 이러한 문서들을 통해서만 가능합니다. 
    • 결과적으로, 우리는 LLM이 일반 목적의 LLM으로 훈련된 상황에서 이러한 설정에서의 성능이 주로 리트리버의 품질과 리트리버가 가장 관련 있는 정보를 얼마나 정확하게 식별할 수 있는지에 따라 결정된다고 주장합니다.
  • Domain Specific Open-Book Exam 
    • 본 논문에서는 일반 오픈북 시험이 아닌, 점점 더 인기 있는 영역인 도메인 특정 오픈북 시험에 초점을 맞췄습니다.
    • 도메인 특정 오픈북 시험에서는 LLM이 시험될 도메인을 사전에 알고 있습니다 - 추론에 사용됩니다. 
    • LLM은 특정 도메인에서 미세 조정된 정보를 사용하여 프롬프트에 응답할 수 있습니다. 
    • 도메인 특정 예시로는 기업 문서, 최신 뉴스, 조직에 속한 코드 저장소 등이 있습니다. 
    • 이러한 시나리오에서는 LLM이 질문에 대답하기 위해 문서 모음(작은 실용적 도메인) 내에서 찾을 수 있는 정보를 사용하여 응답합니다. 
    • 검색 기술 자체는 메커니즘에 별다른 영향을 미치지 않습니다(정확도에는 영향을 미칠 수 있음). 
    • 본 논문은 주로 이 도메인 특정 오픈북 환경을 연구하며, 사전 훈련된 LLM을 이 특정 도메인에 적응시키는 방법 및 검색된 문서 및 분산 요소의 수의 변동에 대응하기 위해 어떻게 더 견고하게 만들 수 있는지에 대해 다룹니다.
    • 즉 이 논문에서 하고자 하는것임.
      • 테스트할 특정 도메인에서 검색결과를 가져와서 어떻게 활용할까?
      • 이때 검색기술자체는 뭐 크게 건드리는건 아닌듯

3. RAFT

  • 이 섹션에서는 도메인별 오픈북 시험을 위해 LLM을 교육하는 새로운 방법인 RAFT를 소개합니다. 
  • 먼저 감독된 미세 조정의 고전적인 기술을 소개한 다음 실험에서 얻은 주요 내용을 소개합니다. 
  • 그런 다음 일반 명령어 튜닝의 수정된 버전인 RAFT를 소개합니다. 
  • 마지막으로, 이후 섹션에서 예상되는 실험에 대한 개요를 제공합니다.

Supervised Finetuning 

  • Question-Answer 데이터셋에 대한 감독된 미세 조정(Supervised Fine-Tuning, SFT) 설정을 고려해보겠습니다. 
  • 이 공식화는 데이터셋 (D)에서 질문 (Q)과 해당 답변 (A) 쌍이 파생되거나 이미 제공되는 경우로 구성됩니다. 
  • 고전적인 SFT 설정에서는 모델이 지식을 활용하여 질문에 답하는 능력을 향상시키도록 훈련됩니다 - 이 지식은 사전 훈련 중에 얻거나 SFT 훈련 단계 중에 얻을 수 있습니다. 
  • 이렇게 훈련된 모델은 추가 문서가 프롬프트에 도입되어 모델이 질문에 답하는 데 도움을 줄 수 있는 RAG 설정에서도 테스트 시 사용될 수 있습니다. 
  • 이는 다음과 같이 나타낼 수 있습니다:
    • • Train: Q → A 
      • LLM을 이걸로 한번더 학습하는게 다른건가?
    • • 0-shot Inference: Q → A 
      • 일반적인 LLM 형태
    • • RAG Inference: Q + D → A
      • 일반적인 LLM w/ RAG 형태

RAFT 

  • RAFT은 도메인 특화 오픈북 설정에 모델을 맞추기 위해 미세 조정 데이터를 준비하는 새로운 방법을 제시합니다. 
  • RAFT에서는 각 데이터 포인트가 질문(Q), 문서 집합(Dk), 그리고 해당 문서(D∗) 중 하나에서 생성된 Chain-of-thought 스타일 답변(A∗)을 포함하도록 학습 데이터를 준비합니다. 
  • 우리는 두 종류의 문서를 구분합니다: 'oracle' 문서(D∗), 즉 질문에 대한 답변을 추론할 수 있는 문서와 'distractor' 문서(Di), 답변과 관련된 정보가 포함되지 않은 문서입니다.
    • 구현 상세 사항으로, '오라클' 문서는 HotpotQA (Yang et al., 2018)와 같이 하나 이상의 문서일 수 있습니다. 
    • 그런 다음 데이터 집합의 P%는 질문(qi)에 대해 우리는 오라클 문서(d∗i)를 유지하고 distractor 문서(dk−1)를 포함합니다. 
    • 데이터 집합의 (1 − P)%는 질문(qi)에 대해 우리는 오라클 문서를 포함하지 않고 distractor 문서(dk)만을 포함합니다. 
    • 그런 다음 표준 지도 학습(SFT) 기술을 사용하여 언어 모델을 미세 조정하여 제공된 문서와 질문에서 답변을 생성하도록 합니다. 
    • Fig. 2는 RAFT의 고수준 설계 원칙을 설명합니다.
    • 즉 그림처럼, negative documents와 positive documents와 question을 줘서 답변하게 모델을 학습하는기도 하고
    • negative documents만 줘서 답변을 하게 학습하기도 함. 이거는 모델이 너무 검색에 의존하지 않도록 하는건가?
  • 우리는 접근 방식이 모델을 훈련하여 특정 문서 집합에 대해 더 나은 RAG를 수행하도록 합니다. 
    • 다시 말해, 도메인 내에서 더 잘 작동하도록 하는 것입니다. 
    • 어떤 경우에는 오라클 문서를 제거함으로써 모델에게 답변을 기억하도록 강요합니다. 
    • 이는 답변을 맥락에서 유도하는 것이 아니라 답변을 기억하도록 하는 것입니다. 
    • RAFT의 훈련 데이터는 다음과 같습니다. 
    • 그리고 훈련 데이터의 예시는 그림 3에서 확인할 수 있습니다.
    • • P % of data: Q + D∗ + D2 + . . . + Dk → A∗
    • • (1 − P) % of data: Q + D1 + D2 + . . . + Dk → A∗
  • 이후에는 테스트 시나리오에서 모델에게 Q와 RAG 파이프라인에 의해 검색된 상위 k개의 문서가 제공됩니다. 
    • RAFT는 사용된 검색기와 독립적입니다. 
  • 훈련 품질을 향상시키는 데 중요한 요소 중 하나는 Chain-of-Thought와 같은 추론 과정을 생성하는 것입니다. 
  • RAFT 접근 방식은 유사합니다. 
  • 우리는 full reasoning chain을 생성하고, 추가로 소스를 명확하게 인용함으로써 모델이 질문에 대한 정확도를 향상시키는 것을 보여줍니다. 
  • 그림 3에서 이러한 설정을 설명합니다. 
  • 이러한 방식으로 훈련 데이터를 생성하는 것은 모델에게 질문, 맥락 및 검증된 답변을 제시하고, 원본 맥락을 적절하게 참조하는 추론 체인을 형성하도록 요청하는 것을 포함합니다.
  • 우리 실험에서 모든 데이터셋에 대해 위에서 설명한 기술을 사용하여 답변을 생성합니다. 
    • Gorilla APIBench 데이터셋은 이미 답변에 추론을 포함하고 있습니다. 
    • 이 데이터세트는 논문의 방식대로 구성되어있나봄
    • Gorilla는 찾아보니 HuggingFace, TorchHub 및 TensorHub API 도메인에 대한 데이터세트임
    • 이외의 데이터세트에선 gpt4을 이용해서 추론부분을 생성해서 보강한거 같은데.. 맞나?
  • 우리는 그림 3에서 생성 단계의 예시를 제공합니다. 
    • 상세한 추론 답변은 ##begin_quote##와 ##end_quote## 내부의 원본 맥락에서의 인용을 포함하며, 또한 해당 인용을 기반으로 결론에 도달하는 방법에 대한 상세한 설명을 포함합니다. 
  • 우리는 상세한 추론 단락을 추가함으로써 모델의 성능을 향상시키는 것을 실험 섹션에서 보여줍니다.
    • fine-tuning할때 CoT을 답변에 넣어서 생성하도록 학습하면 성능이 높아지는 효과가 있다고 한다

4. Evaluation

  • 우리는 RAFT가 다양한 기준선과 비교했을 때 얼마나 잘 수행되는지를 연구하기 위해 실험을 설계했습니다. 
  • RAFT-7B 모델(라마-2의 미세 조정 버전)이 도메인 특정한 미세 조정 모델과 RAG를 사용한 일반 목적 모델보다 도메인 내 문서에서 정보를 읽고 추출하는 데 더 우수하다는 것을 발견했습니다. 
  • Ablation으로는 또한 모델이 Chain-of-Thought 응답으로 학습하는 것이 얼마나 중요한지를 보여줍니다. 
  • 이 섹션에서는 먼저 실험에 사용한 모든 데이터셋을 소개하고, 그런 다음 모든 기준선 모델/미세 조정 기법을 소개합니다.

4.1. Datasets

  • 우리의 실험에서는 다음과 같은 데이터셋을 사용하여 우리의 모델과 모든 기준선을 평가합니다. 
  • 이러한 데이터셋을 선택한 이유는 위키피디아, 코딩/API 문서, 그리고 의료 문서에 대한 질문-답변과 같이 인기 있는 다양한 도메인을 대표하기 위해서입니다.
    • • Natural Questions (NQ) (Kwiatkowski et al., 2019), Trivia QA (Joshi et al., 2017) 및 HotpotQA (Yang et al., 2018)는 주로 일반 지식 (영화, 스포츠 등)에 중점을 둔 위키피디아 기반의 오픈 도메인 질문-답변입니다.
    • HuggingFace, Torch HubTensorFlow Hub는 Gorilla 논문에서 제안된 APIBench (Patil et al., 2023)에서 가져온 것입니다. 이러한 벤치마크는 문서를 기반으로 올바르고 기능적이며 실행 가능한 API 호출을 생성하는 방법을 측정합니다.
    • PubMed QA (Jin et al., 2019)는 생물 의학 연구 질문에 대한 전용 질문-답변 데이터셋입니다. 이는 특히 주어진 문서 세트를 기반으로 의학 및 생물학 질문에 답하는 데 중점을 둡니다.
  • 주의할 점은 첫 번째 데이터셋 범주(NQ, Trivia QA, HotpotQA)는 비교적 일반적인 도메인이며, 나머지 두 도메인은 매우 도메인 특정 문서에 관한 것입니다.
  • 베이스라인. 우리는 실험을 위해 다음과 같은 기준선을 고려합니다:
    • LlaMA2-7B-chat model with 0-shot prompting: 이는 QA 작업을 위한 흔히 사용되는 instruction-finetuned model로, 명확하게 작성된 지시사항을 제공하지만 참조 문서는 제공하지 않습니다. (fine-tuning없이 test)
    • LlaMA2-7B-chat model with RAG (Llama2 + RAG): 이전 설정과 유사하지만 여기에는 참조 문서가 포함됩니다. 이는 도메인 특정 QA 작업을 다룰 때 인기있는 기술입니다. (fine-tuning없고 RAG을 이용해서 test)
    • domain specific Finetuning with 0-shot prompting (DSF): 문맥에서 문서 없이 standard supervised finetuning을 수행합니다. 이는 모델의 답변 스타일을 조정하고 도메인 컨텍스트에 익숙해지는 데 주로 유용합니다. (도메인 데이터로 일반적인 fine-tuning)
    • domain specific Finetuning with RAG (DSF + RAG): 외부 지식을 RAG를 사용하여 도메인 특정 finetuned model에 제공합니다. 따라서 모델이 모르는 "지식"에 대해 문맥을 참조할 수 있습니다. (도메인 데이터로 학습된 모델에 RAG 이용해서 테스트)
    • 여기서 RAG 이용한다는것은 top-k 문서를 prompt로 넣어주는 것을 말하는 듯
    • RAFT는 top-k문서를 넣는게 아니라 negative sample을 넣고 빼고의 방법을 말하는 것

4.2. Results

  • 위의 데이터셋과 기준선을 사용하여 우리의 모델 RAFT를 평가하고 Tab. 1에서 RAFT의 효과를 시연합니다. 
  • RAFT가 일관되고 유의하게 기준선을 능가하는 것을 볼 수 있습니다. 
  • 기본 Llama2 지시어 미세 조정 모델과 비교하면, RAG를 사용한 RAFT는 정보 추출 측면에서 훨씬 우수하며, 디스트랙터에 대해 견고합니다. 
  • 이로 인한 이득은 Hotpot QA에서 35.25% 및 Torch Hub 평가에서 76.35%까지 커질 수 있습니다. 
  • 특정 데이터셋에서 DSF와 비교했을 때, 우리 모델은 문제를 해결하기 위해 제공된 컨텍스트에 의존하는 데 더 잘합니다. 
  • RAFT는 HotpotQA 및 HuggingFace 데이터셋과 같은 작업에서 훨씬 뛰어납니다 (HotpotQA에서 30.87%, HuggingFace에서 31.41%). 
  • PubMed QA의 경우, 이진 예/아니오 질문이기 때문에, DSF + RAG와 비교했을 때 유의미한 이득을 관찰하지 못합니다. 
  • 심지어 더 크고 더 좋은 모델인 GPT-3.5와 비교하더라도, RAFT는 상당한 장점을 보여줍니다.
  • 전반적으로, RAG를 사용하든 사용하지 않든 LLaMA-7B 모델은 답변 스타일이 실제 정답과 일치하지 않아 성능이 나쁩니다. 
  • domain specific tuning을 적용함으로써 우리는 그 성능을 크게 향상시킵니다. 
  • 이 과정을 통해 모델이 적절한 답변 스타일을 학습하고 채택할 수 있습니다. 
    • 그러나 도메인별로 미세 조정된 (DSF) 모델에 RAG를 도입하는 것이 항상 더 나은 결과를 이끌지는 않습니다. 
    • 이는 모델이 문맥 처리 및 유용한 정보 추출에 대한 훈련이 부족할 수 있다는 것을 나타낼 수 있습니다. 
  • RAFT라는 우리의 방법을 통합함으로써, 우리는 모델을 답변 스타일을 필요에 맞게 맞추는 것뿐만 아니라 문서 처리 능력을 향상시킵니다. 
  • 결과적으로, 우리의 접근 방식은 모든 다른 방법을 능가합니다.
  • 도메인 학습없이 그냥 모델사용하면 성능이 하락된다. (뭐 이건 당연한 얘기인듯)
  • DSF(도메인에 대해 모델 fine-tuning)은 성능이 향상되는데..
  • DSF+RAG(단순히 top-k를 prompt로 넣어서 테스트)가 DSF보다 좋은 것은 아니다.
  • RAFT 방식으로 학습하면 DSF, DSF+RAG보다 좋다

4.3. Effect of CoT 

  • 또한 모델의 성능을 향상시키는 Chain-of-Thought 접근 방식의 효과를 평가하기 위해 분석을 수행합니다. 
  • Table 2에서 나타나듯이 질문에 대한 답변만 제공하는 것만으로는 항상 충분하지 않을 수 있습니다. 
  • 이 접근 방식은 손실이 급격히 감소하여 훈련 과정이 발산할 수 있습니다.
  • 답변으로 모델을 안내하는 것뿐만 아니라 모델의 이해를 풍부하게 하는 추론 체인을 통합함으로써 전반적인 정확도를 향상시킬 수 있습니다. 
  • 우리의 실험에서는 Chain-of-Thought를 통합함으로써 훈련의 견고성을 크게 향상시킵니다. 
  • 우리는 Chain-of-Thought 프롬프트를 생성하기 위해 GPT-4-1106을 사용하고, 사용한 프롬프트의 예시를 그림 3에 포함시켰습니다.
  • CoT을 학습/테스트에 사용하면 성능이 향상된다는 것을 보여줌.
  • 하지만 언제나 문제는 이러한 데이터를 만들어야 한다는 것;; 임시방편으론 GPT4을 이용해서 만들순 있으나.. 그럴거면 걍 GPT4을 쓰는게 낫지 않나? 뭐 암튼..
  • PubMed, QA 데이터세트에서 CoT에 해당하는 부분은 GPT4을 이용해서 데이터세트 보강한것인가?

4.4. Qualitative Analysis

  • RAFT가 도메인별로 미세 조정된(DSF) 접근 방식보다 잠재적인 이점을 설명하기 위해 Figure 4에 비교적인 예시를 제시합니다. 
  • 이 예시는 DSF 모델이 각별해진 상황을 질문하여 대본 작가의 신분을 요구하는 경우 혼란스러워지는 것을 질적으로 보여줍니다. 
  • 올바른 이름을 제공하는 대신, 대본 작가가 쓴 영화 중 하나를 잘못 인용합니다. 
  • 반면, RAFT 모델은 질문에 정확하게 답변합니다. 
  • 이러한 차이점은 모델을 질문-답변 쌍만을 사용하여 훈련하는 것이 제공된 문서에서 관련 컨텍스트를 유도하는 능력을 손상시킬 수 있다는 것을 시사합니다. 
  • 이 비교는 standard instructional tuning and context comprehension을 모두 훈련 데이터셋에 통합하여 텍스트 처리 능력을 보존하고 향상시키는 것의 중요성을 강조합니다.
  • RAFT는 즉 RAG의 결과까지 학습에 적용하면 좋다. 이때 CoT을 활용한 데이터면 더 좋다.
  • 사실 큰 노벨티는 없어보이긴함. 그냥 여러 기술들의 짬뽕정도?
  • DSF+RAG+CoT Prompting은 어떨까?

4.5. Should we train the LLM always with the oracle context for RAG?

  • 대규모 언어 모델(LLM)을 항상 오라클 컨텍스트와 함께 훈련해야 하는지에 대한 우리의 탐색에서, 우리는 핵심 질문을 다룹니다: 
    • 훈련 데이터의 어느 비율(p%)이 오라클 문서를 포함해야 합니까? 
  • 직관적으로, 효과적인 문맥에서의 정보 읽기 및 추출에 대한 훈련(예: RAG 작업)을 위해 오라클 문서는 항상 훈련 중에 포함되어야 한다고 가정할 수 있습니다(P = 100%). 
  • 그러나 우리의 연구 결과는 이러한 가정에 도전합니다: 
    • 오라클 문서가 포함되지 않은 일부 훈련 데이터를 통합하는 것(P = 80%)은 RAG 작업에서 모델의 성능을 향상시킬 것으로 보입니다.
  • Fig. 5는 훈련 인스턴스의 백분율을 나타내는 하이퍼파라미터 P%에 대한 조사를 보여줍니다. 
  • 우리의 분석 결과, 최적의 비율은 데이터셋에 따라 다양하며, 그 수치는 40%, 60%, 100%까지 다양합니다. 
  • 이는 때로는 올바른 문맥이 없는 상황에서 LLM을 훈련하는 것이 문서와 관련된 질문에 대한 다운스트림 작업에 유익할 수 있음을 나타냅니다. 
  • 우리의 훈련 설정에서는 오라클 문서와 함께 네 개의 디스트랙터 문서를 포함하고, 테스트 시에도 이 형식을 유지하기 위해 오라클 문서와 네 개의 디스트랙터를 제공합니다.
  • 우리의 연구 결과는 도메인 특정 RAG 작업의 경우, 일부 훈련 데이터를 오라클 문서 없이 포함하는 것이 유리함을 보여줍니다.
  • 직관적으로는 항상 유추할 문서가 정답으로 주어져야 모델의 학습이 용이할거 같으나..
    • 실험상 그렇지는 않았다는 것
    • 데이터마다 이 비율이 다르긴함
    • 올바른 문맥이 없는 상황에서의 LLM의 지식을 이용해서 답하는게 오히려 나을 수도 있다.
    • 그리고 논문이 아닌 실제 서비스에선 올바른 문맥이 무조건 주어진다는 보장이 없기도 할듯

5. RAFT Generalizes to Top-K RAG

  • RAFT의 성능을 다양한 벤치마크에서 시연한 후에, 이제 또 다른 중요한 문제를 연구합니다: 
    • 평가 중에 상위 k 개의 검색 결과로 증가된 제너레이션 (RAG) 결과를 RAFT와 결합했을 때, RAFT의 성능에 분산문서의 수가 어떻게 영향을 미치는가? 
  • 이전 연구들 (Shi et al., 2023a; Weston & Sukhbaatar, 2023; Liu et al., 2023b)는 LLMs가 관련없는 텍스트에 취약하다는 것을 강조해 왔습니다. 
  • 이 문제는 LLMs + RAG에게 특히 중요하며, 상위 k RAG가 테스트 시 자주 사용되므로 고속도로를 보장하기 위해 필요합니다. 
  • 이러한 시나리오는 모델이 관련 없는 콘텐츠를 식별하고 무시하고, 관련 정보에만 초점을 맞추도록 해야 합니다.

5.1. Making Model Robust to top-K RAG 

  • 거대한 언어 모델의 (LLMs) 검색 파이프라인 내에서 관련 없는 텍스트를 걸러 내는 능력을 강화하는 도전에 대처하기 위해, 우리의 분석 결과로는 오라클 (높은 관련성) 문서만을 사용하여 훈련하는 것이 모델이 관련 없는 정보를 식별하고 무시하는 능력을 부정적으로 감소시킬 수 있음을 밝혀 냈습니다. 
    • 만약 LLM이 oracle 문서로만 RAG을 활용하도록 학습한다면, 성능 저하 유발 가능
    • 왜냐하면 모델이 관련없는 정보인지 아닌지를 판단하는 능력이 없으므로
  • 이를 해결하기 위해, 우리의 알고리즘 RAFT는 오라클 문서와 관련 없는 문서의 혼합을 사용하는 전략을 채택합니다. 
  • 이 방법론은 훈련 과정 전반에 걸쳐 어느 정도의 부정적인 (관련 없는) 문서의 비율을 포함해야 하는지 조사하고, 이 훈련 접근 방식이 테스트 단계에서 Retrieval-Augmented Generation (RAG)에 의해 만나는 다양한 문서 양에 얼마나 잘 적응하는지를 평가할 수 있도록 합니다. 
  • 우리의 목표는 관련성 있는 정보를 식별하고 활용하는 모델의 효율성을 강화하기 위해 관련 및 관련 없는 정보 간의 균형을 정립하는 것입니다. 
  • 섹션 4.5에서는 훈련 데이터의 P%가 어느 정도의 방해를 포함해야 하는지 살펴보았지만, 이 섹션에서는 테스트 시나리오를 연구합니다.
  • Training with Negative Documents 
    • 검색된 문서의 관련 없는 텍스트에 대한 거대한 언어 모델 (LLMs)의 강건성을 향상시키기 위해, 우리는 골든 (높은 관련성) 문서와 디스트랙터 (관련 없는) 문서를 모두 포함하는 파인튜닝 접근 방식을 채택했습니다. 
    • 모델은 다양한 수의 디스트랙터 문서와 함께 훈련되었지만, 항상 리트리버에서 얻은 상위 k 개의 문서를 사용하여 일관되게 평가되었습니다. 
    • 그림 6에 자세히 기술된 우리의 결과는, 오라클 문서만을 사용한 파인튜닝이 종종 디스트랙터 문서를 포함한 구성과 비교하여 성능이 떨어지는 결과를 보여줍니다.
    • 그림에서 볼 수 있듯이, Natural Questions의 경우 D∗ + 3D 문서를 사용한 학습이 더 나은 성능을 나타내며, Hotpot QA의 경우 D∗ + 1D 문서를 사용한 학습이 더 나은 성능을 보입니다. 
    • 이 통찰력은 우리의 알고리즘인 RAFT에 특히 유익했습니다. 
    • 우리의 실험에서, 일반적으로 하나의 오라클 문서와 네 개의 디스트랙터 문서로 구성된 훈련 설정을 사용합니다. 
    • 이 접근 방식은 모델이 디스트랙터에 압도되지 않으면서도 관련 정보를 효과적으로 식별하고 우선순위를 정할 수 있는 능력을 확보하는 균형을 이루고 있습니다.
    • 그림 6에서 보면, distractor 문서를 몇개 넣어서 학습하냐에 따라, 성능이 달라지는데
    • 어쨋든 golden 문서만으로 학습하는것보다 성능이 향상된다.
    • 물론 데이터세트에 따라, distractor 문서를 몇 개 설정하는게 베스트인지 모른다..
  • Generalization to a variable number of test-time documents. 
    • 우리는 모델의 성능에 미치는 다른 양의 테스트 문서의 영향을 조사하기 위해 연구를 확장했습니다. 
    • 구체적으로, 우리의 실험은 다양한 수의 디스트랙터 문서로 훈련된 모델이 테스트 시간에 제시된 문서 수의 변화에 어떻게 반응하는지를 평가하는 데 중점을 두었습니다. 
    • 그 결과는 그림 6에 나타나 있으며, 훈련 중 디스트랙터 문서를 포함하는 것이 테스트 중에 발생하는 문서 수의 변동에 대해 모델을 더 견고하게 만든다는 것을 확인합니다. 
    • 이러한 능력은 테스트 시간 문서 수의 변화에도 일관된 성능을 유지할 수 있는 능력을 더욱 강화하여, 우리의 접근 방식인 RAFT의 강건성을 더욱 확증합니다. 
    • 이 결과는 모델을 실제 응용 프로그램에서 만날 수 있는 다양한 시나리오에 대비하여 모델을 준비하기 위해 잘 보정된 훈련 환경의 중요성을 강조합니다.

6. Related Works

  • Retrieval-Augmented Language Models 
    • RAG는 외부 지식 베이스에서 관련 정보를 가져와 언어 모델을 개선함으로써, 언어 모델링(Guu et al., 2020; Borgeaud et al., 2022; Khandelwal et al., 2019; Shi et al., 2023d; Lin et al., 2023b; Shi et al., 2023c; Asai et al., 2023; Xu et al., 2023; Wang et al., 2023) 및 개방형 도메인 질문 응답(Izacard et al., 2023; Lewis et al., 2020)을 포함한 다양한 NLP 작업의 성능을 크게 향상시킵니다. 
    • 이 통합은 "retrieve-and-read" 패러다임을 따르며, 검색 모듈이 외부 소스에서 추가적인 컨텍스트를 제공하고, 언어 모델이 최종 출력을 생성하는 데 사용합니다. 
    • 검색 프로세스는 입력을 쿼리로 사용하여 문서를 가져오고, 언어 모델은 이를 최종 예측에 통합합니다. 
    • 예를 들어, Atlas (Izacard et al., 2023)는 검색 모듈을 사용하여 T5 모델을 파인튜닝하고 문서를 잠재 변수로 취급합니다. 
    • 반면에 RETRO (Borgeaud et al., 2022)는 디코더만 사용하는 아키텍처를 수정하여 검색된 텍스트를 포함하고 처음부터 사전 훈련을 수행합니다. 
    • kNN-LM (Khandelwal et al., 2019)은 추론 시 LM의 다음 토큰 분포와 검색된 토큰에서 계산된 분포 사이를 보간합니다. 
    • (Shi et al., 2023d; Ram et al., 2023)는 언어 모델에 대한 블랙박스 액세스를 가정하고, 그것을 기존에 있던 것이나 파인튜닝된 검색 모듈과 결합합니다.
  • Memorization 
    • 거대한 신경 언어 모델 주변의 중요한 질문 중 하나는 실제로 텍스트를 "이해"하는지 여부입니다 (Feldman, 2020; Power et al., 2022) 또는 단순히 표면적인 패턴 기억에 의존하는지 여부입니다 (Carlini et al., 2019; Tänzer et al., 2022). 
    • (Feldman, 2020; Carlini et al., 2019; 2022)는 신경 모델의 기억의 정도를 양적으로 측정하기 위한 방법론을 개발했습니다. 
    • (Brown et al., 2020; Power et al., 2022; Liu et al., 2022b)는 기억이 모델의 일반화 능력에 어떻게 영향을 미치는지를 더 깊이 탐구했습니다. 
    • 최근에 (Carlini et al., 2021; Shi et al., 2023b)의 중요한 연구에서 언어 모델이 훈련 데이터를 기억하고 반복하는 능력을 시연하여, 상당한 개인 정보 보호에 대한 우려를 높였습니다 (Kandpal et al., 2022; Pan et al., 2020).
  • Finetuning of LLMs 
    • 최근 몇 년간 대규모 언어 모델 (LLMs)의 개발에서 급속한 진전이 있었습니다 (Brown et al., 2020; OpenAI, 2023; Workshop et al., 2022; Touvron et al., 2023;?; Anil et al., 2023). 
    • 이러한 기반 모델을 하향식 작업에 적응시키기 위해 파인튜닝 (Mishra et al., 2021; Sanh et al., 2021; Chung et al., 2022; Muennighoff et al., 2023; Zhou et al., 2023b; Lin et al., 2023b; Ji et al., 2024)이 보편적인 접근 방식이 되었습니다. 
    • 전통적인 지도 학습 기반의 파인튜닝은 LLMs를 적응시키기 위한 비용과 계산량에 제한을 받을 수 있습니다. 
    • 이러한 도전에 대응하여 매개 변수 효율적인 파인튜닝 (Houlsby et al., 2019) 연구, 예를 들어 Prompt Tuning (Lester et al., 2021), Prefix-Tuning (Li & Liang, 2021), P-Tuning (Liu et al., 2022a) 및 Low-Rank 기반의 파인튜닝 (Hu et al., 2021) 등이 주목받고 있습니다. 
    • 이러한 방법들은 LLMs가 도메인 특정 지식을 습득하고 질문 응답, 요약 및 대화 생성과 같은 특수한 작업에 적응할 수 있도록 합니다. 
    • 또 다른 파인튜닝 분야는 RLHF (Ouyang et al., 2022; Rafailov et al., 2023; Liu et al., 2023a; Zhang et al., 2023)를 통한 것으로, RL을 채택하여 LLM의 선호도를 인간과 일치시킵니다.
  • Finetuning for RAG 
    • 보다 최근에는, 몇몇 논문들이 사전 훈련된 LLM을 RAG 작업에서 더 잘 수행되도록 파인튜닝하는 아이디어를 탐구하고 있습니다 (Lin et al., 2023a; Wang et al., 2023; Xu et al., 2023; Liu et al., 2024). 
    • 이러한 연구들은 RAG를 위한 파인튜닝 데이터셋의 조합을 구축하고, 모델을 이러한 작업에서 잘 수행하도록 훈련하는 데 초점을 맞춥니다. 
    • 특히, 이러한 설정에서 테스트 시에는 도메인이나 문서가 훈련 시와 다를 수 있습니다. 
    • 반면에 우리의 논문은 약간 반대된 시나리오를 연구하는데, 여기서는 동일한 문서 집합에서 LLM을 테스트하는 것만을 고려합니다.

7. Conclusion

  • RAFT는 "오픈 북" 환경에서 특정 도메인 내의 질문에 대한 모델의 성능을 향상시키기 위해 설계된 훈련 전략입니다. 
  • 이 기술은 선택된 문서 모음을 기반으로 한 질문 응답 작업을 위한 LLMs의 파인튜닝 레시피를 보여줍니다. 
  • 우리는 모델을 디스트랙터 문서와 함께 훈련시키고, 데이터셋을 구성하여 일부가 그 문맥에서 오라클 문서를 갖지 않도록 하는 등 몇 가지 중요한 설계 결정을 찾아냈습니다. 
  • 또한 관련 텍스트에서 직접적인 인용을 사용하여 사고 체인 방식으로 답변을 고안했습니다. 
  • PubMed, HotpotQA 및 Gorilla API Bench에서의 평가는 RAFT의 상당한 잠재력을 강조합니다. 
  • 앞으로, 우리는 도메인 내 검색 증강 생성 (RAG)이 산업 및 학계에서 계속해서 관심을 끌 것으로 예상합니다. 
  • 일반적인 RAG와는 달리, 우리의 작업은 LLMs가 도메인 특정 지식을 사용하여 질문에 답하는 실용적인 시나리오를 다룹니다. 
  • 현재의 트렌드와 일치하게, 우리의 발견은 작은 파인튜닝된 모델이 일반적인 LLMs 대비 도메인 특정 질문 응답 작업에서 비슷한 성능을 발휘할 수 있는 것으로 나타났습니다.

Reference

댓글