[논문리뷰]EfficientRAG: Efficient Retriever for Multi-Hop Question Answering
카테고리: NR
Ziyuan Zhuang, Zhiyang Zhang, Sitao Cheng, Fangkai Yang, Jia Liu, Shujian Huang, Qingwei Lin, Saravan Rajmohan, Dongmei Zhang, and Qi Zhang. “EfficientRAG: Effective Retriever for Multi-Hop Question Answering.” In Proceedings of the 2024 Conference on Empirical Methods in Natural Language Processing, pages 3392–3411, Miami, Florida, USA, November 2024
Problem Statement
이 논문에서는 기존의 Standard RAG와 Single-step Retrieval의 한계점을 네 가지로 분류한다.
[Single-step retrieval의 비효율성] 기존 RAG는 주로 1회성 단순 retrieval에 의존하여 multi-hop reasoning이 필요한 복잡 질문에 비효율적이다. 전통적인 one-round RAG 방법들은 단순한 질문에는 효과적이지만, 여러 단계의 추론이 필요한 multi-hop 질문에서는 첫 번째 검색으로 얻은 정보만으로는 답변이 불가능하다.
[Multi-step retrieval의 비용 문제] 매 retrieval 라운드마다 LLM 호출이 필요하여 지연시간 (latency)과 비용 (cost)이 증가한다. 또한 복잡한 프롬프트 설계 및 few-shot 예시가 필요하여 도메인 확장성이 저하된다.
[Noisy chunks로 인한 정확도 저하] Multi-hop QA에서는 필요없는 정보 (noisy chunks)로 인해 정확도가 저하된다. 무관한 청크들의 존재가 LLM 생성기에게 지속적인 도전을 제기한다.
[LLM의 noisy context 취약성] LLM도 noisy context에 취약해, 중간 reasoning 단계에서 오류가 발생할 가능성이 있다. LLM 기반 시스템들이 노이즈가 있는 지식 입력으로 부분 답변을 생성해야 하는 중간 단계에서 실패하는 경우가 많다.
Methodology
- EfficientRAG는 RAG 프레임워크 내에서 작동하는 경량(소형) 모델 기반 Query 재작성 및 필터링 시스템이다.
- 주요 구성: Labeler & Tagger, Filter, 기존 Retriever, Generator(LLM)
EfficientRAG는 전통적인 RAG 시스템에 통합되는 plug-and-play 방식의 효율적인 retrieval 프레임워크다. 주어진 쿼리에 대해 retriever가 데이터베이스에서 관련 청크들을 검색하면, EfficientRAG의 두 가지 경량 컴포넌트인 Labeler & Tagger와 Filter가 작동한다.
Labler & Tagger
- 입력: (Query, Retrieved Chunk)
- 출력:
- Token 단위로 “useful”/”useless” 여부 라벨
- Chunk 전체에 대해
또는 태그 지정
- 세부 설명:
- Labeler는 chunk 내부의 중요 단어를 식별하여 다음 Query 생성에 활용
- Tagger는 해당 chunk가 다음 hop 추론에 필요한지 (
) 아닌지 ( ) 판단 -
로 분류된 경우, 해당 chunk 정보와 Query가 다음 hop을 위한 재작성 입력으로 사용됨
Labeler는 검색된 문서 내에서 쿼리에 부분적으로 답변할 수 있는 유용한 정보를 나타내는 토큰 시퀀스에 주석을 단다. Tagger는 검색된 청크가 도움이 되는지 무관한지를 나타내는 태그를 부여한다. 만약 태그가 더 많은 정보가 필요함을 나타내는
Filter
- 입력: (현재 Query, Labeler가 식별한 중요 Tokens)
- 출력: 다음 Retrieval을 위한 재작성 Query
- 설명:
- Query 내 미해결 부분을, 이전 Retrieval에서 얻은 중요 정보로 치환하여 새로운 Query 구성
- LLM 호출 없이도 iterative Retrieval 가능하게 함
Filter는 라벨링된 토큰들과 현재 쿼리를 받아 다음 라운드 검색을 위한 새로운 쿼리를 구성한다. 이는 쿼리의 미지의 부분을 라벨링된 토큰들 (유용한 정보)로 대체함으로써 수행된다. 이 과정을 통해 초기 쿼리 범위를 넘어서는 정보를 검색하기 위한 새로운 쿼리를 효율적으로 생성한다.
Synthetic Data Construction
- LLM 기반으로 Labeler & Filter 학습 데이터 자동 생성
- 단계:
- Multi-hop 질문을 Single-hop으로 분해
- 각 Chunk의 중요 Token을 라벨링
- 다음 hop Query 생성 (불필요 부분 제거, 새로운 정보 반영)
- Hard Negative 샘플링: 비슷하지만 관련 없는 chunk는
로 분류
합성 데이터 구축은 네 단계로 구성된다. Multi-hop question decomposition에서는 LLM을 사용하여 multi-hop 질문을 여러 개의 single-hop 질문으로 분해하고 의존성을 파싱한다. Token Labeling에서는 각 sub-question과 해당 청크에 대해 SpaCy 툴킷을 사용하여 중요한 단어들을 이진 라벨로 주석한다. Next-hop question filtering에서는 single-hop 질문과 의존적 질문들의 라벨링된 토큰들을 기반으로 다음 홉 질문을 생성한다. Negative Sampling에서는 각 필터링된 next-hop 질문에 대해 유사하지만 관련 없는 청크를 hard negative로 검색한다.
Experiments
Main Results
Table2는 Retrieval 성능 비교 실험 결과이다. EfficientRAG는 HotpotQA에서 81.84, 2WikiMQA에서 84.08의 높은 Recall@K를 달성했다. 특히 주목할 점은 EfficientRAG의 경우 다른 베이스라인과 비교했을 때 검색한 청크 수가 매우 적다는 것이다 (HotpotQA: 6.41개, 2WikiMQA: 3.69개). 다른 방법들이 14-35개의 청크를 검색하는 것에 비해 현저히 적은 수로도 비교 가능한 성능을 보였다. 하지만 MuSiQue 데이터셋에서는 49.51로 상대적으로 낮은 성능을 보였는데, 이는 검색된 청크 수가 적고 데이터셋의 복잡성이 높기 때문으로 분석된다.
Table 3는 End-to-end QA 성능 비교 실험 결과이다. EfficientRAG는 HotpotQA와 2WikiMQA에서 두 번째로 높은 정확도를 달성했다 (HotpotQA: 57.86%, 2WikiMQA: 53.41%). MuSiQue에서도 낮은 recall에도 불구하고 20.00%의 정확도를 보였다. LLM 기반 시스템들이 노이즈가 있는 지식 입력으로 부분 답변을 생성해야 하는 중간 단계에서 실패하는 반면, 더 도움이 되는 지식과 적은 무관한 청크가 RAG 시스템의 핵심 요소임을 보여준다.
Ablation Study
Inference Efficiency
추론 효율성 실험에서 MuSiQue 데이터셋의 200개 샘플에 대해 EfficientRAG는 1.00번의 LLM 호출과 2.73번의 반복으로 3.62초의 지연시간을 보였다. 이는 Iter-RetGen iter3 (9.68초)와 SelfASK (27.47초)에 비해 각각 60%-80% 개선된 시간 효율성을 보여준다. GPU 사용률은 유사한 수준 (65.55%)을 유지하면서도 직접 검색 방법과 동등한 속도를 달성했다.
Replacing Backbone of Generator
다양한 생성기와의 성능 실험에서 GPT-3.5를 생성기로 사용했을 때 2WikiMQA에서 EfficientRAG는 61.88%의 최고 정확도를 달성했다. 이는 더 강력한 생성기가 EfficientRAG의 성능을 더욱 향상시킬 수 있음을 보여준다.
Analysis
전이가능성 실험에서 EfficientRAG는 도메인별 지식에 크게 의존하지 않는 강건한 적응성을 보여준다. HotpotQA로 학습하고 2WikiMQA로 테스트했을 때 56.59%의 정확도를 보였으며, 이는 원본 데이터셋으로 학습한 모델 (53.41%)보다도 높은 성능이다. 이는 EfficientRAG가 추가적인 downstream 학습 없이도 다양한 태스크 시나리오에 적응할 수 있는 유연성을 가지고 있음을 보여준다.
쿼리 분해 효과 실험에서 검색 효율성에 대한 실험에서 EfficientRAG Decompose는 약 20개의 청크로 LLM Decompose가 200개 청크로 달성하는 것과 비교 가능한 recall을 보였다. 이는 EfficientRAG의 분해 방식이 훨씬 효율적임을 입증한다.
Conclusion
Contribution
- EfficientRAG는 다중 LLM 호출 없이 새로운 쿼리를 반복적으로 생성할 수 있는 Multi-hop QA 전용 효율적 Retriever를 제안하였다.
- 기존 Iterative RAG 대비 매우 적은 수의 Chunk만으로 높은 Recall을 달성하며, 특히 HotpotQA(81.84@6.41개), 2WikiMQA(84.08@3.69개)에서 기존 SOTA 수준의 성능을 보였다.
- 기존 LLM 기반 Iterative RAG 대비 약 60~80%의 시간 효율을 개선하였으며, LLM 호출 횟수를 단 1회로 최소화하였다.
- 추가 학습 없이도 다양한 데이터셋에 적용 가능한 높은 Transferability를 보여주었다.
Limitations
- Labeler와 Filter 모두 별도의 사전 학습 과정이 필요하며, 해당 데이터 구축을 위해 여전히 LLM 기반 Synthetic Data가 필요하므로 완전한 LLM 독립 구조는 아니다.
- MuSiQue처럼 질문 복잡도가 높거나 추론 단계가 많은 데이터셋에서는 적은 수의 Chunk Retrieval로 충분한 정답 정보를 확보하기 어렵다.
댓글 남기기