RAG 파이프라인에서 도메인 맞춤형 리트리버 노이즈 완화를 위한 파인튜닝
Source: Dev.to
Authors (Affiliation: IBM Research, India)
- Padmanabha V. Seshadri
- Rudra Murthy
- Arkadeep Acharya
- Jaydeep Sen
- Kushagra Bhushan
- Yatin Nandwani
- Praveen Jayachandran
- Ashok Pon Kumar
RAG 파이프라인은 도메인‑특화 커스터마이징을 지원하는 Conversational AI의 기본 프레임워크입니다. 일반적인 시스템은 도메인 지식을 담은 문서 집합을 지식 원천으로 사용합니다. 최종 사용자가 질의를 제시하면, 해당 질의‑컨텍스트에 맞는 청크가 문서 집합에서 검색되고, 이 청크들이 질의와 함께 컨텍스트로 주입됩니다.
시스템을 구동하는 LLM은 청크와 질의를 입력으로 받아, 컨텍스트 청크를 활용해 응답을 생성해야 합니다.
하지만 검색이 완벽하지는 않습니다. 검색된 청크는 검색 엔진 입장에서는 관련성이 있어 보이지만 실제 질의와는 무관할 수 있습니다. 또한 정답은 원문과는 다른 패러프레이즈 형태로 표현될 수도 있는데, 이는 대화형 인터랙션에서 최종 사용자에게는 충분히 받아들여질 수 있습니다. LLM이 이러한 패러프레이징을 처리하도록 돕기 위해서는 파인‑튜닝 시 답변 변형을 주입해야 합니다.
이러한 문제를 해결하고자, 우리는 IBM의 Granite 4 하이브리드 모델(link)과 BharatGen의 Sovereign 모델(link)을 활용해 농업 및 금융 분야 실제 사용 사례에 대한 검색 노이즈 완화용 파인‑튜닝 데이터 레시피를 찾는 Ablation Study를 수행했습니다.
Domain‑specific data recipe: An Overview
Figure 1은 데이터 레시피의 전체 흐름을 보여줍니다. 파이프라인 입력은 문서 집합이며, 이 문서를 처리하고 데이터셋을 생성하는 두 단계가 있습니다.
- Documents‑to‑samples: 문서를 질문‑답변(QA) 쌍으로 변환합니다.
- Sample augmentation: QA 쌍에 먼저 distractor(RAFT [3] 방법) 를 생성하고, 이어서 답변 패러프레이즈(PA‑RAG [4] 방법) 를 적용해 증강합니다.
Figure 1: 도메인‑특화 데이터 생성의 엔드‑투‑엔드 흐름
아래 섹션에서 각 단계가 자세히 설명됩니다.
Documents‑To‑Samples
우선 docling 등 도구를 사용해 문서를 청크로 나눈 뒤, 청크별 QA 쌍을 생성합니다. 이는 도메인 커스터마이징을 위한 초기 학습 데이터셋이 됩니다. 전체 과정은 Figure 2에 나타낸 Synthetic Data Generation(SDG) 접근법을 따릅니다.
SDG Flow
-
Chunking & Embedding – 문서를 청크로 분할하고 VectorDB에 저장합니다.
-
Synthetic Q&A Generation – SDGHub [5] 프레임워크를 이용해 LLM으로 질문‑답변 쌍을 생성합니다. 다음 모델들을 혼합해 사용했습니다:
-
Scoring – LLM 기반 스코어러가 다음을 평가합니다:
- Answerability: 해당 질의가 문서/패시지에서 답변될 수 있는가.
- Faithfulness: 답변이 원본 자료를 충실히 반영하는가.
두 기준 중 하나라도 만족하지 못하면 샘플은 제외됩니다.
Figure 2: 합성 데이터 생성 흐름
Sample Augmentation
합성으로 만든 학습 데이터셋에 distractor와 paraphrasing 전략을 추가해 검색 노이즈에 강인한 모델을 만들었습니다.
RAFT [3] 로 distractor 만들기
Retrieval‑augmented fine‑tuning (RAFT) 사후 학습 레시피를 적용합니다:
- 각 질의에 대해 VectorDB에서 top‑k 청크를 검색합니다.
- 골드 청크와 일치하지 않는 청크를 distractor 로 사용합니다.
- distractor 청크는 샘플에 추가되며, 골드 청크와 함께 포함될 확률 p 에 따라 샘플링됩니다.
PA‑RAG [4] 로 패러프레이징
각 학습 질문에 대해 여러 개의 패러프레이즈된 답변(예: 답변당 3개)을 생성합니다. 이러한 변형을 포함해 파인‑튜닝하면 LLM이 도메인 지식을 내재화하고, 답변 표현 차이에 대해 관용성을 갖게 됩니다.
Tuning Configuration
Evaluation dataset preparation
- 평가용 샘플 약 2,000개를 학습 데이터셋에서 추출합니다.
- 각 평가 샘플은 동일한 골드 청크를 사용하는 최소 하나의 학습 샘플과 겹치도록 합니다.
- 청크 ID를 이용해 이 커버리지 제약을 강제합니다.
Training configuration
파인‑튜닝은 fms‑hf‑tuning [6] 스택을 사용해 진행했습니다:
| Parameter | Value |
|---|---|
| Learning rate | 1e-5 |
| Warm‑up ratio | 0.01 |
| Gradient accumulation steps | 1 |
| Number of epochs | 3 |
| Optimizer | AdamW (β₁=0.9, β₂=0.98, ε=1e-10) |
Hardware
- 1 node × 8 × NVIDIA A100 80 GB GPU.
Models and baselines
- Agriculture use‑case: Granite 4.0 tiny hybrid [1] (7 B 파라미터, MoE + Mamba + Transformer) 로 파인‑튜닝.
- Finance use‑case: BharatGen’s FinanceParam [2] (BharatGen Param‑1‑2.9B‑Instruct 기반) 로 파인‑튜닝.
Results
Evaluation metrics
- Rouge‑L [7] – 생성된 응답과 골드 응답 사이의 정확한 최장 공통 부분 문자열 n‑gram 겹침을 측정합니다. 패러프레이징에는 보상이 주어지지 않습니다.
- LLM‑as‑a‑Judge – meta‑llama/Llama‑3.3‑70B‑Instruct 모델(link)을 이용해 답변 품질을 평가하며, 여기에는 패러프레이징된 정답도 포함됩니다.

