논문 링크 : https://arxiv.org/abs/2402.18150
Abstract
Retrieval-augmented generation (RAG)은 검색된 추가 정보를 통합하여 대형 언어 모델(LLMs)의 성능을 강화한다. 그러나, 연구들에서는 LLM이 검색된 정보를 효과적으로 활용하지 못하고 있으며, 이를 무시하거나 잘못된 정보로 인해 잘못된 결과를 도출할 수 있다는 점을 보여주었다. 학습과정에서 검색된 입력 텍스트가 품질이 다양해서 어떻게 활용할지 명확히 학습시키지 못한 이유가 가장 크다.
그래서 이 논문에서는 RAG에서 LLM의 역할을 "정보 정제기(Information Refiner)"로 간주하는 새로운 관점을 제안한다.
이는 검색된 텍스트의 정확성, 완전성, 또는 유용성에 상관없이, LLM이 검색된 텍스트 내의 지식을 일관되게 통합하여 검색된 텍스트보다 더 간결하고, 정확하며, 완전한 텍스트를 생성할 수 있다는 것을 의미한다.
이를 위해, 우리는 INFO-RAG라고 불리는 정보 정제 학습 방법을 제안한다. INFO-RAG는 비지도 학습 방식으로 RAG를 최적화하며, 비용이 낮고 다양한 작업에서 일반적으로 적용 가능하다.
INFO-RAG는 질문 응답, 슬롯 채우기, 언어 모델링, 대화, 그리고 코드 생성과 같은 다양한 작업에 대한 11개의 데이터셋에서 Zero-shot 예측 실험을 통해 평균 9.39%의 성능 향상을 보여준다. INFO-RAG는 또한 RAG의 인-컨텍스트 학습과 견고성에서의 장점을 보여준다.
1 Introduction
Retrieval-augmented generation (RAG)은 현대 NLP 시스템에서 널리 사용되는 프레임워크로, 검색된 정보를 활용하여 텍스트를 생성하며, 오픈 도메인 질문 응답이나 대화 생성과 같은 작업에 사용된다. 최근 RAG는 대형 언어 모델(LLM)에 적용되어 추가적인 지식을 제공하고, 환각(hallucination) 문제를 완화하는 데 사용되었다.
검색 모델의 성능이 개선되었음에도 불구하고, 인터넷은 여전히 가짜 뉴스, 루머 등의 소음이 많은 정보로 넘쳐나고 있어서 검색 모델이 이러한 콘텐츠를 식별하고 방어하는 데 어려움을 겪고 있다(Sun et al., 2022; Thakur et al., 2021).
결국, 검색된 모든 텍스트가 유익하지는 않으며, LLM이 이를 신중하게 활용할 방법을 찾아야한다. 그러나, 사전 학습 작업은 LLM이 생성 시 다양한 품질의 검색된 텍스트를 활용하는 방법을 명확히 학습하지는 않는다.
질문과 검색된 텍스트가 입력 시퀀스로 주어졌을 때, RAG는 검색된 텍스트를 참조하여 하위 시퀀스(질문과 생성된 답변)의 음의 로그 가능성(NLL)을 최소화하는 것을 목표로 한다.
그러나, 디코더 전용 아키텍처를 사용하는 LLM의 기존 사전 학습은 접두사(prefix)를 기반으로 한 언어 모델링에 초점을 맞추며(Radford et al., 2018; Touvron et al., 2023a), 학습 목표는 전체 입력 시퀀스(검색된 텍스트, 질문, 생성된 답변)의 음의 로그 가능성을 최소화하는 데 중점을 둔다(Mikolov et al., 2012). 이 차이로 인해, LLM은 검색된 텍스트를 추가적인 참조로 여기기보다는 언어 모델링을 위한 접두사의 일부로만 간주하게 된다. 이는 다음과 같은 문제를 초래한다.
- 긴 검색 텍스트와 복잡한 검색 텍스트에 대해, LLM은 올바른 답변을 정확히 추출하는 데 어려움을 겪는다(Deng et al., 2023).
- 검색된 텍스트가 작업을 해결하지 못하는 상황에서, LLM은 모델 파라미터 내의 지식을 검색된 텍스트와 통합하여 개선된 텍스트를 생성할 능력이 부족하다.
- 검색된 텍스트의 부정확하고 소음이 많은 정보에 LLM이 영향을 받아 잘못된 정보로 인해 오도될 위험이 있다(Chen et al., 2023; Yoran et al., 2023).
1. RAG의 학습 목표
- 생성된 답변이 얼마나 정확한지를 평가하기 위해, 음의 로그 가능성(Negative Log-Likelihood, NLL)을 최소화하는 것을 목표로 한다.
- 예를 들어:
- 입력: "질문 + 검색된 텍스트"
- 출력: "답변"
- RAG는 "답변을 생성하는 과정에서 검색된 텍스트가 얼마나 유용하게 활용되었는가"에 중점을 둔다.
2. LLM의 기존 학습 방식
- 기존의 디코더 전용 LLM은 접두사(prefix)를 기반으로 언어를 생성하는 방식으로 사전 학습되었다.
- 즉, 입력된 모든 데이터를 단순히 언어 모델링의 맥락(context)으로 간주한다.
- "검색된 텍스트"도 단순히 "입력의 일부"로 취급되며, 별도로 참조하거나 활용하려 하지 않는다.
- 예를 들어:
- 입력: "검색된 텍스트 + 질문"
- 기존 LLM은 이를 "연결된 하나의 문맥"으로 간주하고, 답변을 생성하려고 한다.
이러한 문제를 해결하기 위해, 이전 연구들은 프롬프트 기술을 활용해 LLM에 대해 검색 수행 시점이나 방법에 대한 전략을 탐구하였지만 프롬프트는 LLM의 모델 파라미터를 업데이트하지 않으므로 검색된 텍스트를 활용하는 LLM의 능력을 근본적으로 변화시키지 못한다.
몇몇 방법들은 특정 작업(QA 등)에 대해 생성된 RAG 데이터를 기반으로 LLM을 미세 조정하였다(Yoran et al., 2023; Yu et al., 2023). 하지만, LLM이 다양한 작업에서 제로샷 설정으로 기본 모델로 간주되는 추세에서, 몇 가지 작업만을 대상으로 한 미세 조정은 LLM이 학습된 작업에만 국한되고, 일반성이 없다. 이는 지도 학습 기반 파인튜닝에서 여전히 존재하는 망각(catastrophic forgetting) 문제로 인해 발생한다(Luo et al., 2023). 많은 작업에 대한 데이터를 구성하면 이를 완화할 수 있지만, 다양한 RAG 작업에서 데이터를 설계하는 것은 어렵고 높은 데이터 레이블링 비용이 필요하다.
본 논문은 다양한 RAG 작업에서 제로샷 설정으로 LLM의 일반성을 유지하면서 검색된 텍스트를 활용하는 LLM의 능력을 근본적으로 향상시키는 것을 목표로 한다.
구체적으로, 이 논문에서는 LLM을 "정보 정제기(Information Refiner)"로 간주하고 입력된 검색 텍스트의 정확성, 완전성, 유용성에 관계없이, 사전 학습된 LLM을 정보 정제 목표로 지속적으로 학습시켜, 검색된 텍스트와 모델 파라미터 내의 지식을 일관되게 통합하여 검색된 텍스트보다 더 간결하고, 정확하며, 완전한 텍스트를 생성할 수 있도록 하는 것이다(Figure 1).
우리는 이 과정을 “긍정적 정보 이득(Positive Information Gain)”이라고 명명한다. 이 과정은 LLM이 복잡한 텍스트에서 올바른 정보를 추출할 수 있도록 하고, 검색된 잘못된 정보와 노이즈에 저항하며 이를 수정할 수 있게 한다. 이를 통해 RAG의 정보 병목현상을 개선하고, RAG의 지식 용량이 IR(정보 검색)과 LLM의 결합된 지식에 근접하도록 한다.
정보 정제 학습을 완전히 비지도 방식으로 작동하도록 설계하여, 대규모 학습 데이터를 쉽게 얻을 수 있으며, 학습된 LLM이 제로샷 설정에서 다양한 RAG 작업에 사용될 수 있도록 일반성을 유지할 수 있게 한다.
구체적으로, 우리는 INFO-RAG라는 비지도 학습 방법을 제안한다. INFO-RAG는 검색된 텍스트를 세 가지 시나리오(그림 1 참조)로 분류하고 각 시나리오에 대해 비지도 학습 작업을 제안한다.
- 첫 번째 시나리오는 질문에 필요한 모든 지식이 검색된 텍스트에 이미 포함된 경우이다. 이 경우 LLM은 복잡한 검색 텍스트에서 관련 지식을 정확히 추출하고 더 간결한 텍스트를 생성해야 한다.
- 두 번째 시나리오는 질문에 대해 검색된 텍스트가 불완전하거나 부정확한 경우이다. 이 경우 LLM은 모델 파라미터 내의 지식을 활용하여 검색된 텍스트를 검증하고, 잘못된 지식을 수정하며, 누락된 지식을 보완해야 한다.
- 세 번째 시나리오는 검색된 텍스트가 질문과 관련은 있지만 어떤 답도 포함하고 있지 않은 경우이다. 이 경우 LLM은 관련된 문맥을 기반으로 모델 파라미터 내의 지식을 찾아 정확한 답변을 생성해야 한다.
우리는 위의 세 가지 작업을 혼합하여 INFO-RAG를 비지도 방식으로 학습시킨다.
코드는 https://github.com/xsc1234/INFO-RAG/에서 공개된다.
2 Related Work (관련 연구)
Retrieval Augmented Generation
Retrieval-augmented generation(RAG)은 외부 데이터베이스에서 정보를 검색하여 언어 모델에 추가적인 지식을 제공하는 것을 목표로 한다(Lewis et al., 2020; Guu et al., 2020; Borgeaud et al., 2022; Izacard et al., 2022).
RAG는 LLM이 생성하는 텍스트를 더 정확하고 신뢰할 수 있게 만들어 주며, 오픈 도메인 질문 응답(Karpukhin et al., 2020; Trivedi et al., 2022a), 대화(Cai et al., 2018, 2019), 코드 생성(Parvez et al., 2021) 등에 널리 사용되고 있다.
최근 RAG는 LLM에도 널리 적용되고 있다(Peng et al., 2023; Shi et al., 2023; Ren et al., 2023).
LLM에서의 RAG는 검색된 텍스트를 문맥으로 사용하는 형태를 취한다(Ram et al., 2023).
몇몇 연구는 검색된 텍스트에 포함된 노이즈가 언어 모델의 성능을 방해하거나 심지어 오도할 수 있다는 점을 지적하였다(Xu et al., 2023; Wang et al., 2023; Chen et al., 2023; Xu et al., 2024). 이 연구들은 정보 검색(IR)과 언어 모델(LM) 간의 상호작용 프레임워크를 통해 이러한 문제를 해결하려고 노력하였다.
그러나, 우리의 연구는 보다 근본적인 관점을 제시한다. 즉, 기존의 RAG 연구는 RAG에서 LLM의 역할을 명확히 정의하지 않았다. 본 논문은 LLM을 "정보 정제기(Information Refiner)"로 간주하는 새로운 관점을 소개한다.
Unsupervised Learning of RAG
RAG의 비지도 학습은 검색기와 언어 모델의 학습으로 나눌 수 있다.
REALM(Guu et al., 2020)은 마스크 언어 모델링을 사용하여 지식 검색기를 사전 학습하는 방법을 제안한다.
REPLUG(Shi et al., 2023)은 블랙박스 언어 모델로부터의 피드백을 기반으로 검색기를 학습한다.
RETRO(Borgeaud et al., 2022)는 토큰을 검색하여 언어 모델을 개선한다.
Atlas는 검색기와 언어 모델을 공동 학습하기 위한 사전 작업(pretext tasks)을 제안한다.
그러나, 이 두 가지 방법은 인코더-디코더 아키텍처에 기반한 모델에 초점을 맞추고 있으며, 현재 주류인 디코더 전용 LLM과는 일치하지 않는다. 기존의 비지도 학습 방법은 RAG에서 언어 모델이 수행해야 할 특정 역할을 고려하지 않는다.
본 논문은 언어 모델을 "정보 정제기(Information Refiner)"로 학습시키는 데 초점을 맞추며, 이를 통해 RAG의 정보 병목현상을 더욱 개선하고 검색된 텍스트에 대해 견고한 모델을 만든다.
3 Our INFO-RAG
이 섹션에서는 RAG에서 정보 정제를 수행할 수 있도록 LLM을 학습시키는 비지도 학습 방법인 INFO-RAG를 소개한다.
먼저, RAG에서 검색된 텍스트를 세 가지 시나리오로 요약하고 각 시나리오에 대해 긍정적 정보 이득을 정의한다.
둘째, 이 세 가지 시나리오에 대해 입력보다 정보 이득이 있는 출력을 포함한 샘플 페어를 구성하고 이를 기반으로 세 가지 학습 작업을 설계한다.
셋째, 설계된 작업 하에 비지도 샘플로 LLM을 학습시킨다.
INFO-RAG의 비지도 학습 방식은 비용이 낮으며 다양한 작업에서 RAG를 일반적으로 사용할 수 있게 만든다.
3.1 Positive Information Gain in RAG
본 논문에서는 RAG에서 LLM의 역할을 재평가하는 새로운 관점을 소개하며, LLM이 RAG의 정보 흐름에서 "긍정적 정보 이득(Positive Information Gain)"을 생성할 수 있는 "정보 정제기(Information Refiner)"가 되어야 한다고 주장한다.
이 섹션에서는 검색된 텍스트의 다양한 시나리오에서 LLM이 생성해야 하는 특정 정보 이득을 정의한다.
Scenario 1
첫 번째 시나리오는 질문에 필요한 모든 지식이 이미 검색된 텍스트에 포함된 경우이다.
검색된 텍스트에 올바른 지식이 이미 존재하더라도, 복잡하고 길이가 긴 검색 텍스트는 사용자가 직접 지식을 얻는 데 적합하지 않다. 따라서, 이 시나리오에서 긍정적 정보 이득은 LLM이 가능한 한 정확한 지식을 추출하면서도 관련 없는 정보를 제거하여 사용자에게 더 직접적이고 간결한 텍스트를 생성하는 것을 의미한다.
Scenario 2
두 번째 시나리오는 검색된 텍스트에 일부 사용할 수 있는 지식이 포함되어 있지만, 여전히 불완전하거나 부정확한 지식이 포함된 경우이다.
이 시나리오는 특히 현재 인터넷에 만연한 가짜 뉴스, 잘못된 정보, 그리고 단편화된 지식으로 인해 매우 흔하다. 검색된 텍스트에 포함된 노이즈와 잘못된 지식이 LLM의 생성 결과를 크게 오도할 수 있다는 연구가 있다(Xu et al., 2023). 이 시나리오에서 긍정적 정보 이득은 LLM이 자체 파라미터 내의 지식을 활용하여 검색된 텍스트 내의 지식을 검증하고, 정확한 지식을 활용하며, 잘못된 지식을 수정하고, 누락된 지식을 보완하는 것이다.
Scenario 3
세 번째 시나리오는 검색된 텍스트에 질문을 해결할 수 있는 답변이 전혀 포함되어 있지 않은 경우이다.
이 시나리오는 질문이 매우 어렵거나, 정보 검색 시스템에 대해 대상 지식이 매우 드문(long-tail) 경우에 해당한다. 이 경우에도 검색 모델의 의미론적 모델링 능력은 질문과 의미적으로 관련된 텍스트를 제공할 수 있다(Karpukhin et al., 2020). 따라서, 이 시나리오에서 긍정적 정보 이득은 LLM이 의미적으로 관련된 문맥을 기반으로 자체 파라미터 내의 지식을 활성화하여 질문을 해결하는 것이다.
3.2 Unsupervised Learning
이 섹션에서는 INFO-RAG에서의 비지도 학습을 소개한다.
우리는 위에서 설명한 세 가지 시나리오에서 정보 이득 조건을 만족하는 입력-출력 쌍을 Wikipedia 데이터를 기반으로 구성한다. 우리는 사전 학습된 LLM을 구성된 데이터를 사용하여 정보 정제를 수행하도록, 접두사 언어 모델링(prefix language modeling) 형식의 다음 토큰 예측을 통해 학습을 지속한다. 이는 다양한 작업에 대해 일반적이다.
학습 파이프라인은 Figure 2에 나와 있다.
3.2.1 Data Collection
데이터 생성은 영어 Wikipedia에서 수행된다.
구체적으로, Wikipedia의 각 문서 d에 대해 d에서 연속된 k개의 문장을 가져와 문장 집합 S=[s1,s2,...,sk]을 얻는다.
우리의 방법은 S에서 임의로 sl을 선택하여 이를 언어 모델링의 대상으로 사용한다.
sl의 첫 번째 1/3에서 2/3의 토큰은 접두사(spl)로 랜덤하게 잘라내고, 나머지 토큰은 예측 목표(stl)로 사용된다.
우리는 또한 문장 집합 S에 대해 (Section 3.2.2) 동일한 과정을 수행하여 접두사 spl에 대해 검색된 텍스트 R(spl)를 시뮬레이션한다. 이후, 우리는 접두사 spl와 검색된 텍스트 R(spl)를 입력으로 하여 stl을 예측하는 비지도 학습 샘플을 얻을 수 있다.
- Wikipedia 문서에서 문장 집합 S=[s1,s2,...,sk]추출:
- Wikipedia 문서 d에서 연속된 k개의 문장을 가져와 문장 집합 를 만든다.
- 예: S=["France is in Europe.","Paris is the capital.","It is a large city."]
- 임의의 문장 sl선택:
- 문장 집합 S에서 임의의 문장 sl을 선택한다.
- 예: sl="Paris is the capital."
- 문장을 접두사와 예측 목표로 나누기:
- 문장 sl의 일부 토큰을 접두사(s_p_l)로 잘라내고, 나머지는 예측 목표(s_t_l)로 설정한다.
- 예:
- 원래 문장: sl="Paris is the capital."
- 접두사: s_p_l = "Paris is"
- 예측 목표: s_t_l = "the capital."
2.2 검색된 텍스트 시뮬레이션
- 문장 집합 를 기반으로 접두사 s_p_l와 관련된 "검색된 텍스트(R(s_p_l))"를 시뮬레이션한다.
- 검색된 텍스트는 Wikipedia에서 검색된 결과물처럼 동작한다.
- 예:
- 접두사 s_p_l = "Paris is"
- 검색된 텍스트 R(s_p_l) = "Paris is a large city in France."
이는 다음과 같이 수식화된다:
여기서 θ는 LLM의 파라미터이며, [R(spl);spl]는 R(spl)와 spl를 특별한 토큰으로 연결한 것이다.
3.2.2 Data Construction and Training Tasks
이 섹션에서는 3.1에서 설명한 세 가지 시나리오에 대한 데이터 구성 및 학습 작업을 자세히 설명한다.
Scenario 1
복잡한 텍스트에서 올바른 지식을 추출해야 하는 시나리오 1을 위해, 우리는 Select and Copy라는 학습 작업을 제안한다.
구체적으로, 샘플에 대한 문장 집합 가 주어졌을 때, Select and Copy는 S에 있는 모든 문장을 검색된 텍스트로 사용하여 LLM이 주어진 접두사 spl에 대해 목표 stl을 예측하도록 한다.
이는 다음과 같이 수식화된다:
Select and Copy 작업에서 sl (spl 및 stl 모두)은 이미 검색된 텍스트 되어 있다. 에 포함
이 작업은 LLM이 복잡한 검색 텍스트 S에서 접두사 spl와 일치하는 텍스트를 선택하고, 목표 stl을 직접 복사하여 생성하도록 요구한다. 입력된 검색 텍스트 S와 stl간의 정보 이득은 stl이 spl의 후위로 사용하기에 더 간결하다는 것이다.
Scenario 2
검색된 텍스트의 지식을 검증하고, 정확한 지식을 활용하며, 잘못된 지식을 수정하고, 누락된 지식을 보완해야 하는 시나리오 2를 위해, 우리는 Correct and Complete라는 학습 작업을 제안한다.
주어진 문장 집합 에 대해, 이 작업은 먼저 레이어 간 단어 분포의 안정성을 사용하여 정보성 토큰을 추출한다. 이 의도는 상위 레이어 간 단어 분포가 더 불안정할수록 해당 토큰이 더 정보성이 높다는 것을 나타내기 때문이다.
- 불안정성이란 레이어 간 단어 분포가 크게 변하는 것을 의미함.
- 예:
- 레이어 L1L_1에서 "dog"의 확률이 0.3, "cat"의 확률이 0.2.
- 레이어 L2L_2에서 "dog"의 확률이 0.1, "cat"의 확률이 0.5.
- 이처럼 확률 분포가 레이어 간에 크게 변하는 경우 "불안정하다"고 봄.
- 값이 클수록 분포가 더 다르다 → 불안정성이 높다 → 정보성이 높다.
이 방법은 si의 접두사 si<a에 대해 si[a]의 다음 단어 분포를 LLM의 각 레이어에서 다음과 같이 얻는다:
여기서 j는 LLM의 j-번째 레이어를 나타내며, Hj[a]∈Rh는 j-번째 레이어에서 토큰 si[a]에 대한 은닉 상태를 나타낸다.
W∈Rh×v는 은닉 상태 Hj[a]를 단어 분포로 매핑하는 어휘 헤드(vocabulary head)이다.
이후, LLM의 N개의 레이어에 대해, 우리의 방법은 Jensen-Shannon Divergence(JSD)를 사용하여 레이어 간 단어 분포의 차이를 측정하고, 마지막 레이어와의 분포 차이가 가장 큰 레이어를 찾는다.
이를 토대로 토큰 si[a]의 단어 분포 안정성을 다음과 같이 정의한다:
여기서 는 후보 레이어 집합(0번째부터 N/2번째 레이어까지)을 나타내며, dN(si[a]∣si<a)는 마지막 레이어의 단어 분포이다. 각 문장 si의 각 토큰에 대해 위의 작업을 병렬로 수행하며, si에 대한 단어 분포 안정성 집합을 다음과 같이 얻는다:
우리는 Oi에서 상위 50%에 해당하는 요소에 해당하는 토큰을 정보성 토큰으로 선택한다. 그 후, 이 토큰길이의 특정 비율(30%)의 랜덤 마스킹 및 교체를 적용한다.
선택된 토큰은 50% 확률로 [MASK]로 대체하여 불완전한 지식을 시뮬레이션하고, 40% 확률로 다른 토큰으로 랜덤 대체하여 잘못된 지식을 시뮬레이션하며, 10% 확률로 유지하여 올바른 지식을 시뮬레이션한다.
위의 파이프라인을 집합 S의 각 문장에 대해 수행하여 처리된 집합 S′을 얻는다.
Correct and Complete 작업에서 RAG는 다음과 같이 수식화된다:
Correct and Complete 작업에서 노이즈가 포함된 손상된 sl은 이미 S′에 포함되어 있다.
이 작업의 정보 이득은 LLM이 S′에서 sl의 지식을 추출, 수정 및 보완하여 stl을 생성하는 것이다.
Scenario 3
관련된 텍스트를 기반으로 LLM이 자신의 지식을 사용하여 답변을 찾아야 하는 시나리오 3을 위해, 우리는 Contextual Stimulation이라는 학습 작업을 제안한다.
Contextual Stimulation은 집합 S에서 sl (spl 및 stl 모두 -> 문장)을 제거하고, 나머지 문장을 생성하여 검색된 텍스트로 사용한다.
이는 다음과 같이 수식화된다:
Contextual Stimulation에서 (관련없는 문장이 삭제된)검색된 텍스트 S−{sl}의 각 문장은 spl과 의미적으로 관련이 있지만, LLM이 stl을 직접 생성하도록 돕지는 못한다. LLM은 관련 정보를 기반으로 자신의 지식을 사용하여 stl을 생성해야 한다.
3.2.3 Training Strategy
세 가지 학습 작업에 대한 데이터 구성을 완료한 후, 우리는 이를 혼합하여 멀티태스크 학습을 진행한다. 구체적으로, 우리는 LoRA(Hu et al., 2021)를 사용하여 세 가지 작업의 혼합 데이터셋으로 사전 학습된 LLM을 학습시킨다. 세 가지 작업은 배치 내에서 번갈아가며 학습된다.
Select and Copy는 LLM에게 상대적으로 간단하므로 배치의 20%만 차지하며, Correct and Complete와 Contextual Stimulation은 각각 배치의 40%를 차지한다. LoRA를 사용함으로써 학습 비용을 줄이고, 우리의 방법을 플러그 앤 플레이 방식으로 만든다. 훈련된 LoRA 파라미터는 LLM이 RAG를 수행해야 할 때 로드되며, RAG가 필요하지 않을 때 언로드된다.
4 Experiments (실험)
4.1 Datasets and Evaluation Metrics (데이터셋 및 평가 지표)
우리의 비지도 학습 방법의 일반성을 입증하기 위해, INFO-RAG의 성능을 7개의 작업에 걸친 11개의 데이터셋에서 평가한다.
Open-domain Question Answering (오픈 도메인 질문 응답)
오픈 도메인 QA는 LLM의 지식을 직접 평가할 수 있는 대표적인 지식 집중 작업이다.
우리는 Natural Questions (Kwiatkowski et al., 2019) (NQ)와 WebQuestions (Berant et al., 2013) (WebQ)를 데이터셋으로 사용한다. 정답이 출력에서 정확히 나타나는지 여부를 결정하는 Exact Match (EM)를 사용하며, 정확도를 평가 지표로 사용한다(Schick et al., 2023).
Soft Filling (소프트 필링)
소프트 필링은 주어진 주체(entity)와 관계(relation)에 대해 LLM이 객체(entity)를 출력하도록 요구한다. 우리는 Zero Shot RE (Levy et al., 2017) (ZS)와 T-REx (Elsahar et al., 2018)를 포함한 두 개의 지식 집중 데이터셋을 사용한다. 오픈 도메인 QA와 동일한 평가 지표를 사용한다.
Long-Form Question Answering (장문 질문 응답)
오픈 도메인 QA와 비교해, LFQA는 정답이 상대적으로 긴 텍스트인 QA 작업이다.
우리는 ELI5 (Fan et al., 2019)라는 LFQA를 위한 지식 집중 데이터셋을 사용한다. 평가 지표로 ROUGE-L을 사용한다(Petroni et al., 2020).
Dialogue (대화)
대화 실험은 사실적 지식에 중점을 둔다.
우리는 Wizard of Wikipedia (Dinan et al., 2018) (WoW)를 사용하며, 이는 대화가 지식에 기반을 둔 지식 강화 대화 데이터셋이다. 평가 지표로 F1을 사용한다(Petroni et al., 2020).
Language Modeling (언어 모델링)
우리는 언어 모델링을 위한 대표적인 데이터셋인 WikiText-103 (Merity, 2016)을 사용한다. 평가 지표로 ROUGE-L을 사용한다.
Multi-Hop Question Answering (다단계 질문 응답)
다단계 QA는 여러 지식을 결합하여 추론할 수 있는 LLM의 능력을 측정한다.
우리는 이 작업을 위해 HotpotQA (Yang et al., 2018)와 Musique (Trivedi et al., 2022b)를 사용한다. 오픈 도메인 QA와 동일한 평가 지표를 사용한다.
Code Generation (코드 생성)
코드 생성은 주어진 자연어에 대해 코드를 생성하는 작업을 목표로 한다.
우리는 CodeXGLUE (Iyer et al., 2018)의 Java와 Python 데이터를 사용한다. 평가 지표로 CodeBLEU (Ren et al., 2020)를 사용한다.
4.2 Experimental Settings (실험 설정)
본 논문에서 사용하는 LLM은 LLaMA-2-7B, 13B와 그 채팅 버전(Touvron et al., 2023b)을 포함한다.
우리는 LoRA를 사용하여 사전 학습된 LLM을 4개의 A100 GPU에서 파인튜닝하며, 학습률은 1×10−51 \times 10^{-5}, GPU당 배치 크기는 7B 모델에 대해 4, 13B 모델에 대해 2로 설정하여 5,000 스텝 동안 학습한다.
훈련 데이터는 각 예제에 대해 연속된 15개의 문장을 가져온다.
Retrieval Model and Retrieval Database (검색 모델 및 검색 데이터베이스)
오픈 도메인 QA, Soft Filling, Language Modeling을 위해 우리는 ColBERTv2 (Santhanam et al., 2022)를 검색기로 사용하며, 이는 뛰어난 일반화 능력을 가진 late-interaction 모델이다. 검색 데이터베이스로는 21,015,324개의 단락으로 구성된 Wikipedia(Karpukhin et al., 2020)를 사용한다. 코드 생성 작업에서는 SCODE-R (Parvez et al., 2021)을 코드 검색기로 사용하며, CodeSearchNET (Husain et al., 2019)의 중복 제거된 소스 코드를 검색 데이터베이스로 사용한다.
위의 모든 작업에서 각 예제에 대해 상위 5개의 검색된 단락을 제공한다.
LFQA, Dialog, Multi-Hop QA의 경우, 데이터셋에 제공된 문맥 단락 목록을 검색된 리스트(distractor setting)로 사용한다.
각 실험에서, 모든 비교 대상과 우리의 방법은 동일한 검색된 문서를 공유한다.
4.3 Experimental Results (실험 결과)
Main Results (Zero-Shot Setting)
Table 1의 실험 결과는 우리의 방법이 검색된 지식 활용에서 평균적으로 9.39%의 향상을 보여준다는 점을 네 가지 측면에서 입증한다.
- 짧고 직접적인 지식 (Short and Direct Knowledge)
우리의 방법은 오픈 도메인 질문 응답(ODQA)와 슬롯 채우기(Slot-Filling) 작업에서 LLaMA의 RAG 성능을 크게 향상시킬 수 있다. ODQA와 슬롯 채우기 작업의 답변은 짧고 직접적이며, 이는 검색된 텍스트에서 지식을 활용하는 LLM의 능력을 직접적으로 반영한다. - 다수의 지식을 통한 추론 (Reasoning on Multiple Knowledge)
INFO-RAG는 검색 목록에 포함된 여러 지식을 교차 참조하여 추론하는 데 강점을 보인다.
HotpotQA와 Musique의 질문은 복잡하며, 다양한 단락에서의 다수의 지식을 필요로 한다.
이러한 질문은 LLM이 검색된 단락 목록에서 올바른 지식을 추출할 뿐만 아니라, 서로 다른 단락의 지식을 결합하여 최종 답변을 도출하도록 요구한다. - 길고 복잡한 지식 (Long and Complex Knowledge)
INFO-RAG는 LLaMA의 LFQA, 대화(Dialogue), 언어 모델링(Language Modeling) 작업에서 RAG 성능을 개선할 수 있다. 이러한 작업은 LLaMA가 집중적인 지식에 기반하여 길고 복잡한 텍스트를 출력하도록 요구한다. - 코드 지식 (Code Knowledge)
INFO-RAG는 LLaMA의 코드 생성(Code Generation) 작업에서도 RAG 성능을 향상시킬 수 있다.
이는 INFO-RAG가 자연어만 학습했음에도 불구하고 프로그래밍 언어 작업에서 이점을 보인다는 점을 추가적으로 입증한다. 이는 INFO-RAG가 단순히 데이터를 학습하는 것을 넘어, 검색된 정보를 활용하는 방법을 LLM이 학습하도록 성공적으로 설계되었음을 보여준다. 비지도 및 접두사 언어 모델링 학습 패러다임은 INFO-RAG를 다양한 작업에 일반적으로 적용 가능하게 만든다.
Results on In-context Learning for RAG (RAG에서의 인컨텍스트 학습 결과)
INFO-RAG는 인컨텍스트 학습(ICL)과 협력하여 성능을 추가적으로 향상시킬 수 있다.
ICL(Brown et al., 2020)은 쿼리 앞에 타깃 작업의 몇 가지 예제를 추가하여 LLM이 작업을 이해하도록 돕는 방식이다.
그러나 RAG 설정에서는 ICL이 항상 도움이 되지는 않으며, 이는 주로 쿼리의 검색된 텍스트와 몇 샷 예제 사이의 혼란 때문에 발생한다.
Table 3에 나타난 바와 같이, LLaMA-2는 ICL로 인해 RAG 성능이 추가적으로 향상되지 못하며, 때로는 몇 샷 예제로 인해 성능이 저하되기도 한다. -> 실제로 내가 써본 결과 LLaMA-3에서도 ICL해보니 이상하게 답했다..
반면, INFO-RAG는 ICL을 통해 RAG 성능을 더욱 향상시킬 수 있다.
이는 주로 INFO-RAG가 LLaMA가 RAG 작업 형식을 이해하도록 만들어, ICL 예제에서 일반적인 작업 패턴을 더 잘 학습할 수 있게 하기 때문이다. 이 실험에서 우리는 쿼리, 관련 단락, 그리고 답변으로 구성된 ICL 예제를 구성하였다. 공정한 비교를 위해, 비ICL 설정에서 우리의 방법과 기준선이 비슷한 성능(둘 다 정답이거나 둘 다 오답)을 보이는 쿼리를 선택하여 ICL 성능을 평가하였다.
Enhancing Previous SOTA in Open-Retrieval Setting (오픈 검색 설정에서 기존 SOTA 향상)
INFO-RAG는 검색과 결합하여 질문을 해결하기 위해 다단계 추론을 수행하는 최근 프롬프트 기술들과 잘 협력할 수 있다(Xu et al., 2023; Khattab et al., 2022; Press et al., 2023; Yao et al., 2022).
공정한 비교를 위해, 우리는 SearChain(Xu et al., 2023)을 따르며, 이는 오픈 검색 설정에서 다단계 추론과 슬롯 채우기를 실행하며, 각 추론 단계에서 전체 Wikipedia에서 단락을 검색한다. SearChain 및 다른 기준선들은 LLaMA-2-13B-chat을 백본으로 사용한다. 이후, 우리는 INFO-RAG로 학습된 LLaMA-2-13B-chat을 기반으로 SearChain을 실행하여 INFO-RAG가 SearChain을 어떻게 향상시키는지 보여준다.
Table 4의 결과는 INFO-RAG가 SearChain의 성능을 더욱 향상시킬 수 있음을 보여준다.
이는 INFO-RAG의 비지도 학습이 근본적으로 LLM의 RAG 성능을 향상시킨다는 추가적인 증거를 제공한다.
4.4 Analysis (분석)
Fine-grained Analysis for Three Scenarios (세 가지 시나리오에 대한 세부 분석)
Table 2에 나타난 바와 같이, INFO-RAG는 모든 RAG 시나리오에서 효과적이며, 잘못되거나, 불완전하거나, 노이즈가 있는 검색된 텍스트에 대해 더 나은 견고성을 보인다.
우리는 RAG의 세 가지 시나리오에 대해 각각의 비지도 학습 작업을 제안하였다.
이 섹션에서는 각 시나리오에 대한 세부 분석을 소개한다.
- Scenario 1: 검색 목록에 이미 정답이 포함된 샘플을 선택하기 위해 Exact Match(EM)를 사용한다.
- Scenario 2: 검색된 텍스트에서 정답을 임의로 다른 동일한 속성을 가진 문구로 대체한다.
- Scenario 3: 검색된 텍스트에 정답이 전혀 포함되지 않은 샘플을 선택하기 위해 Exact Match(EM)를 사용한다.
우리는 LLaMA가 세 가지 시나리오 각각에 대한 샘플에서의 정확도를 측정한다.
세 번째 시나리오의 질문은 검색 모델이 이를 해결하기 위해 아무것도 찾을 수 없기 때문에 두 번째 시나리오보다 더 어렵다.
Table 2는 INFO-RAG가 각 시나리오에서 우위를 보이며, 검색된 텍스트가 정답을 포함하든 포함하지 않든 상관없이 더 견고함을 보여준다.
Ablation Study (요인 제거 실험)
우리는 다음 요소들의 영향을 탐구하기 위해 요인 제거 실험을 수행한다.
- Wikipedia 추가 학습
우리의 개선이 정보 정제를 모델이 달성하도록 돕는 것에서 기인하는지, 아니면 단순히 Wikipedia 추가 학습 때문인지 연구한다. 이를 위해 INFO-RAG와 동일한 하이퍼파라미터로 설정하여 LLaMA-2를 Wikipedia에서 표준 언어 모델링 목표로 학습시킨다.
Table 5의 결과는 이 기준선이 LLaMA-2 백본에 비해 개선을 가져오지 않는다는 것을 보여주며, 우리의 학습 방법이 Wikipedia 추가 학습이 아니라 효과적임을 확인한다. - 학습 작업
우리는 INFO-RAG에서 제안된 세 가지 학습 작업을 각각 원래 데이터와 각 시나리오에 대해 생성된 데이터에서 개별적으로 수행하여 그 효과를 탐구한다.
Table 6은 S2와 S3가 해당 시나리오에서 이점을 가져온다는 것을 보여준다.
S1은 단독으로 수행될 때 부정적인 효과를 보이지만, S2와 S3와 함께 학습되면 최고의 결과를 달성할 수 있다. 이는 주로 S1이 단독으로는 너무 단순하여 LLM이 데이터를 과적합하게 만들기 때문이다. S2와 S3를 추가하면 LLM이 정보 정제의 작업 패러다임을 학습하여, Scenario 1에서 올바른 답변을 더 잘 추출할 수 있도록 한다.
Robustness to Retrieval Results (검색 결과에 대한 견고성)
Table 7은 INFO-RAG가 검색 결과에서 긍정적인 단락의 비율과 위치, 검색된 단락의 수 등 변화에 더 견고하다는 것을 보여준다.
Avoiding Catastrophic Forgetting (망각 문제 방지)
RAG 없이 MMLU(Hendrycks et al., 2020)에서 실험한 결과 INFO-RAG는 원래의 LLaMA-2와 매우 가까운 성능을 보인다(7B: 45.0 vs. 45.3; 13B: 54.3 vs. 54.8). 이는 INFO-RAG가 RAG를 향상시키면서도 망각(catastrophic forgetting)을 방지한다는 것을 나타낸다.
5 Conclusion (결론)
이 논문은 LLM이 RAG에서 수행하는 역할을 재평가하는 새로운 관점을 제안하며, 이를 "정보 정제기(Information Refiner)"로 간주한다.
이는 검색된 텍스트의 정확성, 완전성, 유용성과 관계없이 LLM이 모델 파라미터와 검색된 텍스트 내의 지식을 일관되게 통합하여 더 정확하고 완전한 텍스트를 생성할 수 있다는 것을 의미한다. 이를 달성하기 위해 우리는 INFO-RAG라는 정보 정제 학습 방법을 비지도 방식으로 제안하였으며, 이는 비용이 낮고 다양한 작업에 걸쳐 일반적으로 적용 가능하다. 7개의 작업에 대한 11개의 데이터셋에서 제로샷 설정으로 수행한 광범위한 실험은 INFO-RAG가 LLM의 RAG 성능을 향상시킨다는 것을 보여준다.
INFO-RAG는 또한 인컨텍스트 학습(ICL)과 RAG의 견고성에서 강점을 보이며, SOTA RAG 프레임워크와 결합하여 성능을 추가적으로 향상시킬 수 있다.
Limitations (한계)
이 논문은 LLM이 RAG에서 정보 정제를 수행하도록 비지도 학습을 통해 정확한 정보를 추출하고 잘못된 정보의 간섭을 피하도록 하는 것을 목표로 한다. 이 논문의 주요 한계는 컴퓨팅 리소스 부족으로 인해 7B 및 13B 파라미터 크기의 모델에 대해서만 실험을 수행했다는 점이다.
나의 생각
학습할 동안에는 검색된 텍스트를 맞다고 가정하고 학습하기 때문에 만약 그 데이터가 거짓된 정보라면 잘못 학습될 가능성이 있을 것 같다. 답변 생성시 LLM 내부지식과 검색된 텍스트의 내용이 다를 경우에 LLM 내부지식을 중점적으로 사용해서 파인튜닝한지 오래되었을 때 최신정보를 반영하기 어려울 듯..