논문 리뷰
논문 리뷰: Search-R1 - Training LLMs to Reason and Leverage Search Engines with Reinforcement Learning
Search-R1: Training LLMs to Reason and Leverage Search Engines with Reinforcement Learning 리뷰
한 줄 요약: LLM이 강화학습(RL)을 통해 스스로 검색 엔진을 호출하고, 검색 결과를 활용하여 단계적 추론을 수행하도록 훈련하는 프레임워크 Search-R1을 제안하며, 기존 RAG 대비 평균 20~24%의 성능 향상을 달성한다.
논문 정보
| 항목 | 내용 |
|---|---|
| 제목 | Search-R1: Training LLMs to Reason and Leverage Search Engines with Reinforcement Learning |
| 저자 | Bowen Jin, Hansi Zeng, Zhenrui Yue, Jinsung Yoon, Sercan O. Arik, Dong Wang, Hamed Zamani, Jiawei Han |
| 소속 | UIUC, UMass Amherst, Google Cloud AI Research |
| 발표 | arXiv 2025 (2503.09516) |
| 코드 | GitHub |
1. 들어가며
DeepSeek-R1이 강화학습만으로 LLM의 추론 능력을 비약적으로 끌어올릴 수 있음을 보여준 이후, "RL로 할 수 있는 것이 추론뿐일까?"라는 질문이 자연스럽게 떠오른다. LLM이 아무리 뛰어나도 최신 정보나 도메인 특화 지식이 필요한 상황에서는 외부 검색이 불가피한데, 기존의 RAG(Retrieval-Augmented Generation) 방식은 입력 쿼리를 그대로 검색에 넘기거나, 프롬프팅으로 다중 검색을 유도하는 수준에 머물러 있었다. 검색을 "언제, 어떤 쿼리로, 몇 번" 할지를 모델이 스스로 최적화하도록 학습시킬 수는 없을까?
Search-R1은 바로 이 지점을 파고든다. DeepSeek-R1 Zero 스타일의 RL 프레임워크를 확장하여, LLM이 추론(reasoning) 과정 중에 자율적으로 검색 쿼리를 생성하고 검색 결과를 활용하는 전체 파이프라인을 강화학습으로 최적화한다. 솔직히 아이디어 자체는 직관적이지만, 이를 안정적으로 학습시키기 위한 기술적 설계와 체계적인 실험이 이 논문의 핵심 기여다.
2. 기존 연구의 한계
LLM과 검색 엔진의 통합에는 크게 두 가지 접근이 존재한다.
RAG 기반 방식: Lewis et al. (2020)으로 대표되는 RAG는 입력 쿼리를 기반으로 문서를 검색한 뒤, 검색 결과를 LLM 컨텍스트에 concat하여 답을 생성한다. 단순하고 효과적이지만, 검색 쿼리가 원래 질문 그대로이기 때문에 복잡한 멀티홉(multi-hop) 질문에서는 한계가 명확하다. 한 번의 검색으로 충분하지 않은 경우가 빈번하다.
도구 사용(Tool-use) 기반 방식: IRCoT (Trivedi et al., 2022)나 ReAct (Yao et al., 2023) 같은 방법은 프롬프팅을 통해 LLM이 반복적으로 검색을 수행하도록 유도한다. 하지만 프롬프팅 기반은 일반화 능력이 떨어지고, Toolformer (Schick et al., 2023) 같은 SFT 기반 방식은 대규모 고품질 trajectory 데이터가 필요하다는 문제가 있다. 검색 연산 자체가 미분 불가능(non-differentiable)하여 end-to-end 그래디언트 최적화가 불가능하다는 근본적 한계도 존재한다.
개인적으로는 Search-o1 (Li et al., 2025)과의 비교가 가장 흥미로웠는데, Search-o1은 프롬프팅으로 추론 중 검색을 유도하지만 LLM 자체가 검색 엔진과의 상호작용을 "학습"하지는 못한다. Search-R1은 이 격차를 RL로 메꾸려는 시도다.
3. 핵심 아이디어
Search-R1의 핵심은 세 가지로 요약된다.
-
검색 엔진을 환경(Environment)으로 모델링: RL의 rollout 과정에서 LLM 토큰 생성과 검색 엔진 호출이 인터리빙(interleaving)되도록 설계한다. PPO와 GRPO 양쪽 모두와 호환되며, 검색된 토큰에 대해 손실 마스킹(loss masking)을 적용하여 안정적인 학습을 보장한다.
-
멀티턴 검색과 추론의 인터리빙:
<search>,</search>토큰으로 검색을 트리거하고, 결과는<information>,</information>사이에 삽입된다. 추론 과정은<think>,</think>안에, 최종 답변은<answer>,</answer>안에 배치된다. 최대 액션 버짓(budget) 까지 반복 가능하다. -
단순한 결과 기반 보상(Outcome-based Reward): 복잡한 프로세스 보상 없이, 최종 답변의 정확성만으로 보상을 부여한다. 이것만으로도 모델이 효과적인 검색 전략을 학습한다는 점이 DeepSeek-R1 Zero의 발견과 일맥상통한다.
4. 제안 방법 (Method)
4.1 검색 엔진을 활용한 강화학습
Search-R1의 RL 목적함수는 다음과 같다:
여기서 는 정책(policy) LLM, 는 참조(reference) LLM, 는 보상 함수, 은 검색 엔진이다. 기존 RL 접근과의 핵심 차이는 , 즉 검색 결과가 인터리빙된 trajectory를 통해 학습한다는 점이다. 이를 로 표기하며, 는 인터리빙 연산을 의미한다.

Figure 1: PPO와 GRPO에서의 검색 엔진 통합 학습 구조. Rollout 과정에서 LLM이 검색 엔진과 다중 턴 상호작용을 수행한다. (원논문)
Figure 1에서 볼 수 있듯이, PPO의 경우 Policy LLM과 Search Engine이 함께 rollout을 수행하여 출력 를 생성하고, 이를 Value LLM, Reward Model, Reference LLM에 각각 입력하여 GAE(Generalized Advantage Estimation)를 계산한다. GRPO의 경우 그룹 크기 만큼 복수의 출력 를 샘플링한 뒤 그룹 내 상대적 보상을 기반으로 advantage를 추정한다.
검색 토큰 손실 마스킹 (Retrieved Token Loss Masking)
PPO와 GRPO 모두에서 토큰 수준 손실이 전체 rollout 시퀀스에 대해 계산되는데, Search-R1의 rollout에는 LLM이 생성한 토큰과 검색 엔진이 반환한 토큰이 섞여 있다. 검색된 토큰까지 최적화 대상에 포함하면 의도치 않은 학습 역학(unintended learning dynamics)이 발생할 수 있다. 이를 방지하기 위해 토큰 마스킹 연산 를 도입한다:
PPO with Search Engine
PPO 기반 Search-R1의 목적함수는 다음과 같다:
는 이전 정책 모델이며, 은 PPO의 클리핑 하이퍼파라미터다. advantage 는 GAE를 통해 계산되고, 학습된 가치 함수(value function) 에 기반한다.
GRPO with Search Engine
GRPO는 별도의 가치 함수 없이 그룹 내 상대적 보상을 baseline으로 활용한다. 각 입력 에 대해 개의 응답 를 샘플링한 뒤 다음을 최적화한다:
는 그룹 내 상대 보상 기반 advantage이며, KL 발산을 보상이 아닌 손실 함수에 직접 추가하여 정규화한다. 검색 토큰 마스킹은 KL 발산 계산에도 적용된다.
4.2 멀티턴 검색 엔진 호출을 통한 생성
LLM의 rollout 과정은 다음과 같이 진행된다 (Algorithm 1 참조):
- LLM이 토큰을 순차적으로 생성한다.
</search>토큰이 감지되면,<search>와</search>사이의 텍스트를 검색 쿼리로 추출하여 검색 엔진에 전달한다.- 검색 결과를
<information>...</information>형식으로 rollout 시퀀스에 추가한다. </answer>토큰이 감지되거나 최대 액션 수 에 도달할 때까지 반복한다.- 잘못된 형식의 액션이 생성되면 "My action is not correct. Let me rethink."이라는 메시지를 삽입하여 모델이 재시도하도록 유도한다.
4.3 학습 템플릿
Search-R1의 학습 템플릿은 최소한의 구조적 제약만 부여한다:
"Answer the given question. You must conduct reasoning inside
<think>and</think>first every time you get new information. After reasoning, if you find you lack some knowledge, you can call a search engine by<search>query</search>, and it will return the top searched results between<information>and</information>. You can search as many times as you want. If you find no further external knowledge needed, you can directly provide the answer inside<answer>and</answer>without detailed illustrations."
반성적 사고(reflective reasoning)나 특정 문제 해결 전략을 강제하지 않고, 모델이 RL 과정에서 자연스럽게 검색 전략을 발견하도록 유도한다는 점이 설계 철학의 핵심이다.
4.4 보상 모델
보상 함수는 최종 답변의 정확성만을 평가하는 단순한 규칙 기반(rule-based) 보상이다:
는 모델 응답 에서 추출된 최종 답변이고, 는 정답이다. DeepSeek-R1 (Guo et al., 2025)과 달리 별도의 포맷 보상(format reward)을 사용하지 않는데, 학습된 모델이 이미 양호한 구조적 형식을 보이기 때문이라고 한다. 아쉬운 점은 이 단순한 exact match 보상이 부분적으로 맞는 답변(예: "Houston" vs "Houston, Texas")에 대해 적절한 신호를 줄 수 있는지에 대한 분석이 부족하다는 것이다.
5. 실험 결과
5.1 실험 설정
데이터셋: 총 7개 QA 벤치마크를 사용한다.
- General QA: NQ, TriviaQA, PopQA
- Multi-Hop QA: HotpotQA, 2WikiMultiHopQA, Musique, Bamboogle
모델: Qwen2.5-3B, Qwen2.5-7B (각각 Base/Instruct 버전)
검색 인프라: 2018 Wikipedia dump + E5 retriever, 검색 문서 수 3개
학습 데이터: NQ + HotpotQA의 학습 세트를 합쳐서 사용 (이 두 데이터셋이 in-domain, 나머지 5개가 out-of-domain)
평가 지표: Exact Match (EM)
베이스라인: Direct Inference, CoT, RAG, IRCoT, Search-o1, SFT, R1 (검색 없는 RL), Rejection Sampling
5.2 Main Results
| Methods | NQ | TriviaQA | PopQA | HotpotQA | 2Wiki | Musique | Bamboogle | Avg. |
|---|---|---|---|---|---|---|---|---|
| Qwen2.5-7B-Base/Instruct | ||||||||
| Direct Inference | 0.134 | 0.408 | 0.140 | 0.183 | 0.250 | 0.031 | 0.120 | 0.181 |
| CoT | 0.048 | 0.185 | 0.054 | 0.092 | 0.111 | 0.022 | 0.232 | 0.106 |
| IRCoT | 0.224 | 0.478 | 0.301 | 0.133 | 0.149 | 0.072 | 0.224 | 0.239 |
| Search-o1 | 0.151 | 0.443 | 0.131 | 0.187 | 0.176 | 0.058 | 0.296 | 0.206 |
| RAG | 0.349 | 0.585 | 0.392 | 0.299 | 0.235 | 0.058 | 0.208 | 0.304 |
| SFT | 0.318 | 0.354 | 0.121 | 0.217 | 0.259 | 0.066 | 0.112 | 0.207 |
| R1-base | 0.297 | 0.539 | 0.202 | 0.242 | 0.273 | 0.083 | 0.296 | 0.276 |
| R1-instruct | 0.270 | 0.537 | 0.199 | 0.237 | 0.292 | 0.072 | 0.293 | 0.271 |
| Rejection Sampling | 0.360 | 0.592 | 0.380 | 0.331 | 0.296 | 0.123 | 0.355 | 0.348 |
| Search-R1-base | 0.480 | 0.638 | 0.457 | 0.433 | 0.382 | 0.196 | 0.432 | 0.431 |
| Search-R1-instruct | 0.393 | 0.610 | 0.397 | 0.370 | 0.414 | 0.146 | 0.368 | 0.385 |
| Qwen2.5-3B-Base/Instruct | ||||||||
| Direct Inference | 0.106 | 0.288 | 0.108 | 0.149 | 0.244 | 0.020 | 0.024 | 0.134 |
| CoT | 0.023 | 0.032 | 0.005 | 0.021 | 0.021 | 0.002 | 0.000 | 0.015 |
| IRCoT | 0.111 | 0.312 | 0.200 | 0.164 | 0.171 | 0.067 | 0.240 | 0.181 |
| Search-o1 | 0.238 | 0.472 | 0.262 | 0.221 | 0.218 | 0.054 | 0.320 | 0.255 |
| RAG | 0.348 | 0.544 | 0.387 | 0.255 | 0.226 | 0.047 | 0.080 | 0.270 |
| SFT | 0.249 | 0.292 | 0.104 | 0.186 | 0.248 | 0.044 | 0.112 | 0.176 |
| R1-base | 0.226 | 0.455 | 0.173 | 0.201 | 0.268 | 0.055 | 0.224 | 0.229 |
| R1-instruct | 0.210 | 0.449 | 0.171 | 0.208 | 0.275 | 0.060 | 0.192 | 0.224 |
| Rejection Sampling | 0.294 | 0.488 | 0.332 | 0.240 | 0.233 | 0.059 | 0.210 | 0.265 |
| Search-R1-base | 0.406 | 0.587 | 0.435 | 0.284 | 0.273 | 0.049 | 0.088 | 0.303 |
| Search-R1-instruct | 0.341 | 0.545 | 0.378 | 0.324 | 0.319 | 0.103 | 0.264 | 0.325 |
Table 2 (원논문): 7개 데이터셋에 대한 메인 실험 결과. NQ와 HotpotQA는 in-domain(†), 나머지는 out-of-domain(⋆).
결과에서 주목할 부분이 여럿 있다.
첫째, Search-R1은 모든 베이스라인을 일관되게 능가한다. 7B 모델 기준 RAG 대비 평균 42%의 상대적 성능 향상을 달성했고, 이는 in-domain과 out-of-domain 모두에서 유지된다. 단 2개 데이터셋(NQ, HotpotQA)으로 학습했을 뿐인데 TriviaQA, PopQA, Bamboogle 등 out-of-domain에서도 큰 폭의 개선을 보인다는 것은 RL 학습이 일반화 가능한 검색 전략을 학습시킨다는 증거다.
둘째, 검색 없는 RL(R1)보다 Search-R1이 확실히 우수하다. R1-base가 0.276인 반면 Search-R1-base는 0.431로, 외부 지식 접근이 추론 능력 향상에 결정적 역할을 한다.
셋째, 7B에서 base 모델이 instruct 모델보다 오히려 높은 성능을 보이는 경우가 많다. 이는 instruct 튜닝에서 형성된 패턴이 RL 학습에서 오히려 방해가 될 수 있음을 시사한다.
넷째, 3B에서는 일부 데이터셋(Musique, Bamboogle)에서 Search-R1의 성능이 RAG보다 낮거나 비슷한 수준에 그친다. 모델 크기가 작을수록 검색 결과를 효과적으로 활용하는 능력이 부족해지는 것으로 보인다.
5.3 PPO vs. GRPO 비교
| Method | NQ | TriviaQA | PopQA | HotpotQA | 2Wiki | Musique | Bamboogle | Avg. |
|---|---|---|---|---|---|---|---|---|
| Qwen2.5-7B | ||||||||
| Search-R1-base (GRPO) | 0.395 | 0.560 | 0.388 | 0.326 | 0.297 | 0.125 | 0.360 | 0.350 |
| Search-R1-instruct (GRPO) | 0.429 | 0.623 | 0.427 | 0.386 | 0.346 | 0.162 | 0.400 | 0.396 |
| Search-R1-base (PPO) | 0.480 | 0.638 | 0.457 | 0.433 | 0.382 | 0.196 | 0.432 | 0.431 |
| Search-R1-instruct (PPO) | 0.393 | 0.610 | 0.397 | 0.370 | 0.414 | 0.146 | 0.368 | 0.385 |
| Qwen2.5-3B | ||||||||
| Search-R1-base (GRPO) | 0.421 | 0.583 | 0.413 | 0.297 | 0.274 | 0.066 | 0.128 | 0.312 |
| Search-R1-instruct (GRPO) | 0.397 | 0.565 | 0.391 | 0.331 | 0.310 | 0.124 | 0.232 | 0.336 |
| Search-R1-base (PPO) | 0.406 | 0.587 | 0.435 | 0.284 | 0.273 | 0.049 | 0.088 | 0.303 |
| Search-R1-instruct (PPO) | 0.341 | 0.545 | 0.378 | 0.324 | 0.319 | 0.103 | 0.264 | 0.325 |
Table 3 (원논문): PPO와 GRPO를 사용한 Search-R1의 성능 비교.

Figure 2: (a) PPO vs. GRPO 학습 곡선, (b) Base vs. Instruct 모델, (c) 응답 길이 변화, (d) 유효 검색 횟수 변화. (원논문)
Figure 2(a)에서 확인할 수 있듯이, GRPO는 PPO보다 빠르게 수렴한다. PPO의 critic 모델이 warm-up 단계를 거쳐야 하기 때문이다. 하지만 GRPO는 학습 후반에 보상이 붕괴(reward collapse)하는 불안정성을 보이는 반면, PPO는 끝까지 안정적으로 유지된다. 7B-base에서 PPO가 0.431, GRPO가 0.350으로 상당한 차이를 보이는데, 이는 PPO의 안정성이 최종 성능에도 반영됨을 의미한다.
재미있는 점은 3B에서는 GRPO가 PPO보다 오히려 평균 성능이 높다는 것이다(0.336 vs 0.325). 작은 모델에서는 GRPO의 빠른 수렴이 장점으로 작용하는 듯하다.
5.4 Base vs. Instruct 모델 분석
Figure 2(b)에서 instruction-tuned 모델은 초기 성능이 높고 수렴도 빠르지만, 최종적으로 base 모델과 비슷한 수준에 도달한다. RL이 instruction tuning의 격차를 메꿀 수 있다는 의미 있는 발견이다. 다만 7B에서 Search-R1-base (0.431)가 Search-R1-instruct (0.385)보다 높다는 점은 인상적인데, instruct 모델의 사전 학습된 응답 패턴이 RL의 탐색(exploration)을 오히려 제한할 가능성을 시사한다.
5.5 응답 길이와 유효 검색 횟수 분석
Figure 2(c)와 2(d)는 학습 과정에서의 응답 길이와 유효 검색 횟수 변화를 보여준다.
학습 초기(~100 스텝)에는 응답 길이가 급격히 감소한다. base 모델이 불필요한 필러(filler) 단어를 제거하고 태스크에 적응하는 단계다. 이후 응답 길이와 보상이 동시에 증가하는데, 모델이 검색 엔진을 적극적으로 호출하면서 검색 결과가 포함되기 때문이다. 유효 검색 횟수도 학습이 진행됨에 따라 꾸준히 증가한다. 모델이 "검색이 유용하다"는 것을 RL을 통해 스스로 깨달아 가는 과정이라 할 수 있다.
5.6 검색 토큰 손실 마스킹 (Retrieved Token Loss Masking) 실험

Figure 3: 검색 토큰 손실 마스킹 유무에 따른 학습 곡선. 마스킹을 적용한 경우가 더 안정적이고 높은 보상에 도달한다. (원논문)
| Method | NQ | TriviaQA | PopQA | HotpotQA | 2Wiki | Musique | Bamboogle | Avg. |
|---|---|---|---|---|---|---|---|---|
| Qwen2.5-7B-Base | ||||||||
| Search-R1 w. mask | 0.480 | 0.638 | 0.457 | 0.433 | 0.382 | 0.196 | 0.432 | 0.431 |
| Search-R1 w.o. mask | 0.388 | 0.567 | 0.391 | 0.325 | 0.321 | 0.108 | 0.304 | 0.343 |
| Qwen2.5-3B-Base | ||||||||
| Search-R1 w. mask | 0.406 | 0.587 | 0.435 | 0.284 | 0.273 | 0.049 | 0.088 | 0.303 |
| Search-R1 w.o. mask | 0.346 | 0.484 | 0.365 | 0.241 | 0.244 | 0.053 | 0.104 | 0.262 |
Table 6 (원논문): 검색 토큰 손실 마스킹 유무에 따른 성능 비교. (RL: PPO)
마스킹의 효과는 명확하다. 7B-base 기준 평균 0.431 vs 0.343으로 약 25%의 상대적 성능 차이가 발생한다. Figure 3에서도 마스킹 없이는 학습 초반에 보상이 빠르게 오르지만, 이후 불안정해지거나 성장이 정체된다. 검색 결과 토큰까지 정책 그래디언트로 최적화하면, 모델이 "검색 결과 자체를 생성하는 방향"으로 학습될 위험이 있기 때문이다. 마스킹은 이러한 부작용을 차단하는 간단하면서도 효과적인 설계다.
6. 추가 실험 및 부록 (Appendix)
6.1 14B 모델 결과
| Methods | NQ | TriviaQA | PopQA | HotpotQA | 2Wiki | Musique | Bamboogle | Avg. |
|---|---|---|---|---|---|---|---|---|
| Direct Inference | 0.198 | 0.531 | 0.184 | 0.217 | 0.253 | 0.045 | 0.160 | 0.227 |
| CoT | 0.190 | 0.495 | 0.148 | 0.269 | 0.297 | 0.054 | 0.432 | 0.269 |
| IRCoT | 0.114 | 0.375 | 0.166 | 0.230 | 0.248 | 0.102 | 0.312 | 0.221 |
| Search-o1 | 0.347 | 0.635 | 0.241 | 0.268 | 0.161 | 0.099 | 0.416 | 0.310 |
| RAG | 0.327 | 0.585 | 0.376 | 0.279 | 0.160 | 0.051 | 0.192 | 0.281 |
| SFT | 0.361 | 0.467 | 0.150 | 0.248 | 0.278 | 0.089 | 0.160 | 0.250 |
| R1-base | 0.369 | 0.626 | 0.270 | 0.306 | 0.326 | 0.117 | 0.488 | 0.357 |
| R1-instruct | 0.334 | 0.628 | 0.253 | 0.294 | 0.325 | 0.108 | 0.432 | 0.339 |
| Search-R1-base | 0.486 | 0.676 | 0.480 | 0.468 | 0.470 | 0.241 | 0.528 | 0.479 |
| Search-R1-instruct | 0.424 | 0.660 | 0.442 | 0.436 | 0.379 | 0.210 | 0.480 | 0.433 |
Table 5 (원논문): Qwen2.5-14B 모델에서의 실험 결과.
14B로 스케일을 키우면 Search-R1-base가 평균 0.479에 도달하여 7B(0.431)에서 상당한 개선을 보인다. 특히 멀티홉 QA에서의 성능 향상이 두드러지는데, Musique에서 0.196 → 0.241, 2Wiki에서 0.382 → 0.470으로 크게 올라간다. 모델이 커질수록 검색 결과를 추론에 통합하는 능력이 개선된다는 것을 잘 보여주는 결과다.
6.2 Base vs. Instruct LLM 상세 분석

Figure 4: Base와 Instruct 모델의 학습 곡선 비교. Instruct 모델이 빠르게 수렴하지만 최종 성능은 유사하다. (원논문)
3B와 7B 모두에서 instruct 모델의 초기 보상이 높고 수렴이 빠르다. 그러나 200 스텝 이후에는 base 모델이 거의 동일한 수준에 도달한다. 이 결과는 instruction tuning이 검색+추론 태스크에서 좋은 초기화(initialization)를 제공하지만, RL이 충분한 학습 시간을 거치면 그 차이를 극복할 수 있다는 메시지를 전달한다.
6.3 PPO vs. GRPO 상세 비교

Figure 5: 네 가지 모델 설정(3B-base, 3B-instruct, 7B-base, 7B-instruct)에서의 PPO와 GRPO 학습 역학 비교. (원논문)
Figure 5에서 네 가지 설정 모두에서 GRPO의 보상 붕괴 현상이 관찰된다. 특히 7B-instruct (d)에서 GRPO가 약 200 스텝 부근에서 급격히 하락하는 반면, PPO는 안정적으로 유지된다. 다만 3B-instruct (b)에서는 GRPO가 PPO보다 높은 보상을 유지하는 구간이 길어, 모델 크기와 초기화에 따라 최적 RL 알고리즘이 달라질 수 있음을 시사한다.
6.4 검색 문서 수(Top-k) 분석

Figure 6: 검색 문서 수(top-k)에 따른 Search-R1 학습 곡선. (LLM: Qwen2.5-7B-base, RL: PPO) (원논문)
| Method | NQ | TriviaQA | PopQA | HotpotQA | 2Wiki | Musique | Bamboogle | Avg. |
|---|---|---|---|---|---|---|---|---|
| top-k=1 | 0.426 | 0.614 | 0.422 | 0.393 | 0.296 | 0.146 | 0.328 | 0.375 |
| top-k=3 | 0.480 | 0.638 | 0.457 | 0.433 | 0.382 | 0.196 | 0.432 | 0.431 |
| top-k=5 | 0.479 | 0.634 | 0.440 | 0.394 | 0.343 | 0.156 | 0.352 | 0.400 |
Table 7 (원논문): 검색 문서 수에 따른 성능 비교. (LLM: Qwen2.5-7B-base, RL: PPO)
top-k=5가 초반에는 가장 빠르게 수렴하지만, 학습이 진행될수록 불안정해져 결국 top-k=3이 가장 높은 최종 성능을 달성한다. 저자들은 top-k=1은 재현율(recall) 부족, top-k=5는 노이즈 문서 포함으로 인한 정밀도(precision) 저하가 원인이라고 분석한다. 개인적으로는 top-k=5일 때 RL 학습이 "검색 결과가 도움이 안 된다"고 잘못 학습하여 검색 자체를 회피하게 될 수 있다는 해석이 설득력 있다.
6.5 GRPO 그룹 크기(Group Size) 분석

Figure 7: GRPO 그룹 크기에 따른 Search-R1 학습 역학. (LLM: Qwen2.5-7B-base) (원논문)
| Method | NQ | TriviaQA | PopQA | HotpotQA | 2Wiki | Musique | Bamboogle | Avg. |
|---|---|---|---|---|---|---|---|---|
| size=1 | 0.463 | 0.605 | 0.449 | 0.392 | 0.413 | 0.163 | 0.384 | 0.410 |
| size=3 | 0.385 | 0.580 | 0.396 | 0.329 | 0.333 | 0.117 | 0.400 | 0.363 |
| size=5 | 0.395 | 0.560 | 0.388 | 0.326 | 0.297 | 0.125 | 0.360 | 0.350 |
Table 8 (원논문): GRPO 그룹 크기에 따른 성능. (LLM: Qwen2.5-7B-base)
예상과 다르게, 그룹 크기가 작을수록(size=1, 즉 REINFORCE) 최종 성능이 높다. size=5가 학습 초반에는 빠르게 수렴하지만 불안정하여 붕괴 위험이 크고, size=1은 느리지만 안정적으로 학습이 진행된다. 검색+추론이라는 복잡한 action space에서는 GRPO의 그룹 기반 advantage 추정이 오히려 분산(variance)을 키울 수 있다는 해석이 가능하다.
6.6 사례 분석 (Case Study)
논문은 R1과 Search-R1의 비교 사례(Table 9)와 다수의 Search-R1 개별 사례(Table 10~18)를 제공한다.

Figure 8: Search-R1의 멀티턴 검색 사례. 질문에 대해 단계적으로 검색 쿼리를 생성하고 정보를 수집한다. (원논문)
성공 사례의 특징: Search-R1은 복잡한 멀티홉 질문을 자연스럽게 분해한다. 예를 들어 "Curious 향수를 만든 가수가 태어난 도시와 주는?"이라는 질문에 대해, (1) "Curious fragrance information"으로 Britney Spears를 특정하고, (2) "Britney Spears birthplace"로 McComb, Mississippi를 확인하며, (3) 추가 검색으로 자기 검증(self-verification)까지 수행한다. 이 자기 검증 행동은 DeepSeek-R1에서도 관찰된 RL 학습의 emergent behavior와 유사하다.
실패 사례의 패턴: 검색 결과에 정답 관련 정보가 포함되어 있어도 모델이 이를 놓치는 경우(Weezer 앨범명 사례), 반복적으로 동일한 쿼리를 날리며 새로운 정보를 얻지 못하는 경우, 검색 결과의 부정확한 정보에 의해 오답으로 이끌리는 경우 등이 관찰된다.
7. 강점과 한계
강점
-
명확한 동기와 깔끔한 설계: 검색 엔진을 RL 환경으로 통합하고, 검색 토큰 마스킹이라는 간단한 기법으로 안정성을 확보한 점이 공학적으로 우아하다.
-
체계적인 실험: 7개 벤치마크, 3가지 모델 크기, 2가지 RL 알고리즘, base/instruct 비교 등 다양한 축에서 실험을 수행했다. 부록의 ablation study도 충실하다.
-
실용성: 복잡한 보상 설계나 trajectory 주석 없이 단순한 결과 기반 보상만으로 효과적인 검색 전략을 학습시킨다. 재현이 비교적 쉽고, 코드와 체크포인트가 공개되어 있다.
-
분석의 깊이: 응답 길이 변화, 유효 검색 횟수, 사례 분석 등을 통해 모델이 "어떻게" 검색 행동을 학습하는지 정성적으로도 보여준다.
한계
-
정적 검색 인프라 의존: 2018 Wikipedia dump와 E5 retriever에 고정되어 있어 검색 엔진 자체의 품질이 결과에 미치는 영향을 분리하기 어렵다. 실제 웹 검색 엔진에서의 실험이 없다는 점이 아쉽다.
-
보상 함수의 한계: Exact Match 기반 보상은 부분 정답이나 다른 표현의 정답에 불이익을 준다. F1 점수나 LLM 기반 보상으로 확장한다면 성능이 더 올라갈 여지가 있다.
-
학습 데이터의 제한: NQ + HotpotQA 두 개 데이터셋만으로 학습하여, 보다 다양한 도메인에서의 범용성은 추가 검증이 필요하다.
-
3B 모델에서의 한계: 특히 Musique, Bamboogle 같은 복잡한 멀티홉 태스크에서 3B Search-R1의 성능이 RAG보다 낮은 경우가 존재한다. 작은 모델에서 검색+추론의 RL 학습이 충분히 효과적인지에 대한 추가 분석이 부족하다.
-
검색 쿼리 품질에 대한 정량적 분석 부재: 모델이 생성하는 검색 쿼리의 품질을 직접 측정하거나, 검색 결과의 관련성과 최종 성능의 상관관계를 분석하지 않았다.
8. 마치며
Search-R1은 "RL로 LLM의 검색 엔진 활용 능력을 직접 최적화할 수 있다"는 것을 설득력 있게 보여준다. DeepSeek-R1이 순수 추론에서 보여준 RL의 가능성을 검색 증강 추론(retrieval-augmented reasoning)으로 확장했다는 점에서 자연스러운 후속 연구다.
솔직히 이 논문의 가장 큰 기여는 "이렇게 하면 된다"는 레시피를 구체적으로 제시한 것이라고 본다. 검색 토큰 마스킹, 멀티턴 rollout 설계, 단순 보상 함수라는 세 가지 구성 요소가 각각 왜 필요한지를 ablation을 통해 입증했고, PPO vs GRPO, base vs instruct, top-k, group size 등의 설계 선택지에 대한 가이드라인을 실험적으로 제공한다.
향후 연구 방향으로는 웹 검색 엔진과의 통합, 다중 도구(multi-tool) 환경으로의 확장, 멀티모달 추론 태스크 적용 등이 기대된다. 검색 엔진뿐 아니라 계산기, 코드 실행기, 데이터베이스 등 다양한 외부 도구와의 상호작용을 RL로 학습시키는 방향이 이 분야의 다음 단계가 될 것이다.
References
- Guo, D. et al. (2025). DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning. arXiv:2501.12948.
- Schulman, J. et al. (2017). Proximal Policy Optimization Algorithms. arXiv:1707.06347.
- Shao, Z. et al. (2024). DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models. arXiv:2402.03300.
- Lewis, P. et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. NeurIPS.
- Trivedi, H. et al. (2022). Interleaving Retrieval with Chain-of-Thought Reasoning for Knowledge-Intensive Multi-Step Questions. arXiv:2212.10509.
- Yao, S. et al. (2023). ReAct: Synergizing Reasoning and Acting in Language Models. ICLR.
- Li, X. et al. (2025). Search-o1: Agentic Search-Enhanced Large Reasoning Models. arXiv:2501.05366.
- Yang, A. et al. (2024). Qwen2.5 Technical Report. arXiv:2412.15115.