RAG(검색 증강 생성)를 쓰는 서비스가 곧 마주치는 질문: "이 질문, 검색이 필요한가?" 모든 질문에 검색을 붙이면 비용과 지연이 늘 뿐 아니라 — 놀랍게도 — 답이 나빠지는 경우도 있다. 모델이 이미 아는 것을 검색 결과가 오염시키기 때문이다. 그래서 '언제 검색할 것인가(when to retrieve)'는 독립된 연구 분야가 됐다. 이번 글은 그 지형도다.
네 가지 트리거 계열
- Adaptive-RAG (2024, NAACL — KAIST) — 작은 분류기가 질문의 복잡도를 예측해 검색 없음 / 1회 검색 / 다단계 검색 중 하나로 라우팅한다. 훈련 라벨은 "모델이 검색 없이 맞혔는가"에서 자동으로 만든다(수작업 라벨링 불필요). 질의 측 분류 계열의 대표이자, 국내(KAIST) 연구라는 점도 반갑다.
- Self-RAG (2024, ICLR) — 모델 자신이 특수 토큰(Retrieve/IsRel/IsSup/IsUse)을 출력하며 필요할 때만 검색하고 자기 답을 비평한다. 외부 분류기 없이 모델 내부에서 검색 결정을 내리는 계열의 대표.
- FLARE (2023, EMNLP) — 긴 답을 생성하면서 다음 문장을 초안으로 써 보고, 토큰 확신도가 낮으면 그 문장을 검색어로 삼아 검색 후 다시 쓴다. 학습 없이 쓸 수 있는 가장 단순한 불확실성 기반 트리거.
- PopQA / Adaptive Retrieval (2023, ACL) — 이 분야의 출발점. LLM은 유명한 사실은 잘 알지만 롱테일 지식에서 무너지며, 엔티티의 인기도(위키 조회수)라는 초저가 신호만으로 검색 여부를 정해도 정확도 손실 없이 검색 비용을 크게 줄일 수 있음을 보였다.
정교화와 평가
- SKR (2023, EMNLP Findings) — "검색이 오히려 해가 되는 질문"의 존재를 실증. 과거 질문들에 대해 검색 유/무 성능을 비교해 자기지식(self-knowledge) 경계를 배우고, 새 질문은 kNN으로 그 경계 안팎을 판정한다. 로그가 쌓이는 서비스라면 바로 응용할 수 있는 아이디어.
- UAR (2024, EMNLP Findings) — 검색 결정을 의도(사용자가 외부 정보를 원하는가) / 지식 필요성 / 시의성 / 자기지식의 4개 직교 기준으로 분해하고, 각각을 초경량 분류기로 판정해 결정 트리로 결합. 검색 트리거를 원리적으로 설계하는 청사진.
- RetrievalQA + TA-ARE (2024, ACL Findings) — 검색 필요성 판단 자체를 평가하는 벤치마크. 현재 날짜를 프롬프트에 넣어주는 것만으로 시의성 질문의 검색 판단이 크게 좋아진다는 실용적 발견(TA-ARE)도 담고 있다.
- AdaRAGUE (2025, ACL) — 35개 적응형 검색 기법의 대규모 비교 연구. 결론이 통쾌하다: 싼 불확실성 추정 트리거가 복잡한 파이프라인과 정확도는 비슷하면서 LM·검색 호출은 훨씬 적다. 평가에서 LM 호출 수·검색 호출 수·지연시간을 정확도와 동급 지표로 다루는 방법론도 그대로 배울 만하다.
- FreshQA / FreshPrompt (2024, ACL Findings) — 시의성의 표준 분류: 답이 절대 안 변하는 질문 / 천천히 변하는 질문 / 빨리 변하는 질문 / 거짓 전제 질문. 모든 LLM이 '빨리 변하는' 질문에서 무너지며, 잘 구성된 실시간 검색 결과를 넣으면 크게 회복된다. "실시간 검색이 필요한 질문"을 키워드가 아니라 원리로 정의하는 방법.
정리
트리거 신호는 네 계열로 수렴한다: 질의 측 분류(복잡도·의도·시의성), 모델 자기지식 탐침(로짓·은닉 상태), 초저가 프록시(엔티티 인기도, 소형 초안 모델), 모델 내장 결정(특수 토큰·확신도). 그리고 2025년의 메타 연구가 보여주듯, 단순한 트리거가 이미 충분히 강하다 — 중요한 것은 트리거의 존재 자체다. 검색을 무조건 켜는 것은 비용에도 품질에도 손해다. 다음 글은 이 모든 분류기를 학습시킬 데이터 이야기 — 실사용 채팅 로그 데이터셋과 약지도 라벨링 — 다.
— 사용자 의도 분석과 LLM 라우팅 시리즈 ⑤ / 다음 글: 실사용 로그 데이터셋과 약지도 라벨링
댓글 없음:
댓글 쓰기
국정원의 댓글 공작을 지탄합니다.