왕구아니다

[논문 리뷰] Injecting External Knowledge into the Reasoning Process Enhances Retrieval-Augmented Generation 본문

Paper Review/RAG

[논문 리뷰] Injecting External Knowledge into the Reasoning Process Enhances Retrieval-Augmented Generation

Psalms 12:6-7 2026. 2. 10. 16:58
본 논문 리뷰는 저의 개인적인 해석과 의견을 바탕으로 작성된 글입니다.
내용 중 해석의 오류나 개념적인 착오가 있다면, 망설이지 마시고 댓글로 혼내주시면 감사하겠습니다~

Preview
- Reasoning LLM의 reasoing phase 부분에 passages 주입하자

Link
- 논문 : https://arxiv.org/abs/2507.19333
- 코드 : https://github.com/Trustworthy-Information-Access/Passage-Injection
 

GitHub - Trustworthy-Information-Access/Passage-Injection: Official code for the paper Injecting External Knowledge into the Rea

Official code for the paper Injecting External Knowledge into the Reasoning Process Enhances Retrieval-Augmented Generation. - Trustworthy-Information-Access/Passage-Injection

github.com


📍0. Abstract

  • RAG의 문제는 retrieval noise이고, 해결책은 문서를 프롬프트가 아니라 LLM reasoning 안에 집어넣는 것이다.

📍1. Introduction

  • 최근에는 LLM들이 단순 생성기가 아니라, 중간 추론 과정을 만들고 자기 추론을 되돌아보는 reasoning-enhanced LLM로 발전했다.
  • 이런 모델들은 답을 바로 내지 않고, 중간 추론을 만들고 그 추론 안에서 오류를 찾고 수정한 뒤 최종 답을 낸다.
  • 여기서 본 논문의 Motivation Question : 만약 노이즈 문서 자체를 추론 과정 안에 넣어버리면, '모델이 그걸 자기 생각의 일부처럼 검토하면서 이거 이상한데'하고 걸러낼 수 있지 않을까?
    • 그래서 제안하는 방법이 바로 Passage Injection. 검색 문서를 프롬프트 앞에 그냥 붙이지 않고 <think> 안, 즉 추론 단계에 직접 주입하자

📍2. Methodology

2.1 Reasoning-Enhanced QA with Internal Knowledge

Direct QA

  • 하나의 질문 𝑞가 주어졌을 때, 추론 특화 LLM의 동작 과정은 크게 세 단계로 나뉜다.
    • 1. Input Phase: 질문을 입력받는 단계
      • 입력 단계에서는 모델이 질문을 받아 토큰화하고 내부 표현으로 인코딩한다.
    • 2. Reasoning Phase: 모델이 내부적으로 추론을 수행하는 단계
      • 모델은 <think></think> 태그 안에서 중간 추론 과정을 생성하고 자신의 추론을 점검하는 self-reflection을 수행한다.
    • 3. Response Phase: 최종 답변을 출력하는 단계
      • 추론이 끝나면 <think> 태그를 닫고, 그 결과를 바탕으로 최종 답변 𝑎를 출력한다.
  • 이 구조 덕분에 모델은 자신이 학습한 내부 지식(parametric knowledge)을 최대한 활용할 수 있다.
  • 하지만 동시에 부작용도 있다. 불필요하게 추론이 길어지고 계산 비용이 증가하며 오히려 hallucination 위험이 커질 수 있다.
  • 현재 LLM에 추론 능력을 부여하는 방법크게 두 가지 주류 접근법으로 나뉜다.
    • 첫 번째는 강화학습 기반 접근이다. 모델이 스스로 다양한 추론 경로를 탐색하면서 “어떤 생각이 좋은 생각인가”를 학습한다. 대표적인 예가 Qwen3 계열 모델이다.
    • 두 번째는 지식 증류 방식이다. 이미 추론을 잘하는 교사 모델의 출력을 따라 하도록 학습한다. 대표적인 예가 DeepSeek-R1-Distill-Qwen이다.

2.2 Augmenting Reasoning-Enhanced QA with External Knowledge

Vanilla RAG

  • 검색된 문서 𝐷를 질문 𝑞와 그대로 이어 붙여(Input Phase에) 모델에 입력한다.
  • 하지만 이 방식은 모델이 문서에 충분한 주의를 기울이지 못하게 만들 수 있고, 그 결과 문서에 포함된 오류나 이상한 점을 식별하기 어려워진다. [Figure 1 (a)]

Passage Injection

  • 여기서 저자들은 Passage Injection을 제안한다. 추론 특화 LLM은 원래 자기 추론 안의 오류를 감지하고 수정할 수 있기 때문에, 검색 문서를 추론 과정 자체에 통합하면 모델이 그 문서를 자기 생각의 일부처럼 다루게 될 것이라고 본다.
  • 이를 바탕으로 저자들은 문서 집합 𝐷를 Input Phase가 아니라 Reasoning Phase에 주입하는 Passage Injection 방법을 제안한다.

Instruction Injection

  • 저자들은 Passage Injection의 효과를 더 정확히 분석하기 위해 Instruction Injection이라는 ablation 실험도 설계한다.
  • 이 설정에서는 “문서를 어떻게 활용하라”는 지시문만 Reasoning Phase에 넣고 실제 문서 내용은 기존처럼 Input Phase에 둔다.

📍3. Experimental Setup

3.1 General RAG Settings

  • 각 질문에 대해, 위키피디아 덤프를 대상으로 BM25 검색기를 사용해 상위 k개의 문서(top-k passage)를 검색한다.
  • 여기서 k는 1, 3, 5로 설정되며, 이는 검색 문서 수가 달라질 때도 Passage Injection의 효과가 유지되는지를 보기 위함이다.

Datasets

  • 저자들은 서로 다른 성격의 QA 데이터셋을 사용한다.
  • 멀티홉 QA : 여러 문서를 연결해 추론해야 하는 질문
    • 2WikiMultiHopQA
    • HotpotQA
    • ComplexWebQuestions
  • 싱글홉 QA : 하나의 사실만 묻는 질문
    • PopQA

Metrics

  • 평가 지표로는 F1 score를 사용한다.
  • F1은 정밀도(precision)와 재현율(recall)의 조화 평균으로, 모델의 답변이 얼마나 정확한지, 얼마나 빠짐없이 포함하는지를 동시에 반영하는 지표다.

LLMs

  • Passage Injection의 효과가 모델 크기에 따라 어떻게 달라지는지를 보기 위해, 저자들은 파라미터 수가 서로 다른 Qwen3 8B, 14B, 32B 모델을 모두 실험에 포함시킨다.
  • 또한, 추론 능력을 distillation 방식으로 학습한 모델에서도 Passage Injection이 작동하는지를 보기 위해 DeepSeek-R1-Distill-Qwen-32B를 함께 실험한다.
  • temperature는 0.6, top-p는 0.95로 고정하여 모델 간 비교가 공정하게 이루어지도록 한다.

Baselines

  • 비교 기준(baseline)으로는 세 가지 방법을 사용한다.
    • Direct QA : 검색 없이 모델 내부 지식만 사용
    • Vanilla RAG : 문서를 Input Phase에 단순 결합
    • Instruction Injection : 지시문만 Reasoning Phase에 주입

3.2 Controlled Settings

  • 일반적인 RAG 환경에서 검색된 문서들은 보통 두 가지 유형으로 나뉜다. 하나는 질문에 실제로 도움이 되는 문서이고, 다른 하나는 무관하거나 심지어 잘못된 정보를 담은 문서다.

Noise Settings

  • 먼저 노이즈 문서 상황을 인위적으로 구성한다. 이 설정은 검색 결과에 무관한 정보 혹은 그럴듯하지만 틀린 정보가 섞여 들어오는 현실적인 상황을 모사한다.
  • Random Noise : 질문과 전혀 관계없는 정보가 검색 결과에 섞여 들어오는 상황을 가정한다. 각 질문마다 코퍼스에서 무작위로 뽑은 세 개의 문서를 제공한다. 이 문서들은 질문과 관련이 있을 가능성이 거의 없다.
  • Counterfactual Noise : 이 설정은 모델을 적극적으로 mislead 한다. 
    • 이를 위해 ConFiQA 데이터셋을 사용한다. 이 데이터셋의 문서들은 문장도 자연스럽고 주제도 질문과 잘 맞지만 사실만 틀린 문서로 구성되어 있다.
    • 이러한 문서들은 원래 정답을 포함하던 gold passage에서 핵심 엔티티만 같은 타입의 다른 엔티티로 교체해 만들어진다.

Gold Settings

  • 이 설정에서는 각 질문에 대해 정답을 실제로 포함하고 있는 문서만 제공한다.

📍4. Results and Analysis

4.1 Performance under General RAG

  • 첫 번째이자 가장 중요한 결과는, Passage Injection이 거의 모든 설정에서 가장 높은 성능을 보였다는 점이다.
    • 모든 모델 크기(Qwen3 8B/14B/32B, Distill 모델 포함)에 걸쳐 Passage Injection은 평균 F1 점수가 가장 높았다.
    • 또한 Figure 1(b)를 보면, 검색 문서 수(top-k)를 1, 3, 5로 바꿔도 Passage Injection의 성능 향상 폭이 안정적으로 유지된다.
  • 두 번째 핵심 결과는, Passage Injection이 멀티홉 QA에서 더 큰 성능 향상을 보였다는 점이다.
    • 실제로 단일 사실 질문(PopQA)에 비해, 여러 단계를 거쳐 추론해야 하는 데이터셋에서 성능 향상이 훨씬 더 크게 나타났다.
    • 이 결과는 Passage Injection이 복잡한 추론을 요구하는 질문에 특히 적합한 방법임을 시사한다.
  • 세 번째 관찰 결과는, 문서를 실제로 reasoning에 포함시키는 것이 핵심이라는 점이다.
    • Instruction Injection은 Vanilla RAG보다는 어느 정도 성능 향상을 보이지만, Passage Injection보다는 확실히 효과가 작다.
    • 즉, “문서를 어떻게 써라”라고 말해주는 것보다, 문서 자체를 추론 과정 안으로 집어넣는 것이 훨씬 더 효과적이라는 결론이다.
  • 네 번째로 저자들은 distillation 기반 모델의 특성에 주목한다.
    • 흥미롭게도, DeepSeek-R1-Distill-Qwen-32B는 검색 없이 답하는 Direct QA에서는 Qwen3-32B보다 성능이 낮지만, Vanilla RAG 환경에서는 오히려 더 좋은 성능을 보인다.
    • 저자들은 그 이유를 distillation의 특성에서 찾는다. 이 모델은 학습 과정에서 이미 긴 문맥을 포함한 교사의 추론 예시를 따라 학습했기 때문에, 형식적으로 RAG와 더 잘 맞고 검색된 문서를 활용하는 데 유리하다는 것이다.
  • 다섯 번째 관찰은, 그럼에도 불구하고 Passage Injection의 추가 이득은 distillation 모델에서 더 작다는 점이다.
    • 실제로 Passage Injection은 모든 모델의 성능을 향상시키지만, DeepSeek-R1-Distill-Qwen-32B에서는 그 향상 폭이 상대적으로 작다.
    • 그 이유는, 이 모델의 추론 능력이 스스로 형성된 것이 아니라 교사 모델을 통한 지도 학습의 결과이기 때문이라고 해석한다.
    • 결과적으로, distillation 모델은 <think></think> 내부에서 일어나는 구조적 변화에 덜 민감하게 반응하는 경향을 보인다.

4.2 Performance under Noisy Passages

  • 첫 번째이자 가장 중요한 관찰은, Passage Injection이 일관되게 모델의 robustness를 향상시킨다는 점이다.
    • Random Noise와 Counterfactual Noise 모든 조건에서, 그리고 모든 모델 크기에 대해 Passage Injection은 Vanilla RAG보다 뚜렷하게 높은 성능을 보인다.
    • 특히 Counterfactual Noise 환경에서 성능 차이가 더 크게 나타난다. (Passage Injection이 “속지 않는 능력”에 특화돼 있음을 보여줌)
    • 이 결과는 Passage Injection이 의도적으로 모델을 속이려는 노이즈의 영향을 효과적으로 줄일 수 있음을 분명히 보여준다.
  • 두 번째 관찰은, 문서를 실제로 reasoning 과정에 포함시키는 것 자체가 robustness 향상에 중요하다는 점이다.
    • 노이즈 문서에 저항하도록 만들기 위해서는 단순한 지시보다 문서 자체를 reasoning 안으로 넣는 구조적 개입이 더 효과적이라는 뜻이다.
  • 세 번째 관찰은, distillation 기반 모델에서는 성능 향상이 상대적으로 작다는 점이다.
    • 실제로 Passage Injection의 효과는 Qwen3 계열 모델에 비해 DeepSeek-R1-Distill-Qwen-32B에서 덜 두드러진다.

4.3 Performance under Gold Passages

  • 이 조건에서는 Passage Injection의 성능이 Vanilla RAG와 거의 비슷하게 나타난다.
  • 이는 Passage Injection이 노이즈가 있을 때는 강하게 작동하지만 도움이 되는 문서만 있을 경우에는 그 활용 능력을 저해하지 않는다는 것을 의미한다.
  • 흥미로운 점은, Qwen3-8B 같은 소형 모델에서는 Gold Setting에서도 Passage Injection이 Vanilla RAG보다 더 좋은 성능을 보였다는 것이다.

4.4 Analysis on Output Length

  • CWQ와 PopQA 데이터셋에서 모델이 생성한 출력 길이(문자 수)의 평균을 정리한 표다.
  • Vanilla RAG와 비교했을 때, Passage Injection은 모든 데이터셋과 모든 모델에서 출력 길이를 눈에 띄게 줄인다.
  • 문서를 추론 과정 안에 직접 주입하면 모델이 불필요하게 혼자서 추론을 늘어놓는 overthinking이 줄어든다는 것을 시사한다.
  • 그 결과 모델은 더 간결하고 핵심적인 답변을 생성하게 된다.

📍5. Conclusion

  • 이 논문에서는, 추론 특화 LLM이 스스로 추론 오류를 감지하고 수정할 수 있다는 점에서 아이디어를 얻어 Passage Injection이라는 방법을 제안했다.
  • 이 방법은 검색된 문서를 단순 입력이 아니라 추론 과정 자체에 명시적으로 통합함으로써, 노이즈 정보에 대한 robustness을 높이고 RAG의 전반적인 성능을 개선하는 것을 목표로 한다.
  • 네 개의 추론 특화 LLM과 네 개의 사실 기반 QA 데이터셋에서 수행한 실험 결과, Passage Injection은 RAG 전체 성능을 유의미하게 향상시키는 것으로 나타났다.
  • 또한, 질문과 무관한 문서를 주는 Random Noise, 그럴듯하지만 틀린 문서를 주는 Counterfactual Noise 두 가지 노이즈 검색 환경에서도 Passage Injection은 일관되게 모델의 robustness를 향상시켰다.
  • 통제 실험 결과, Passage Injection은 노이즈를 억제할 뿐 아니라 정답을 포함한 유용한 문서도 효과적으로 활용할 수 있음이 확인되었다.