← 전체 글

RAFT

수정 2026-10-29 · 출처 확인 2026-10-11

목차

Retrieval Augmented Fine-Tuning(RAFT)은 관련 문서와 무관한 문서가 섞인 상황에서 질문에 답하도록 언어 모델을 학습한다. 검색은 추론 시 제시할 근거를 바꾸고, 미세조정은 읽기 모델이 근거를 사용하는 방식을 바꾼다. RAFT는 검색기 자체를 학습하지 않고 두 방식을 결합한다.

검색과 적응

언어 모델은 토큰 시퀀스에 확률을 부여한다.

\[p_\theta(y\mid x)=\prod_{t=1}^{\vert y\vert }p_\theta(y_t\mid x,y_{<t}).\]

미세조정은 \(\theta\)를 갱신하고, 검색은 코퍼스 \(\mathcal C\)에서 \(D_q=\operatorname{Retrieve}(q,\mathcal C)\)를 선택한다. 문맥을 이어 붙이는 파이프라인은 다음과 같다.

\[q\longrightarrow D_q\longrightarrow p_\theta(y\mid q,D_q).\]

이 top-\(k\) 읽기 모델은 \(p_\theta(y\mid q,D_q)\)를 사용한다. 잠재 문서에 대해 주변화할 수 있는 원래 RAG 정식화와 다르다. 검색 근거를 바꿔도 가중치는 고정된다. 가중치 적응은 모든 출처의 최신 사본을 유지하지 않으면서도 답변 형식, 근거 선택, 영역별 동작을 학습할 수 있다.

RAFT는 질문 \(q\), 근거가 있는 정답 근거 문서 \(d^*\), 방해 문서 \(d_1^-,\ldots,d_k^-\), 인용과 추론을 포함할 수 있는 목표 답변 \(a^*\)로 예제를 만든다. 여전히 자기회귀 지도학습이며, 검색을 고려하는 동작은 새로운 최적화기가 아니라 예제에서 나온다. 다음은 이 구분을 설명하기 위해 만든 가상의 예시다.

Question: Which version introduced feature X?
Oracle: Release 2.4 introduced feature X.
Distractor: Release 2.3 improved startup time.
Target: The release note identifies version 2.4; answer: 2.4.

실제 예제에서는 근거와 그럴듯한 주변 텍스트를 구분할 수 있도록 출처 ID, 버전, 구간, 유래, 권한이 필요하다.

학습 데이터 혼합

입력 \(x_i=(q_i,D_i)\)과 목표 \(a_i=(a_{i,1},\ldots,a_{i,T_i})\)에서 목표 토큰만 지도하면 다음을 최소화한다.

\[\mathcal L_{\mathrm{SFT}}(\theta) =-\frac1n\sum_{i=1}^{n}\sum_{t=1}^{T_i} \log p_\theta(a_{i,t}\mid q_i,D_i,a_{i,<t}).\]

질문·문서 토큰은 예측의 조건이며 보통 손실을 마스킹한다. 토큰 기준 정규화와 예제별 평균은 길이가 다른 답에 다른 가중치를 부여하므로, 마스킹과 정규화도 실험 정의에 속한다.

RAFT는 \(B_i\sim\operatorname{Bernoulli}(P)\)로 문맥을 섞는다.

\[D_i=\begin{cases} \{d_i^*\}\cup D_i^-,&B_i=1,\\ D_i^-,&B_i=0. \end{cases}\]

정답 근거 문서가 빠져도 목표는 그 문서에서 만든 답이다. 검색 근거 없이 답하는 능력을 장려할 수 있지만 답변 보류 학습은 아니다. 제공한 출처에만 근거해야 하는 제품에서 목표를 “근거 부족”으로 바꾸면 학습법이 달라지므로 별도로 평가해야 한다.

근거 확보

\(H\)를 충분한 근거가 검색된 사건, \(S\)를 근거에 충실한 답변의 성공이라고 하자.

\[\Pr(S)=\Pr(S\mid H)\Pr(H)+\Pr(S\mid\neg H)\Pr(\neg H).\]

제공된 근거가 필요하고 \(\Pr(S\mid\neg H)=0\)이면 \(\Pr(S)\le\Pr(H)\)다. 어텐션을 개선해도 빠진 출처를 되찾을 수는 없다. 다단계 질문에서는 \(H\)가 필요한 근거 전체를 포함해야 한다. 따라서 근거 재현율, 근거가 충분할 때의 읽기 정확도, 방해 문서에 대한 강건성, 근거가 없을 때의 동작은 파이프라인의 서로 다른 부분을 측정한다.

설명과 인용

설명을 교사 강요로 학습하면 그 설명의 우도를 최적화한다. 모델 내부가 그 설명을 따르거나 각 단계에 근거가 있다는 증명은 아니다. 유효한 인용에는 제공되고 접근 가능한 출처, 정확한 인용 구간, 주장에 대한 뒷받침이 필요하다. 문서 ID가 존재한다는 것만으로 인용의 정확성이나 뒷받침을 입증할 수는 없다. 문자열·오프셋으로 정확한 인용을 검사할 수 있지만, 의미상 뒷받침은 주석이나 독립적으로 검증한 함의 판정이 필요하다. 합성 구간은 학습 전에 출처와 대조해야 한다. 생성한 추론과 모델 판정의 오류는 상관될 수 있으므로 독립적인 정답 레이블을 대신하지 못한다.

평가 문맥

질문을 무작위로 나누면 문서, 문단, 템플릿, 유사 중복이 누출될 수 있다. 보류한 문서·버전은 근거 사용을 검증하고, 신뢰도 임계값에는 별도 보정 데이터가 필요하다. 통제한 문맥은 다음 동작을 분리한다.

문맥 검증 대상
정답 근거 문서만 이상적인 근거에서의 읽기
정답 근거와 방해 문서 무관한 문맥에 대한 강건성
검색한 top-\(k\) 실제 검색과 읽기
방해 문서만 근거 누락
날짜가 다른 상충 출처 버전·출처 우선순위
답이 바뀐 올바른 출처 암기와 근거 사용의 구분

절제 실험에서는 모델, 검색기, 청킹, 코퍼스, 문맥 예산, 학습 토큰, 출력 형식을 고정한다. 검색 잡음이나 청크 길이가 달라지면 읽기 모델의 입력 분포도 바뀐다. API 호환성이 정확도를 보존하지는 않는다.

비용과 결과

학습 비용 \(C_{\mathrm{train}}\), 조정 후 질의 비용 \(c_1\), 기준 비용 \(c_0\)에서 비용만의 손익분기는 \(c_1<c_0\)일 때 생긴다.

\[N_{\mathrm{break\text{-}even}}=\frac{C_{\mathrm{train}}}{c_0-c_1}.\]

품질, 유지보수, 데이터 준비, 출처 갱신, 재학습, 평가, 검색, 상위 검토 비용은 빠져 있다. 정확도가 달라지면 요청당 비용보다 근거에 충실한 성공당 비용이 더 유용하다. LoRA는 독립적인 적응 방식이다. 학습 없이 출력만 짧게 해도 추론 비용이 줄 수 있으므로 비교할 때 출력 요구사항을 맞춰야 한다.

논문의 영역별 데이터셋, 검색기, 모델은 해당 조건에서 근거를 고려한 학습을 뒷받침한다. 보편적인 우위나 다른 곳으로 이전할 수 있는 개선 비율을 뜻하지 않는다. 퍼센트포인트와 상대 변화율을 구분하려면 원래 지표와 분모가 필요하다. 보류한 출처에서 예산을 맞춰 비교하려면 강한 비조정 읽기 모델, 영역 SFT, 문맥을 고려한 SFT가 필요하다. 권한 필터링, 근거 검증, 답변 보류는 별도의 시스템 구성요소다.

참고문헌

↑