필요할 때만 검색하고 스스로 검증하는 Self-RAG
Self-RAG는 모델이 검색 필요 여부를 스스로 판단하고 반성 토큰으로 자기 생성물의 근거성을 비평하도록 학습시킨 프레임워크입니다. 7B와 13B 규모로 개방형 QA와 사실 검증 등에서 ChatGPT와 검색 증강 Llama2-chat을 능가했으며, 오답 비용이 큰 사내 질의응답에 시사점이 큽니다.
LLM의 사실 오류를 줄이려고 검색을 붙이지만, 무조건 검색하는 방식은 또 다른 문제를 만듭니다. 불필요한 문서가 끼어들면 오히려 답이 흐려지고, 검색을 해도 모델이 문서를 무시하고 지어내는 경우를 막지 못합니다.
문제 배경
고정된 개수의 문서를 항상 검색해 붙이는 표준 RAG는 두 방향 모두에서 샙니다. 검색이 필요 없는 질문에는 무관한 문맥이 답변 품질을 떨어뜨리고, 검색된 근거가 있어도 생성이 근거를 따른다는 보장이 없습니다. 검색 여부의 판단과 생성 결과의 검증이 파이프라인 어디에도 없다는 것이 구조적 공백이었습니다.
방법
Asai 등(2023)의 Self-RAG는 모델 자신에게 판단을 맡깁니다. 반성 토큰이라는 특수 토큰을 어휘에 추가해, 지금 검색이 필요한지, 검색된 문단이 유용한지, 생성한 문장이 근거에 의해 뒷받침되는지, 답변이 전체적으로 유용한지를 모델이 생성 중에 스스로 표시하게 합니다. 학습은 GPT-4의 판정을 증류한 비평 모델로 학습 데이터에 반성 토큰을 삽입한 뒤, 이를 포함해 15만 건 규모로 생성 모델을 훈련하는 방식입니다. 추론 시에는 반성 토큰의 확률을 이용해 근거성이 높은 생성 경로를 선택할 수 있고, 과제 특성에 따라 사실성과 유창성의 비중을 조절할 수 있습니다.
결과
7B와 13B 모델로 학습한 Self-RAG는 개방형 QA, 사실 검증, 장문 생성에서 훨씬 큰 모델들을 앞섰습니다.
| 과제 | ChatGPT | Self-RAG 7B | Self-RAG 13B |
|---|---|---|---|
| PopQA (정확도) | 29.3 | 54.9 | 55.8 |
| PubHealth (정확도) | 70.1 | 72.4 | 74.5 |
| 전기 생성 (FactScore) | 71.8 | 81.2 | 80.2 |
검색 증강을 붙인 ChatGPT, Llama2-chat과 비교해도 대부분 과제에서 우위였습니다. 작은 모델도 검색 판단과 자기 검증을 배우면 사실성에서 큰 모델을 이길 수 있음을 보인 결과입니다.
한계와 주의점
사실적 정밀도 지표에서 7B가 13B를 이기는 경우가 있는데, 작은 모델이 짧지만 근거에 밀착된 출력을 내는 경향 때문입니다. 근거성 점검이 완전한 사실 보증은 아니라는 뜻으로 읽어야 합니다. 반성 토큰을 포함한 별도 학습이 필요하므로 상용 API 모델에는 그대로 적용할 수 없고, 학습 데이터 생성에 쓰인 비평 모델의 판정 품질이 상한이 됩니다.
기업 적용 관점
사내 질의응답에서 가장 위험한 것은 그럴듯한 오답입니다. 규정이나 계약 관련 질의에 근거 없는 답이 나가면 비용이 검색 실패보다 훨씬 큽니다. 모든 답변에 근거 점검 단계를 내장한다는 이 논문의 설계 사상은 모델 학습 없이도 파이프라인 수준에서 빌릴 수 있습니다. 코텍시스는 답변마다 근거 문서 인용과 근거성 점검 단계를 넣어 확인 가능한 답변만 내보내는 구조를 설계합니다.
코텍시스 AI사업부는 sLLM 최적화, Advanced RAG, AI Agent 개발을 수행합니다. 이런 기법의 도입을 검토 중이라면 문의를 남겨주세요.
AI 개발 문의같은 주제의 다른 인사이트
멀티홉 질의 앞에서 무너지는 RAG를 측정하다
여러 문서의 증거를 모아 추론해야 답할 수 있는 멀티홉 질의에서 기존 RAG는 GPT-4를 써도 정답률이 절반 수준에 그칩니다. 이를 체계적으로 측정한 벤치마크 MultiHop-RAG를 구축한 논문으로, 단일 검색 한 번으로 설계된 시스템의 한계를 미리 알고 보완해야 함을 보여줍니다.
정답지 없이 RAG를 평가하는 RAGAS
RAGAS는 사람이 만든 정답 데이터 없이 검색 관련성, 생성 충실도, 답변 관련성을 각각 자동 측정하는 참조 없는 RAG 평가 프레임워크입니다. 평가 체계가 없으면 RAG 개선은 감에 의존하게 되므로, 사내 시스템 도입 시 정량 평가 루프를 처음부터 갖추는 일의 근거가 됩니다.
검색 전에 질문부터 고쳐 쓰는 RAG
사용자 질문을 검색에 맞게 고쳐 쓰는 재작성 단계를 검색 앞에 추가하면 RAG 성능이 일관되게 개선됩니다. Rewrite-Retrieve-Read 프레임워크를 제안한 이 논문은 소형 재작성 모델을 LLM 리더의 피드백으로 강화학습해, 검색기와 생성기를 그대로 둔 채 QA 성능을 끌어올렸습니다.