셀프-RAG: 자기 반성을 통한 검색, 생성, 비판 학습

대규모 언어 모델(Large Language Models, LLMs)은 그들이 포함하는 매개변수 지식에만 의존하기 때문에 사실적 오류를 포함한 응답을 생성하는 경우가 많다. 이를 보완하기 위해 검색 증강 생성(Retrieval-Augmented Generation, RAG)은 관련 지식을 검색하여 LLM에 보완하는 임시적인 접근법으로 제안되었다. 그러나 검색이 필요하거나 문맥이 관련이 없음에도 불구하고 고정된 수의 문장들을 무분별하게 검색하고 통합하는 방식은 LLM의 유연성을 저하시키거나 도움이 되지 않는 응답 생성을 초래할 수 있다. 본 연구에서는 LLM의 품질과 사실성 향상을 위해 검색과 자기 반성(self-reflection)을 통합한 새로운 프레임워크인 자기 반성형 검색 증강 생성(Self-Reflective Retrieval-Augmented Generation, Self-RAG)을 제안한다. 본 프레임워크는 단일한 임의의 LLM을 학습시켜 필요에 따라 적응적으로 문장들을 검색하고, 검색된 문장과 자체 생성 결과를 특수 토큰인 '반성 토큰(reflection tokens)'을 사용해 생성하고 반성하도록 한다. 반성 토큰을 생성함으로써 추론 단계에서 LLM을 제어 가능하게 하여 다양한 작업 요구사항에 맞게 행동을 조정할 수 있다. 실험 결과 Self-RAG(7B 및 13B 파라미터)는 다양한 작업에서 최첨단 LLM 및 검색 증강 모델들을 크게 능가함을 보였다. 특히 Open-domain QA, 추론 및 사실 검증 작업에서 ChatGPT 및 검색 증강형 Llama2-chat보다 우수하며, 장문 생성 시 사실성과 인용 정확성 측면에서 두 모델 대비 상당한 향상을 보였다.