AI/논문 리뷰(Paper Review)

[논문리뷰] The Power of Noise: Redefining Retrieval for RAG Systems

Hyen4110 2025. 2. 3. 21:08

The Power of Noise: Redefining Retrieval for RAG Systems

- 인용 수 : 107회 인용 (2025.02.06 기준)
- 게재 일자: 11 July 2024
- 링크 : https://dl.acm.org/doi/pdf/10.1145/3626772.3657834


💡 Key Question

RAG 시스템의 프롬프트 구성을 최적화하기 위해 Retriever에 필요한 특성은 무엇일까?
현재 Retirever는 최적의 상태라고 할 수 있는가?
What characteristics are desirable in a retriever to optimize prompt construction for RAG systems?
Are current retrievers ideal?"


📕 Abstract

검색 증강 생성(RAG)은 정보 검색(Information Retrieval) 을 통해 검색한 관련 구절(passage)이나 문서(document)로 프롬프트를 보강하여 사전 훈련된 대규모 언어 모델 지식을 뛰어넘는 방법으로 떠오르고 있습니다. 특히 RAG는 지속적으로 지식 업데이트가 필요하거나 LLM에 지식을 넣는것이 불가능한 특정한 기업환경이나 도메인에서의 생성형 AI 솔루션에서 더 중요성이 부각되고 있습니다. RAG 시스템의 검색 요소가 *dense이냐 sparse이냐와 무관하게 연구할만한 가치가 있다고 판단함에 따라 RAG 시스템의 검색 전략에 대해서 최초로 포괄적이고 체계적인 조사를 수행하였습니다.

특히나, 이번 연구에서는 RAG 솔루션 내의 정보 검색 시스템이 _검색해야 하는 단락(passage)의 유형_에 집중하였습니다. 연구에서는 프롬프트 문맥에 포함된 구절의 관련성, 위치 및 번호와 같은 여러가지 요소를 분석했습니다. 그러나, 분석하는 과정에서 찾은 놀라운 반직관적인 발견 중 하나는 '질의와 직접 관련이 없는(예: 답변이 포함되지 않은) 검색결과 상위 문서가 LLM의 효율성에 부정적인 영향을 미친다'는 것입니다. 더욱 놀라운 것은 '프롬프트에 임의의 문서를 추가하면 LLM 정확도가 최대 35% 향상된다'는 결과입니다. 이러한 연구 결과를 종합하여 LLM과 검색을 통합하는 시스템에서 필요한 적절한 전략을 조사하여 향후 연구를 위한 토대를 마련할 필요성을 제시하고 있습니다.


📕 Introduction 정리

*_Retrieval가 반환할 수 있는 문서의 (연관) 유형(A)_이 LLM에 미치는 영향을 확인하고,통상적으로 받아들여져온 가정(B)을 뛰어넘어는 분석결과를 활용하여 효과를 극대화하는 기법 제안.

✓ 관련 문서(relevant document) : 쿼리에 직접적으로 답변하거나 정보를 제공할 수 있는 관련 정보가 포함
✓ 방해 문서(distracting document) : 쿼리에 직접적으로 응답하지 않지만 의미상으로나 문맥상으로 주제와 연결
(예: 누군가가 나폴레옹의 말의 색깔을 묻는다면, 조세핀 드 보아르네(나폴레옹의 첫째 부인)의 말의 색깔을 설명하는 구절은 정확한 정보를 담고 있지는 않지만 관련성이 매우 높을 것)
✓ 무작위 문서(random document) : 쿼리와 전혀 관련이 없으며 검색 프로세스 내에서 일종의 정보 노이즈


📕 실험/방법론

1. 데이터셋 - "NQ(Natural Question) Dataset"
데이터 세트는 21,035,236개의 문서로 구성/ 학습 세트에는 72,209개의 쿼리, 테스트 세트에는 2,889개의 쿼리

- NQ Dataset : 실제 구글 검색 데이터로부터 얻은 real-world 데이터셋으로, 각 데이터셋은 하나의 쿼리와 답변을 포함하고있는 관련 Wikipedia 페이지로 구성됨
- NQ-open Dataset : NQ Dataset의 일부를 가지고, 특정 Wikipedia 구절에 연결하는 제한을 제거하여 좀 더 웹 검색과 유사하게 일반적인 정보 검색 시나리오를 모방한다는 점에서 다름.

2. 문서 유형 정의

Gold Document NQ 데이터셋의 기존 context로 답변을 포함하고 있는 위키피디아 단락으로, 주어진 쿼리와 문맥적 연관이 있는 문서.
Relevant Document gold document와 유사하게 정확한 답변을 포함하고 있고, 문맥적으로도 쿼리에 대한 답변으로 유용하다. 쿼리에 대해서 적절하고 정확한 추가적인 정보를 제공합니다.
Distracting Document 쿼리와 의미적으로는 유사하지만 정확한 답변을 포함하지 않음. 이는 관련 정보와 관련이 없는 정보를 식별하는 generator의 성능을 평가하는 데 중요한 역할을 합니다. 사실상 관련성이 없는 최고 점수의 검색 문서라고 할 수 있음.
Random Document 쿼리와 관련이 있지도 않고, 답변을 포함하지도 않는 문서. 이는 전혀 관련이 없는 정보를 처리하는 모델의 능력을 평가하는 데 중요한 역할을 합니다.(테스트 상황에서는 코퍼스에서 이러한 문서를 무작위로 샘플링)

3. Document Retrieval 세팅

- default retrieval : Contriever - BERT 기반의 dense retriever로, contrastive loss로 지도학습 없이 훈련.
- indexing system : FAISS indexFlatIP (각 문서와 쿼리의 임베딩은 모델의 마지막 hidden state의 평균으로 계산)

4. LLM의 입력 세팅

- retriever는 주어진 유사도 평가지표를 기준으로 top-k개의 문서를 선택하며, 이 문서들은 작업 지시사항(task instruction)과 쿼리와 결합되어 LLM의 입력값을 구성함.
- NQ-open 데이터셋은 5개 이하의 토큰으로 구성된 답변을가진 쿼리들로만 구성되어 있기 때문에, 결과적으로 LLM은 제공된 문서에서 최대 5개의 토큰으로 제한된 쿼리 응답을 추출하는 과제를 수행하는 것이 되겠음.
- 프롬프트 구성 템플릿: 작업 지시사항(task instruction) + 검색된 문서로 구성된 문맥(context) + 쿼리

5. 테스트 LLM- Llama2, Falcon, Phi-2, MPT

- 여러 LLM을 고려하되, 모든 모델에서 동일하게 최대 응답 길이가 15개 토큰인 greedy generation 방식을 채택함
- 메모리와 계산 리소스로 인한 제약 개선을 위해 model quantization 전략으로 모든 모델을 4비트 표현으로 축소
- 위의 프롬프트 외에 Few-Shot 학습을 위한 추가 예제가 제공되지 않음
- LLM의 'base'와 'instruct' 버전을 모두 테스트하였으나, 성능이 월등히 우수한 'instruct'만 리포팅함

6. 정확도 평가 방법

- NQ-open 데이터 세트는 각 쿼리에 대한 다양한 잠재적 답변(동의어)을 허용하고 있음. 풀어서 이야기 하자면, 동일한 대상 "D. Roosevelt 대통령" 또는 "Roosevelt 대통령" 등 다양한 변형이 존재하는 경우, 하나의 쿼리가 여러 개의 서로 다른 정답을 허용.
- LLM에서 생성된 응답의 정확성을 평가하기 위한 지표로는, 미리 정의된 정답 중 하나 이상이 LLM에서 생성된 응답 내에 포함되어 있는지 여부를 체크함. 이진 방식으로 답변의 존재 여부에 따라 LLM 응답의 정확성을 정확하거나 부정확한 것으로 측정.
- 위 방식의 평가지표가 가진 한계점은 동일한 의미를 전달하는 다양한 문구가 사전에 정의된 정답에 없다면 틀린 답으로 간주한다는 것. 예를 들어 LLM이 설정된 정답이 "Roosevelt 대통령"인 쿼리에 대한 응답으로 "Roosevelt"를 생성하는 경우 해당 응답은 현재 평가 논리에 따라 잘못된 것으로 평가함.(답변 변형에 대한 보다 진보된 분석의 필요성을 인정하며 이는 향후 연구에 맡기기로)

📕 결과

1. distracting document의 개수가 많을 수록 정확도 저하
- distracting docoumt 1개(0.4068), 2개 (0.3815), 4개(0.3626)로, 0개(0.5642) 일때에 비하여 현저히 하락.
- 모든 LLM에서 동일하게 나타난 현상으로, 가장 심한 경우는 0.38(-67%)의 성능 하락 발생.
- distracting document가 전혀 없다가 1개만 추가되더라도 극적인 하락을 보임

2. Gold document의 위치

- 정확도가 높은 gold document 위치 순서 : Near > Far> Mid
(*Near : 프롬프트 내에서 쿼리와 근접한 위치/ Mid : 문맥의 중간의 위치/Far : 컨텍스트 내세어 쿼리와 가능한 멀리 위치)

 

3. Noise의 효과 

- gold document에 임의의 문서에서 가져온 구를 노이즈로 넣은 실험에서는 distract document를 넣은 경우에 비하여 크게 성능변화가 없었음

- 모델마다 다소 다른 양상을 보임

1) Llama2와 Phi-2의 경우에는 노이즈가 쿼리로부터 가장 멀리있을때 성능이 높았지만, (1)) gold document와 쿼리 사이(Instruction+gold+noise+query), (2) gold_document를 사이에 두고 위치한 경우(instruction+noise1+gold+noise2+query)에는 더 낮은 성능을 보임
  => Llama2와 Phi-2는 노이즈가 쿼리로부터 멀리있을때에는 효과적으로 처리하지만, 노이즈가 가까울수록 무관한 정보를 노이즈로 인식하는데 어려움을 가지고 있음 확인
2) MPT 모델은 모든 세팅에서 성능향상을 보이는 독특한 양상을 띔.
3) Falcon 모델은 다른 모델과 다르게 노이즈의 추가에 상관없이 성능 향상을 보이지 않
- 특이하게도 Falcon과 Llama2는 "lost in the middle" 현상을 일관되게 나타내지 않으며, 어떤 경우에는 먼거리 설정보다 중간거리에서 더 나은 정확도를 나타냄