MACHINE LEARNING

논문 리뷰 / RAG VS FINE-TUNING: PIPELINES, TRADEOFFS, AND A CASESTUDY ON AGRICULTURE

24_bean 2024. 1. 28. 15:44

Original Paper: https://arxiv.org/abs/2401.08406

 

RAG vs Fine-tuning: Pipelines, Tradeoffs, and a Case Study on Agriculture

There are two common ways in which developers are incorporating proprietary and domain-specific data when building applications of Large Language Models (LLMs): Retrieval-Augmented Generation (RAG) and Fine-Tuning. RAG augments the prompt with the external

arxiv.org

 

본 포스트는 매우 간략히 연구를 통한 인사이트를 비교하는 데 목적을 두고있습니다.

자세히 알고싶으신 분은 꼭 원문을 참조해주세요.


 

Abstract에서 알 수 있다시피 해당 논문은 LLM 발전과 함께 application 수준에서의 활용 중, RAG(Retreival-Augmented Generation)과 Fine-Tuning에 대한 비교를 다루고 있습니다.

 


Introduction

RAG

  • 외부 데이터로 Prompt 보강
  • 추가 데이터 Vectorization(외부 데이터베이스) 및 참조

Fine-Tuning

  • 추가 지식을 학습함으로서 모델에 직접 통합
  • 특정 데이터셋에 맞춰 모델 Tuning

아래 그림은 LLM이 Specific Domain Knowledge가 필요함을 직접적으로 보여주며 논문을 시작합니다.

 

 


Methodology

 

Brief methodology Pipeline

  • Fine-Tuning
  • RAG

PDF information extraction

  • pdf2text (Python Library)

Results

 

전반적인 인사이트를 정리하자면 다음과 같습니다.

 

Cost – Input Token Size:
  - RAG: 프롬프트 크기가 증가하며, 비용이 더 듭니다.
  - Fine-tuning: 최소한의 비용이 듭니다.

Cost – Output Token Size:
  - RAG: 출력이 더 장황하고 제어가 어렵습니다.
  - Fine-tuning: 간결하고, 간단함에 맞게 조정됩니다.

Initial Cost:
  - RAG: 임베딩 생성 비용이 낮습니다.
  - Fine-tuning: 파인 튜닝 과정이 높은 초기 비용을 필요로 합니다.

Accuracy:
  - 두 모델 모두 효과적입니다.

New Knowledge:
  - RAG: 데이터가 맥락에 있을 때 새로운 지식을 제공합니다.
  - Fine-tuning: 특정 도메인에서 새로운 기술을 추가합니다.