[논문 리뷰] 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
논문 저자들은 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 등 다양한 상황에 유연하게 적용될 수 있다고 저자들은 강조
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 공부하러...🫡