본문 바로가기

AI_Paper/NLP

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

[ Abstract ]

최근 LLM을 활용하는 프로젝트에서 새로운 정보를 넣는 방법은 일반적으로 RAG, fine-tuning 두가지 방식으로 진행 하지만 어떤 방법이 최적인지는 논의가 되는 상황

논문에서 RAGT(Retrieval Agumented Fine Tuning) 학습 방식 제안, 질문과 검색문서들이 주어졌을 때 답변에 도움이 되지 않는 방해 문서(discractor documents)는 무시하고 정확한 구절을 인용해 답변하도록 모델 학습. 

또한 답변을 생성할 때 CoT스타일을 사용해 추론 능력을 강화. 결과로 다양한 도메인 특화 RAG 벤치마크세어 일관되게 성능 향상

 

[ Introduction ] 

LLM을 특수 도메인에 적용시키는 방법으로 RAG 기반 In-context learning과 supervised fine-tuning 두가지가 고려된다.

- In-context learning은 모델이 문서를 사전에 알고있어도 학습 시키지 않고 추론 시 RAG로만 활용

- supervised fine-tuning은 문서의 일반적인 패턴을 학습하고, 선호에 잘 맞출 수 있으나, 새로운 문서에 적용할 수 없고, 검색 오류,누락 상황을 반영하지 못한다.

본 논문에서는 LLM을 fine-tuning하여 도메인 지식을 학습하고, 도메인 내부 RAG 성능 향상(불필요 정보에도 강건한)시키는 RAFT기법 제안

RAFT는 모델이 질문, 검색된 도메인 문서[정답문서, 무관문서 포함], 정답 간의 관계를 학습하도록 훈련함으로써 이루어진다. 

 

[ RAFT ]

기존 SFT와 다르게 데이터를 질문(Q), 참조 문서(Q_1 ~ Q_k), D*중 하나를 근거로 만든 CoT 스타일의 정답 A* 형태로 구성 

[그림1] 데이터 구성

위 [그림1]과 같이 일부는 D*(정답 내용이 들어있는) 문서 없는 형태로 구성 (D*는 복수 가능)

 

(제공된 답을 설명하는 Co는 학습 품질 향상) RAFT에서도 추론 chain(Reason)명확한 출처 인용(quote)이 정확도 향상을 시킴

[그림2] 추론 기반 데이터셋 형태

 

[ Evaluation ]

LLAMA-7b 모델로 RAFT를 학습시키고

  • Natural Questions, Trivial QA, Hotpot QA: open-domain qa based on Wiki
  • HuggingFace, Torch Hub, TensorFlow Hub: APIBench (proposed in the Gorilla paper)
  • PubMed QA: biomedical qa

데이터에 실험 진행

 

- Result 

기본 LLaMa 7b는 성능이 매우 저조 -> Domain Specific Fine-tuning + RAG로 성능 향상 했으나 정답 형식 미정렬로 성능 저조

RAFT는 정보 추출력과 Distractor(관련 없는 context)에 강해 좋은 성능을 보임 

[그림3] 실험 결과

 

- Effective CoT 

정답만 주는 학습은 loss가 급감하나 overfitting되기 쉬움, CoT를 통해서 정답의 정확성을 높이고, 문맥의 이해를 풍부하게 함

[그림4] CoT 실험결과

- Portion of golden context 

일반적으로 학습 데이터에는 항상 정답 context(golden context)가 포함되어야 한다고 생각하기 쉽지만, 일부 비율의 데이터에서 golden context를 제외할 경우 오히려 RAG 성능이 향상되는 사례 존재 

 

[ RAFT Generalizes to Top-K RAG ] 

LLM의 관련 없는 문서에 취약하다. RAG기반 프로젝트에서 더 중요한데 높은 recall을 위해서 top-k개의 context를 입력으로 넣기 때문

따라서 모델은 무관한 내용을 식별 및 무시하고 관련 정보에 집중하는 능력이 필수

(4.4절과 다르게 distrcotr의 포함 비율이 아닌 학습 문서의 개수를 다룸)

[그림5] Distractor에 따른 성능 비교

golden context만 활용해서 학습한 것 보다. Disctractor 포함시킬 때 성능이 더 좋음(데이터셋마다 최적의 개수는 다름)

추가로 테스트의 문서 K가 달라져도 성능 유지 

 

[ Conclusion ]

RAFT는 도메인 특화 Open-Book 환경에서 QA 성능을 향상시키는 전략

다음과 같은 핵심 전략으로

  • Distractor와 함께 학습 유무
  • 일부 sample context에서 golden 문서 제거 
  • 원문을 직접 인용하는 CoT 방식 답변 구성, Reasoning 과정 

다양한 데이터셋에서 RAFT의 좋은 성능을 보임