왕구아니다

[논문 리뷰] DeepRetrieval : Hacking Real Search Engines and Retrievers with Large Language Models via Reinforcement Learning 본문

Paper Review/RAG

[논문 리뷰] DeepRetrieval : Hacking Real Search Engines and Retrievers with Large Language Models via Reinforcement Learning

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

Preview

- 강화학습(RL)을 활용해 LLM이 직접 ‘시도-오류’ 방식으로 쿼리 생성 방법을 학습하는 DeepRetrieval
- 학습 데이터를 사용하는 대신, 검색 성능 지표(NDCG 등)를 보상으로 사용하여 모델이 직접 시행착오를 통해 학습
- 특징:
1) No Supervision for Query Generation 
2) RL with Trial & Error
3) RL with Robust Reward Function
 
Link
논문 : https://arxiv.org/abs/2503.00223
코드 : https://github.com/pat-jj/DeepRetrieval

📍0. Abstract

  • 정보 검색 시스템은 대규모 문서 집합에 효과적으로 접근할 수 있도록 해주는 핵심 기술
  • 최근에는 대형 언어 모델(LLM)을 활용한 쿼리 증강(query augmentation)이 검색 성능을 크게 향상시킴(사용자의 원래 쿼리를 더 나은 검색 쿼리로 바꿔줌)
    • 그러나 막대한 컴퓨팅 자원과 수작업 데이터(hand-labeled data)가 필요한 고비용의 지도학습(SFT)이나 지식 증류(distillation techniques) 기법 등에 의존하고 있었음
  • 본 논문에서는 강화학습(RL)을 활용해 LLM이 직접 ‘시도-오류’ 방식으로 쿼리 생성 방법을 학습하는 DeepRetrieval 소개
    • 정답 쿼리나 수작업 데이터 없이 가능
    • 보상으로 정답 데이터 대신 실제 검색 평가 지표(예: recall, ndcg 등)를 사용
    • 실험 결과 : 논문 검색, 임상시험 검색, 증거 기반 검색, 고전적 정보 검색, SQL 검색 등 에서 일관된 우수 성능을 보였고 3B(30억) 파라미터의 작은 모델로도 GPT-4o, Claude-3.5 등 산업 최고 모델을 능가함

📍1. Instroduction

  • 정보 검색(IR) 시스템은 방대한 문서 집합 내에서 사용자가 관련 정보를 찾도록 돕는 데 중요한 역할
  • 기존의 정보 검색 방식은 키워드 매칭통계적 기법에 크게 의존하지만, 이러한 방식은 종종 사용자 쿼리 안에 있는 의미를 이해하는 데 어려움
  • 사용자가 원하는 정보실제 쿼리 표현 간의 의미적 차이는 IR 분야에서 오랫동안 근본적인 문제
    • 실제 사용자가 쓴 검색 쿼리는 사용자의 의도를 완전히 반영하지 못함
  • 최근 대형 언어 모델(LLM)의 발전으로 사용자 쿼리를 확장하거나 재구성하여 더 관련성 높은 문서를 검색
  • 사용자가 원하는 정보와 문서 간의 의미적 간극을 메우면서, 쿼리 확장은 기존 키워드 매칭으로는 놓칠 수 있는 더 관련성 높은 정보를 검색하는 도움을 줌
  • 그러나 LLM 기반의 쿼리 확장 방식은 주로 지도 학습이나 지식 증류 기법을 사용하는데, 이에 따라 여러 한계가 존재함 
    • 학습 데이터를 생성하는 데 막대한 컴퓨팅 자원 및 비용 필요
    • 큰 모델로 학습 데이터를 생성하기 때문에 데이터 안에 편향이나 퀄리티 제한 존재
    • LLM의 성능은 준비한 학습 데이터의 품질과 범위에 크게 의존
    • 최종 과제의 성능보다는 사람이나 교사 모델이 생성한 쿼리를 모방하는 데 최적화되는 경우가 있음 
  • 따라서 본 논문은 기존 지도 학습 및 지식 증류 기법을 기반으로 한 LLM 기반 쿼리 확장 방법론들의 한계를 극복하기 위해 강화 학습을 활용하여 LLM을 훈련시키는 새로운 접근법인 DeepRetrieval을 소개
    • 학습 데이터를 사용하는 대신, 검색 성능 지표(NDCG 등)를 보상으로 사용하여 모델이 직접 시행착오를 통해 학습
  • 학습 후 다양한 환경에 접목시켜 평가를 진행
    • 실제 검색 엔진(PubMed 및 ClinicalTrials.gov)을 활용한 문헌 검색
    • QA 데이터셋을 통한 증거 기반 검색
    • BM25 및 밀집형 검색 시스템을 활용한 고전적 IR 벤치마크
    • 구조화된 데이터 접근을 위한 SQL 데이터베이스 검색
  • 본 논문의 핵심 Contributions
    • 지도 학습 없이도 성능을 높이는 RL 기반 방식
    • 단순한 출력이 아닌 구조를 통한 추론 기반 쿼리 생성
    • 강화 학습이 정보 검색 시스템을 향상시키는 데 있어 더 효율적이고 효과적인 패러다임임을 보여줌

📍2. DeepRetrieval

  • DeepRetrieval은 쿼리 생성/재작성을 통해 정보 검색을 향상시키기 위해 LLM을 훈련하는 강화 학습 기반 프레임워크

2.1 Problem Formulation

  • 기본적인 정보 검색 시스템의 목표
    • 사용자 쿼리(q)에 대해 관련 문서를 문서 집합(D)내에서 찾아내는 것 (Dq ⊂ D)
  • 쿼리 확장에서는 원래 쿼리(q)가 관련 컨텍스트를 더 잘 검색할 수 있도록 확장된 쿼리(q′)로 변환
  • 본 논문 저자들이 정의한 쿼리 확장 RL 방식 
    • State = q (원래 질문)
    • Action = q′ (확장된 질문)
    • Reward = 검색 성능 지표 (recall, NDCG, execution accuracy)

2.2 Reasoning-Enhanced Reinforcement Learning Framework for Information Retrieval

  • 다시 한 번 강조, DeepRetrieval은 지도 학습(정답 데이터 기반)이 아닌 모델이 스스로 시행착오를 통해 배우 강화 학습 방식
  • 따라서 핵심 아이디어는 실제 검색 성능을 보상 신호로 사용함으로써, 모델이 시행착오를 통해 효과적인 쿼리 작성 전략을 학습하게 하는 것
    • “좋은 검색 결과가 나오면 보상을 준다”
  • DeepRetrieval은 특정 RL 알고리즘에 의존하지 않고, 다양한 방식으로 유연하게 구현 가능함 (PPO, GRPO etc..)
  • DeepRetrieval을 LLM 기반 강화 학습을 위한 효율적인 인프라인 HybridFlow 프레임워크를 사용하여 구현함
  • 논문 저자들은 DeepSeek-R1에서 영감을 받아, 모델은 먼저 <think> 섹션에서 추론 과정을 생성하고, 그 뒤 <answer> 섹션에서 최종 확장 쿼리를 생성하도록 훈련시킴
    • 한 번에 쿼리를 생성하는 것이 아니라, 여러 전략을 먼저 모델 스스로 생각해 본 후에 결론을 내리는 구조이기 때문에 더 다양하고 창의적인 쿼리 생성을 유도함
  • 학습된 모델의 출력 구조는 특정 검색 도메인 혹은 테스크에 따라서 출력됨
    • 문헌 검색 → AND, OR, 괄호 등의 논리 쿼리
    • 밀집 검색 → 자연어 기반 쿼리 확장
    • DB 검색 → 정확한 SQL 문장

2.2.1 Reward Function Design

강화 학습(RL)

간단하게 강화 학습 개념을 훑고 넘아가겠습니다. 가장 기본적인 강화 학습의 구조는 아래 사진과 같습니다. 강화 학습은 준비된 데이터를 기반으로 학습하는 것이 아니라 에이전트(Agent)가 환경(Environment)과 상호작용하며, 시행착오를 통해 최적의 행동 방식을 학습하는 방법입니다. 좀더 구체적으로, 에이전트는 각 상태(State)에서 행동(Action)을 선택하고, 그 결과로 보상(Reward)을 받으며, 이 보상을 최대화하는 방향으로 학습을 진행합니다. 따라서 강화 학습의 궁극적인 목표는 에이전트가 환경과의 상호작용을 통해 누적 보상(총 보상)을 최대화하는 최적의 정책을 학습하는 것입니다.

간단히 용어를 정리하면 아래와 같습니다.

- 에이전트(Agent): 학습의 주체로, 환경과 상호작용하며 행동을 결정
- 환경(Environment): 에이전트가 상호작용하는 세계로, 에이전트의 행동에 따라 상태와 보상을 제공
- 상태(State): 현재 환경의 상황을 나타내는 정보
- 행동(Action): 에이전트가 선택할 수 있는 행동의 집합
- 보상(Reward): 에이전트가 특정 행동을 했을 때 환경으로부터 받는 평가 지표로, 학습의 목표는 이 보상의 합(누적 보상)을 최대화하는 것
- 정책(Policy): 에이전트가 각 상태에서 어떤 행동을 선택할지 결정하는 전략 또는 규칙
- 가치 함수(Value Function): 특정 상태나 행동이 얼마나 좋은지(미래에 받을 보상의 기댓값이 얼마나 큰지) 평가하는 함수
- 보상함수(Reward Function): 에이전트가 특정 상태에서 특정 행동을 했을 때 얼마만큼의 보상을 받을지 수학적으로 정의하는 함수
  • 보상 함수는 DeepRetrieval이 효과적인 정보 검색과 일치하도록 조정하는 데 핵심적인 역할

본 논문의 보상 구조 = 검색 성능 보상 + 형식 적합성 보상

  • q : 원래의 사용자 쿼리
  • q′ : 모델이 생성한 확장 쿼리
  • 𝑟(𝑞, 𝑞′) : 총 보상 값
  • 𝑟_retrieval(𝑞, 𝑞′) : 검색 성능 지표에 기반한 보상 (예: Recall@K, NDCG 등)
  • 𝑟_format(𝑞′) : 쿼리의 형식이 정해진 규칙에 맞는지 평가한 보상
  • 도메인에 따라 다양한 보상 지표 사용 : 
    • 문헌 검색, QA → Recall@K
    • IR 벤치마크 → NDCG@K
    • SQL → 정확히 실행되었는가
  • 검색 보상 𝑟_retrieval은 과제별 목표에 따라 다음과 같이 계산 :

  • 𝑅{𝑞′}: 확장 쿼리 q′로 검색된 문서 집합
  • 𝐼𝑞: q에 대한 ground-truth 정보 (예: 정답 문서, SQL 정답 결과 등)
  • Metric(·,·): 해당 task의 평가 지표 함수 (e.g., recall, NDCG, acc 등)
    • 즉, q′를 사용해 검색한 결과가 ground-truth와 얼마나 일치하는지를 평가하여 보상을 부여
  • 이러한 보상 구조는 문서 정답이 명시된 문헌 검색 및 고전 IR, 정답 span이 있는 QA, 실행 정확도로 평가하는 SQL 등 다양한 상황에 유연하게 적용될 수 있다고 저자들은 강조
  • 다음으로 저자들은 PPO 알고리즘을 이용해 DeepRetrieval을 최적화함(PPO 알고리즘 논문:https://arxiv.org/abs/1707.06347)
PPO 알고리즘 을 이용해 DeepRetrieval을 최적화했다?

🫠 먼저 수학적인 디테일보다는 전체적인 흐름을 먼저 이해해 보겠습니다.

DeepRetrieval은 강화학습을 통해 LLM이 더 나은 질문을 생성하도록 학습시키는 프레임워크입니다. 이때 등장하는 핵심 개념이 바로 정책(policy)입니다. ‘정책’이란 쉽게 말해, 에이전트(여기서는 LLM)가 어떤 상황(입력 쿼리)에서 어떤 행동(보강된 질문)을 선택할지를 결정하는 전략입니다. 강화학습의 흐름은 다음과 같습니다. 

1. LLM은 사용자의 원래 질문을 입력으로 받아, 새로운 보강 질문(예: 더 구체화된 쿼리)을 생성합니다.

2. 이 보강된 질문을 실제 검색 시스템에 넣어 문서를 검색합니다.

3. 검색 결과가 실제 정답과 얼마나 잘 맞는지를 평가하여 보상을 계산합니다.

4. 그 보상을 바탕으로 LLM의 질문 생성 방식을 업데이트합니다.(이게 바로 정책 업데이트)

❓그렇다면 왜 PPO를 사용했을까요?

일반적인 강화학습에서는 보상을 기준으로 정책을 바꾸는데, 너무 급격하게 바뀌면 오히려 불안정한 학습이 될 수 있습니다.

예를 들어, 어떤 행동이 한 번 큰 보상을 줬다고 해서 갑자기 그 행동만 반복하게 되면 오히려 전체 성능이 떨어질 수 있습니다.

그래서 DeepRetrieval은 PPO(Proximal Policy Optimization) 라는 알고리즘을 사용합니다. PPO는 다음과 같은 특징을 가집니다.
1. 보상이 높으면 그 행동을 더 자주 선택하도록 학습하지만
2. 이전 정책과 너무 크게 벗어나지 않도록 제한(KL 페널티)을 둡니다. 즉, 성능을 높이는 방향으로 정책을 바꾸되, 신중하게 조금씩 바꾸자는 원칙을 따릅니다.

🧮논문에 적혀있는 수식을 살펴보겠습니다.

새로운 정책의 확률 분포(π^)를 위 식을 이용해서 구하게 됩니다. 차근차근 식을 살펴보겠습니다.

기댓값은 말 그대로 “여러 상황에 대한 평균적인 성능”을 뜻합니다.

  • 학습 데이터 분포(p)에서 다양한 쿼리(q)를 뽑고
  • 각 쿼리 q에 대해 모델 정책(π)가 새로운 질문(q’)를 생성하고
  • 그 결과에 대해 보상과 KL 패널티를 계산합니다.

    즉, 수많은 질문 상황에서 평균적으로 얼마나 잘 작동하는지를 보는 것입니다. 한두 개의 예시가 아닌, 다양한 경우에서 모델의 전반적인 성능을 측정하려는 목적입니다.

 다음으로 argmax(π) 수식의 값을 가장 크게 만드는 정책(π)는 무엇인가?“를 찾는다는 의미입니다.

  • 모델이 어떤 방식으로 질문을 생성할지 결정하는 정책(π)는 계속 바뀌며 학습됩니다.
  • 이 수식은, 보상은 높고 KL 패널티는 적은, 가장 균형 잡힌 정책을 선택하라는 의미입니다.

마지막으로 수식의 값이 어떻게 나오는지 살펴보겠습니다. 단순히 보상을 최대화하는 것에만 집중하지 않고, 이를 방지하기 위해 PPO기준 정책(π_ref)현재 정책(π) 사이의 차이(정책이 기존대비 얼마나 바뀌었는지)를 KL Divergence 형태로 측정하고, 그 차이에 패널티를 부여합니다. 이 패널티 항의 강도는 하이퍼파라미터 B를 통해 조절됩니다.

결국 위 수식을 통해 저자는 다양한 쿼리 상황에서 평균적인 보상이 가장 높고, 기존 정책에서 크게 벗어나지 않는 새로운 질문 생성 전략(π^)을 찾는 것을 목표로 최적화를 수행한 것으로 보입니다....(강화학습 이해가 시급....)

  • 따라서 PPO 방식의 강화학습을 통해 참조 쿼리나 정답 쿼리와의 거리를 줄이는 대신, 직접적으로 검색 성능 지표를 최적화함으로써, DeepRetrieval은 겉모양이 비슷한 쿼리를 만드는 게 아니라, 검색 성능을 직접적으로 개선하는 쪽으로 학습
  • 추가적으로 강화학습의 장점은 쿼리 공간의 탐색을 수행하기 때문에 사람이 생각하지 못할 수도 있는 보강 패턴을 발견함
    • 기존 사람이 설계한 쿼리 방식이 아닌, 예상치 못한 질문 생성 전략도 학습할 수 있음
  • 또한 보상 함수를 간단히 바꾸는 것만으로도, DeepRetrieval은 쿼리 생성을 위한 지도 학습 데이터 없이도 다양한 검색 시나리오에 적응할 수 있음
    • 보상 함수만 바꾸면, 예컨대 문헌 검색 / SQL 질의 / QA 등 다양한 분야로 쉽게 전환 가능

📍3. Experiments

  • DeepRetrieval은 총 5개의 Task에서 평가를 진행함

3.1 Literature Search and Evidence-Seeking Retrieval

  • Literature Search
    • 주어진 질문에 대해 관련 문서를 얼마나 정확히 검색하는가 
    • Recall@3K 평가 메트릭스 사용
    • (reasoning chain and query generation lengths에 대해서 뒤에서 더 정확히 살펴보겠지만) Table 1에서 알 수 있듯이 reasoning의 존재 유무에 따라 성능 차이가 심함. 이는 Literature Search와 같은 유형의 검색 task에서는 reasoning이 중요. 또한 reasoning 과정을 거치지 않으면, 모델은 최적의 해답을 찾기 위해 쿼리를 무분별하게 확장하는 경향이 있으며, 결국 그 결과는 최적화하기 어려워짐
  • Evidence-Seeking Retrieval
    • 주어진 쿼리에 대해, 정답과 일치하는 정답 구간(answer span)을 포함한 문서를 정확히 검색하는가
    • H@N (Hits@N) 평가 메트릭스 사용 : 정답 구간을 포함한 문서가 상위 N개의 검색 결과 안에 최소 하나라도 포함되어 있는지

3.2 Classic Sparse & Dense Text Retrieval

  • Classic Sparse Text Retrieval
    • BM25를 기본 retriever로 사용
  • Classic Dense Text Retrieval
    • SciFact task에서는 E5-Large를 기본으로
    • HotpotQA, FEVER, NFCorpus, MS-Beir에서는 BGE-base-en-v1.5를 기본으로
    • MS MARCO domain-specific에서는 vanilla Contriever를 기본으로 사용
  • 이러한 결과는 강화학습을 통해 학습된 DeepRetrieval이 GPT-4o, Claude-3.5와 같은 상용 고성능 LLM들과 경쟁할 수 있을 뿐만 아니라, 고전적인 텍스트 검색 벤치마크에서 종종 이들을 크게 능가한다는 점을 보여줌
  • 추가적으로 희소 검색기와 밀집 검색기를 모두 사용할 때 일관된 성능 향상이 나타난다는 점은, DeepRetrieval 프레임워크가 특정 검색기 유형에 의존하지 않는다는 것을 보여줌
    • 강화학습의 보상은 “검색 성능”이므로, 모델은 자연스럽게 해당 검색기(BM25든 E5든)의 취향에 맞는 쿼리를 생성하게 된다는 뜻
  • 또한 Table2를 자세히 보면 HotpotQA, FEVER, MS MARCO (MS-Beir)와 같은 데이터셋에서 dense retriever인 BGE-base-en-v1.5가 NDCG@10 점수에서 매우 우수한 성능을 자주 기록한다는 점을 관찰할 수 있음. 이런 경우에는 DeepRetrieval을 적용해도 성능 향상폭이 상대적으로 작음
    • 저자들이 왜 그럴까? 하고 살펴보니 BGE-base-en-v1.5는 HotpotQA, FEVER, MS MARCO의 학습 데이터를 기반으로 사전학습되었다는 점을 확인할 수 있었음
    • 이러한 사전 노출은 해당 데이터셋에 대해 이 검색기가 이미 거의 최적에 가까운 성능을 달성했음을 의미하며, 따라서 쿼리 재작성을 통한 개선 여지가 제한적이라는 것을 보여줌
    • 이러한 관찰은 또한, 많은 다른 쿼리 확장 모델들이 BGE와 함께 사용할 경우 오히려 성능이 떨어짐. 그 이유는 모델들이 생성한 쿼리는 종종 BGE가 사전학습 중에 접했던 쿼리 패턴과 다르게 형성되며, 그 결과, 생성된 쿼리가 더 많은 정보를 담고 있다고 하더라도 검색기(BGE)의 선호와 일치하지 않기 때문
  • 이 현상을 더 조사하기 위해, 저자들은 MS MARCO의 세 가지 서브셋에서 추가 실험을 수행. 여기서는 MS MARCO 데이터에 사전학습되지 않은 Contriever라는 dense retriever를 사용함
    • 단독으로 사용할 경우, Contriever는 MS-H, MS-S에서 NDCG@10 점수가 약 30% 수준으로 낮은 성능을 보였지만, DeepRetrieval을 적용한 이후에는 성능이 크게 향상되었으며, 특히 MS-S(D)에서는 약 5포인트가량의 향상되었음
    • 이 결과는 DeepRetrieval이 특정 데이터셋의 쿼리-문서 분포에 적응되지 않은 검색기에 특히 효과적이라는 점을 시사함
    • 또한, MS-H 데이터셋에서는 MS-S나 MS-T에서만큼 유의미한 향상이 관찰되지 않음. 저자들의 생각은
      • 쿼리 재작성 모델(Qwen-2.5-3B-Instruct)이 해당 도메인에 대한 지식을 부족하게 가지고 있거나,
      • Contriever가 이미 해당 도메인에서 성능 상한선에 도달했기 때문일 수 있다고 추정
      • 이러한 관찰은 DeepRetrieval 프레임워크에서, 쿼리 생성 모델과 검색기의 도메인 적응의 중요성을 보여줌

3.3 SQL Database Search

  • SQL 데이터베이스 검색도 정보 검색의 한 형태이기 때문에 이 접근법을 text-to-SQL 방식으로 확장하여 테스트 진행
  • Table3을 보면, SFT 모델들은 고품질의 사람 작성 SQL 예시와 GPT-4o에서 추출한 추론 과정을 통해 학습되었지만, DeepRetrieval처럼 RL만으로 학습된 모델들이 이러한 SFT 모델보다 더 나은 성능을 내는 경우가 있음
    • 이는 곧, 정답 SQL을 기반으로 SFT를 하는 것보다, 실행 정확도를 직접적인 보상으로 사용하는 RL 방식이 SQL 검색 작업에 더 효과적이라는 것을 보여줌
    • 다시 말해, 모델이 단순히 일부 비최적의 정답 예시를 “암기”하기보다, 탐색을 통해 더 일반화된 해결책을 찾을 수 있도록 학습시키는 것이 성능 향상에 도움이 됨

📍 4. Discussions & Takeaways

4.1 Knowledge Injection Matters and DeepRetrieval Can Adaptively Learn It

  • Evidence-seeking retrieval 과제에서, 저자들은 LLM이 사전 학습된 지식을 바탕으로 정답과 관련된 정보를 쿼리에 무의식적으로 포함시킬 수 있다는 점(Knowledge Injection)을 발견함
  • 모델이 “정답을 미리 알고” 쿼리를 작성한다면 검색 성능이 당연히 올라가지만 현실에서는 정답을 모른다는 조건에서 검색 시스템이 동작해야 하기 때문에, 지나치게 정답 정보를 포함하는 건 “공정한 테스트”가 아닐 수 있기 때문에 저자들은 실제 실험에서 다음과 같은 분석을 진행함
    • 쿼리 속에서 지식 주입을 제거했을 때 성능이 얼마나 떨어지느냐?
    • 데이터셋마다 이 현상이 어떻게 다르게 나타나느냐?
  • NQ (Natural Questions)
    • 지식 주입도 일부 있었고 (22.1%)
    • 쿼리를 표준화하거나 재구성하는 과정(예: 문장을 더 깔끔하게 정제)도 성능에 기여함
    • 그래서 주입된 정보를 제거해도 성능이 크게 떨어지지 않음
    • 즉, 정답을 몰라도 잘 검색함
  • TriviaQA
    • 성능 향상 대부분이 정답 정보의 주입 덕분
    • 지식 주입 비율도 아주 높아요 (41.5%)
    • 주입된 정보를 제거하자마자 성능이 크게 감소함
  • SQuAD
    • GPT-4o나 Claude가 쿼리 속에 꽤 많은 정답 힌트를 넣었지만 (주입 비율 높음)
    • 막상 성능 향상에는 별 도움이 안 됨
    • 이유는 이 데이터셋 자체가 패턴이 너무 뚜렷해서, 정답을 주입하지 않아도 쿼리만 잘 만들면 찾을 수 있음
    • 즉, 사전 지식보다는 ‘문제 유형에 대한 이해’가 더 중요한 데이터셋
  • 결론적으로, DeepRetrieval은 무조건 많은 지식을 주입하거나, 무조건 배제하는 게 아니라 데이터셋의 특성을 파악하고, 그에 맞는 “쿼리 생성 전략”을 스스로 학습하는 능력을 보여줌

4.2 Direct Optimization vs Mimicry: Why RL Surpasses SFT in Search Tasks?

  • 저자들은 여러 검색 시나리오에서 강화학습이 SFT보다 뛰어나다는 실험 결과를 제시함
  • SQL 데이터베이스 검색(Table 3)에서는 추론 체인이 있든 없든 관계없이 처음부터 RL로 학습한 모델이 항상 SFT보다 더 좋은 성능을 보였음
  • 특히 문헌 검색(literature search, Table 1)에서는 GPT-4o 기반으로 생성한 고비용 정답 쿼리를 사용해 미세조정된 SFT 모델들(예: LEADS)보다도 RL로 학습한 DeepRetrieval이 훨씬 우수한 성능을 보여줌
  • RL 기반 접근 방식은 현실의 검색 엔진에 특히 효과적인 이유는 정확한 Boolean 식 구성, 적절한 연산자(operator) 사용, 용어 묶기(term grouping) 등, 사람이 직관적으로 만들기 어려운 쿼리 구조를 검색 시스템에 최적화된 방식으로 스스로 발견할 수 있기 때문이라고 함
  • SFT는 훈련 데이터의 패턴을 암기하는 경향이 있지만, RL은 보상을 기준으로 전략을 일반화해 학습한다는 점 입증

4.3 Why Reasoning Process Can Particularly Improve DeepRetrieval in RL Training?

  • DeepRetrieval을 강화학습으로 학습할 때, 최종 응답을 생성하기 전에 사고 과정을 거치도록 요구하면 검색 성능이 눈에 띄게 향상됨. 그 이유는?
    • 사고 과정이 모델의 탐색 범위를 넓히고 쿼리를 더 다양하게 만들기 때문
    • “생각”을 하게 만들면 보다 풍부하고 맥락적인 정보가 포함된 쿼리가 생성
    • 사용자 쿼리를 받아서 여러 의미적 해석을 시도하고, 이를 바탕으로 다양한 쿼리 후보들을 생성
  • 추가적으로 시간에 따라 reasoning chain의 길이(=사고 과정의 길이)가 점점 짧아진다는 현상도 관찰됨
    • 이는 점점 사고 과정이 길어지는 DeepSeek-R1의 "Aha moment"와는 다름  
    • 즉, 수학 문제나 코딩 문제처럼 명확한 다단계 사고가 필수인 과제와는 대조적으로 검색 과제에서는 사고 과정이 검색 전략 탐색을 위한 보조 도구로 작용한다는 것을 알 수 있음
    • 다시 말해, 초기에는 사고 과정이 길면서 다양한 쿼리 전략을 실험하게 해주고, 어느 시점에 성능이 높은 쿼리 형태를 발견한 이후에는 사고 과정이 짧아져도 성능이 유지되는 것

📍 5. Conclusion

  • DeepRetrieval이라는 강화학습 기반의 쿼리 생성 방법을 제안함
  • 정보 검색 분야에서 RL이 더 효과적인 학습 패러다임임을 보여주며, 사용자가 정보에 접근하는 방식을 근본적으로 변화시킬 수 있는 가능성을 시사함

📚 6. Appendix

논문 내용 자체의 리뷰는 위에서 마무리되었지만 부록 부분을 살펴보며 추가적으로 알면 좋은 내용들을 선별하여 정리해 보겠습니다.

6.1 Difference between DeepRetrieval and Previous Work

  • 1) No Supervision for Query Generation 
    • 기존 연구들은 대부분 다음과 같은 방식으로 SFT에 의존함
      • 사전 학습 단계(warm-up)에서 생성된 쿼리 데이터 사용 
      • 주요 최적화 전략 자체로 SFT를 활용
      • few-shot 학습에 의존 
  • 2) RL with Trial & Error
    • 기존의 RL 기반 방법들은 DPO 방식과 유사하게, 정적 preference 데이터셋을 기준으로 미세조정을 수행
    • 하지만 DeepRetrieval은 PPO를 사용하 동적인 시행착오(trial & error) 방식으로 학습
  • 3) RL with Robust Reward Function
    • DeepRetrieval은 다음과 같은 다양한 검색 지표들을 직접 보상 함수로 변환
      • 정보 검색: Recall, NDCG
      • 증거 기반 검색: Answer span 매칭
      • SQL 검색: 실행 정확도 (execution accuracy)

6.2 Additional Details of PPO Algorithms

전체 목적 수식 = 이런 정책을 목표로 한다

 

위에서 전체 목적 수식에 대해 살펴보았다면 이번에는 구체적으로 PPO 알고리즘 수식을 살펴보겠습니다.

PPO 알고리즘 = 전체 목적을 안정적으로 학습하기 위해 실제로 이렇게 업데이트하자

  • 총 세 가지 요소로 구성됨

1) 정책의 안정적인 업데이트를 위한 핵심 손실 함수

  • rt(θ) : 현재 정책이 이전 정책과 얼마나 다른지 나타내는 비율
  • At(Advantage)보강 쿼리 q_t’가 얼마나 예상보다 더 잘 작동했는지 평가한 값 (예: Recall, NDCG, Execution Accuracy 기반으로 계산) / GAE(bias와 variance 간의 균형을 잘 맞추는 방법으로 PPO와 자주 함께 쓰임)를 사용하여 계산
  • clip() : 정책 변화가 너무 크지 않도록 업데이트 폭을 제한하는 장치[1ϵ, 1 + ϵ]

2) Value Function 손실

  • 보상의 기댓값을 예측하는 모델을 학습
    • 이 항은 보상 예측값과 실제 받은 보상 간의 차이를 줄이도록 학습
    • 목적: 정책 학습에서 보상의 분산(variance)을 줄이고 안정화하기 위해 사용

3) 정책의 엔트로피 보너스

  • 엔트로피는 정책이 얼마나 다양한 행동을 시도하는지를 측정하는 지표이므로, 이 항을 통해 모델이 너무 일찍 수렴하는 걸 막고, 다양한 쿼리 보강 전략을 탐색하도록 유도
  • 전체 학습 흐름
    • 원래 쿼리 q_t에 대해 보강 쿼리 q_t’를 생성
    • q_t’로 검색을 수행 → 보상 획득 (Recall, NDCG 등)
    • 보상으로부터 advantage A_t 계산
    • 위에서 살펴본 세 항을 합쳐 L^{PPO} 최적화 → 정책 업데이트 진행
  • 실험 설정
    • Actor : 실제 쿼리를 생성하는 정책 모델 / Qwen2.5-3B-Instruct / 1e-6 학습률
    • Critic : 해당 쿼리의 가치를 추정하는 value function / Qwen2.5-3B-Instruct / 1e-5 학습률(더 빠른 가치 예측을 위해)
    • KL 계수는 0.001 (너무 작으면 모델이 자유롭게 탐색하지만 불안정할 수 있고 너무 크면 기존 정책에서 거의 벗어나지 못함)
    • 생성 temperature는 0.6
    • 전체 배치 크기는 64이며, PPO의 mini-batch 크기는 16
    • 문서 검색에서 보상을 NDCG@k 기준으로 계산할 때, 평가 단계보다 더 큰 k = 3000을 선택하여, 희소하거나 0이 되는 보상 위험을 줄임
    • 문헌 검색에서는 PubMed 데이터셋에서 LLaMA-3.2-3B-Instruct를 base 모델로 사용
    • SQL 검색 실험에서는 Qwen2.5-Coder 3B 및 7B 모델도 테스트하여, 코딩 능력 차이가 성능에 어떤 영향을 미치는지 확인
    • 최대 응답 길이(생성 토큰 수)는 다음과 같이 설정:
      • 문헌 검색: 500
      • 증거 기반 검색: 350
      • 일반 정보 검색, SQL 생성: 각 512

6.3 Prompts

6.3.1 Literature Search

6.3.2 Evidence-Seeking 

6.3.3 Sparse 

6.3.4 Dense

6.3.5 SQL

6.3.6 Knowledge Injection

💬 7. Takeaway

아직 많은 LLM 관련 논문들을 읽진 못했지만 요즘에는 확실히 강화학습이 대세인 것 같다... 성능이나 비용 측면에서도 지도학습보다는 우위에 있지만 내가 이해하기에는 넘 이해하기 어렵다... 수학 그자체다...그래도 '이렇게도 튜닝시킬 수 있구나'라고 생각하며 읽으니 재미있고 빨리 현재 진행 중인 프로젝트에도 적용시켜야겠다는 생각이 들어서 부록 부분까지 읽어보았다. 아 그리고 RAG 프로젝트를 진행할 때는 보통 성능이 좋다고 알려진 BGE나 E5와 같은 retriever를 별다른 고민 없이 사용하는 경우가 많았었다. 그런데 이번 논문을 통해, 특정 retriever가 어떤 데이터로 학습되었는지, 그리고 어떤 유형의 쿼리 형태에 최적화되어 있는지를 고려하는 것이 성능에 큰 영향을 줄 수 있다는 점을 새롭게 깨달았다. 특히, 사전 학습된 retriever가 학습 당시 접한 쿼리-문서 분포에 익숙하기 때문에, 이에 맞지 않는 쿼리가 입력되면 오히려 성능이 저하될 수 있다는 점은 미처 생각하지 못했던 부분이었다. 그럼 이제 PPO 공부하러...🫡