‼️ 개인 학습 내용으로, 오류가 있을 수 있습니다.
논문 URL - https://arxiv.org/abs/2310.11511
논문을 읽으며 생각할 것들
저자가 이 논문을 통해 이루고자 한 것은 무엇인가?
- RAG는 검색이 필요하지 않거나, 검색된 구절이 관련이 없을 때에도 일정한 수의 구절을 무조건적으로 가져와 사용하면, 언어 모델의 활용도가 줄어들거나 쓸모없는 답변을 만들 수 있다.
- 검색과 자기 성찰을 통해 언어 모델(LM)의 품질과 사실성을 향상시키는 새로운 프레임워크인 Self-Reflective Retrieval-Augmented Generation(SELF-RAG)을 제안한다.
논문의 핵심 요소는 무엇인가?
01. 작동 원리
- 입력 프롬프트와 이전 생성 결과가 주어지면 Self-RAG는 우선 검색된 지문을 추가하는 것이 계속되는 생성에 도움이 될지 판단한다.
- 만약 도움이 된다고 판단되면, 반성 토큰 중 하나인 retrieval token을 출력하여 필요할 때 검색 모델(retriever)을 호출한다(Step 1).
- 이후 Self-RAG는 여러 검색된 지문을 동시에 처리하면서, 각 지문의 관련성을 평가한 뒤 해당 작업에 맞는 출력을 생성한다(Step 2).
- 마지막으로, Self-RAG는 자신의 출력을 비평하는 critique token(비평 토큰)을 생성하여, 사실성(factuality)과 전반적인 품질을 기준으로 가장 좋은 답변을 선택한다(Step 3)
02. 기존 RAG와의 차이점
- 기존 RAG는 검색이 필요한지 여부와 상관없이 항상 고정된 수의 문서를 검색해 생성에 활용하며, 생성 결과의 품질을 다시 점검하지 않는다.
- 반면, SELF-RAG는 각 세그먼트(문단/문장)마다 인용을 제공하고, 자신의 출력이 해당 지문에 의해 뒷받침되는지 스스로 평가한다. 이로 인해 사실 검증이 더 쉬워진다
03. 학습, 추론, 성과 요약
- 언어 모델(LM)이 기존 어휘와 새로 추가된 특수 토큰(반성 토큰, reflection tokens)을 모두 예측함으로써, 텍스트 구문을 검색·생성·비평하고, 자신이 생성한 결과에 대해 평가하는 방법을 학습한다.
- 반성 토큰을 활용하여 추론(테스트) 단계에서 모델의 행동을 맞춤화할 수 있다.
- 여섯 가지 과제에서 여러 지표를 통해 평가한 결과, Self-RAG는 파라미터가 더 많은 LLM이나 기존의 검색 기반 생성(RAG) 접근법보다 훨씬 우수한 성능을 보인다.
논문에서 내가 활용할 것은 무엇인가?
- RAG를 활용한 app에서 최종 생성 전 Self-RAG 단계를 추가하여 검증하기
참고할 다른 논문은 무엇인가?