NL-360, KBM: Delineating Knowledge Boundary for Adaptive Retrieval in Large Language Models, Findings of EMNLP 2025
LLM은 언제 검색해야 할까?
KBM: Knowledge Boundary를 활용한 Adaptive Retrieval
대규모 언어 모델에 외부 검색을 결합하는 RAG는 최신 정보와 희귀 지식을 보완하는 대표적인 방법이다.
하지만 모든 질문에 검색을 수행하는 방식은 비효율적이다. 모델이 이미 알고 있는 질문에도 검색을 붙이면 불필요한 비용과 지연이 발생하고, 검색 결과에 포함된 노이즈 때문에 오히려 답변 품질이 낮아질 수도 있다.
EMNLP 2025 Findings에 발표된 “KBM: Delineating Knowledge Boundary for Adaptive Retrieval in Large Language Models”는 이러한 문제를 해결하기 위해, 언어 모델이 알고 있는 질문과 모르는 질문의 경계를 학습하는 Knowledge Boundary Model, 즉 KBM을 제안한다.
논문의 핵심 질문은 다음과 같다.
모델이 스스로 답할 수 있는 질문과 외부 검색이 필요한 질문을 구분할 수 있는가?
모든 질문에 RAG가 필요한 것은 아니다
일반적인 RAG 시스템은 사용자 질문을 받으면 우선 검색을 수행한다.
질문
↓
문서 검색
↓
검색 결과 + 질문
↓
LLM 답변
이 방식은 모델의 내부 지식이 부족한 경우 효과적이지만, 이미 답을 알고 있는 질문에도 동일한 검색 과정이 적용된다.
논문에서는 검색이 답변에 미치는 영향을 세 가지로 구분한다.
Beneficial
검색을 사용한 뒤 답변 성능이 향상되는 경우다.
모델이 원래 몰랐던 사실을 외부 문서에서 얻은 상황이 여기에 해당한다.
Neutral
검색을 사용해도 성능이 거의 변하지 않는 경우다.
모델이 이미 알고 있던 정보를 검색을 통해 다시 제공받는 상황이다.
Harmful
검색을 사용한 뒤 오히려 성능이 떨어지는 경우다.
검색 결과가 부정확하거나 질문과 관련이 적으면, 모델이 내부적으로 알고 있던 올바른 지식까지 방해받을 수 있다.
따라서 검색은 항상 성능을 높이는 것이 아니다.
이상적인 시스템은 질문마다 검색 필요성을 판단해야 한다.
질문
├─ 모델이 알고 있음 → 검색 없이 답변
└─ 모델이 모름 → 검색 후 답변
Knowledge Boundary란 무엇인가
논문에서 말하는 Knowledge Boundary는 특정 언어 모델이 알고 있는 지식과 알지 못하는 지식 사이의 경계다.
여기서 중요한 점은 질문의 난이도 자체를 판단하는 것이 아니라는 것이다.
같은 질문이라도 모델의 크기, 학습 데이터, 학습 시점에 따라 결과가 달라질 수 있다.
질문 A
- 모델 1: 알고 있음
- 모델 2: 모름
즉 Knowledge Boundary는 질문에 고정된 속성이 아니라 대상 모델에 종속된 속성이다.
논문은 이 경계를 예측하기 위해 Knowledge Boundary Model을 학습한다.
KBM은 질문을 입력받고 다음 두 클래스 중 하나를 출력한다.
Known
Unknown
Known이면 검색 없이 답변 모델을 실행하고, Unknown이면 외부 검색 결과를 추가한 뒤 답변을 생성한다.
KBM의 전체 구조
KBM을 사용한 시스템은 다음과 같이 동작한다.
사용자 질문
↓
Knowledge Boundary Model
↓
Known / Unknown
├─ Known
│ ↓
│ LLM 답변
│
└─ Unknown
↓
외부 검색
↓
검색 결과 + 질문
↓
LLM 답변
논문의 주요 실험에서는 Qwen2-7B-Instruct를 기반 모델로 사용한다.
검색이 필요하다고 판단된 경우 Google 검색을 수행하고, 상위 검색 결과의 스니펫을 답변 모델에 제공한다.
이 구조에서 KBM은 답변을 생성하는 모델과 분리된 별도의 라우터 역할을 한다.
모델이 질문을 아는지는 어떻게 측정할까
KBM을 학습하려면 각 질문에 대해 Known 또는 Unknown 라벨이 필요하다.
하지만 일반적인 QA 데이터에는 정답은 있어도 다음과 같은 정보는 없다.
이 질문을 Qwen2-7B가 알고 있는가?
저자들은 대상 모델의 실제 응답 행동을 이용해 이 라벨을 자동으로 생성한다.
각 질문에 대해 모델이 하나의 답변만 생성하는 것이 아니라, 같은 질문에 총 30개의 답변을 샘플링한다.
질문 Q
→ 응답 1
→ 응답 2
→ ...
→ 응답 30
그다음 응답의 정확도와 일관성을 이용해 모델이 해당 질문을 얼마나 알고 있는지 계산한다.
논문에서는 두 가지 지표를 사용한다.
Accuracy
Certainty
Accuracy 기반 Knowledge Boundary
정답이 제공되는 QA 데이터셋에서는 30개의 응답 중 몇 개가 맞았는지를 계산할 수 있다.
질문 (Q)에 대해 생성된 30개 응답 중 24개가 정답이라면 Accuracy는 다음과 같다.
[
A(Q)=\frac{24}{30}=0.8
]
모든 응답이 정답이면 1이고, 모든 응답이 오답이면 0이다.
30개 정답 → 1.0
15개 정답 → 0.5
0개 정답 → 0.0
논문에서는 0.9를 threshold로 사용한다.
Accuracy ≥ 0.9 → Known
Accuracy < 0.9 → Unknown
따라서 모델이 한두 번 우연히 정답을 생성하는 것만으로는 Known으로 분류되지 않는다.
반복해서 질문하더라도 안정적으로 정답을 생성할 수 있어야 모델이 해당 지식을 알고 있다고 판단한다.
Certainty 기반 Knowledge Boundary
Accuracy 방식은 정답이 존재해야 사용할 수 있다.
하지만 정답이 없는 일반 질문이나 대규모 비정형 데이터에는 적용하기 어렵다.
이를 위해 논문은 모델 응답의 일관성을 측정하는 Certainty를 사용한다.
예를 들어 30개의 응답이 다음과 같다고 하자.
서울: 27회
부산: 2회
대전: 1회
대부분의 응답이 하나의 답에 집중되어 있으므로 Certainty가 높다.
반대로 다음과 같이 여러 답으로 분산된다면 Certainty가 낮다.
서울: 10회
부산: 8회
대전: 7회
인천: 5회
논문은 응답 분포의 엔트로피를 이용한다.
[
H(Q)=-\sum_i P_i\log_2P_i
]
서로 다른 답변의 수가 (k)라면 최대 엔트로피는 다음과 같다.
[
H_{\max}=\log_2 k
]
최종 Certainty는 다음과 같이 정의한다.
[
C(Q)=1-\frac{H(Q)}{H_{\max}}
]
응답이 하나의 답에 집중되면 Certainty는 1에 가까워지고, 여러 답에 고르게 분산되면 0에 가까워진다.
Certainty 역시 0.9를 기준으로 Known과 Unknown을 나눈다.
Certainty ≥ 0.9 → Known
Certainty < 0.9 → Unknown
이 방법은 정답 데이터가 없어도 모델의 Knowledge Boundary를 추정할 수 있다는 장점이 있다.
Certainty가 높다고 항상 정답은 아니다
Certainty 기반 방법에는 분명한 한계가 있다.
모델이 동일한 오답을 반복하는 경우다.
30번 모두 같은 오답
이 경우 Accuracy는 0이지만 Certainty는 1에 가까울 수 있다.
Accuracy = 0
Certainty = 1
즉 Certainty는 모델이 실제로 정답을 알고 있는지를 직접 측정하는 것이 아니라, 모델의 응답이 얼마나 일관적인지를 측정한다.
모델이 잘못된 정보를 강하게 믿는 confident hallucination 상황에서는 해당 질문을 Known으로 잘못 판단할 수 있다.
논문에서도 Accuracy와 Certainty가 서로 관련은 있지만 완전히 같은 지표는 아니라는 점을 보여준다.
KBM 학습 과정
KBM의 학습 과정은 크게 네 단계로 구성된다.
1. 대상 모델의 응답 샘플링
각 질문에 대해 대상 모델이 30개의 응답을 생성한다.
Q → {a1, a2, ..., a30}
2. Knowledge Score 계산
정답이 있는 경우 Accuracy를 계산하고, 응답 일관성을 이용할 경우 Certainty를 계산한다.
3. Known과 Unknown 라벨 생성
계산된 점수가 0.9 이상이면 Known, 그렇지 않으면 Unknown으로 분류한다.
score ≥ 0.9 → Known
score < 0.9 → Unknown
4. 지도학습
질문과 Known 또는 Unknown 라벨을 instruction 형태의 데이터로 변환해 KBM을 fine-tuning한다.
입력:
이 질문을 대상 모델이 알고 있는지 판단하라.
질문: ...
출력:
Known
또는 다음과 같다.
출력:
Unknown
학습이 완료된 KBM은 새로운 질문이 들어왔을 때 한 번의 추론만으로 검색 필요성을 예측한다.
실제 추론에서도 30번 답변을 생성할까
30회 샘플링은 KBM 학습 데이터를 구축할 때만 사용된다.
실제 서비스 단계에서는 질문을 KBM에 한 번만 입력한다.
질문
↓
KBM 1회 추론
↓
Known 또는 Unknown
Known이면 검색 없이 답변을 생성하고, Unknown이면 검색을 수행한다.
다만 이 구조에서는 답변 모델 외에 KBM을 추가로 실행해야 한다.
Known 질문의 경우에도 다음 두 번의 모델 실행이 필요하다.
KBM
↓
답변 LLM
검색 비용은 줄일 수 있지만, 별도의 언어 모델을 라우터로 사용한다는 계산 비용은 남는다.
실험 설정
논문은 영어와 중국어로 구성된 11개의 QA 데이터셋에서 제안 방법을 평가한다.
주요 비교 대상은 다음과 같다.
LLM Only: 검색 없이 답변
All RAG: 모든 질문에 검색 적용
Prompt: 프롬프트를 이용해 모델이 검색 여부를 판단
Self-RAG
Random Retrieval
KBM-Accuracy
KBM-Certainty
평가는 답변 성능뿐 아니라 전체 질문 중 실제로 검색을 수행한 비율도 함께 측정한다.
이를 통해 검색 비용을 얼마나 줄이면서 성능을 유지하는지 확인한다.
주요 실험 결과
논문에서 보고한 평균 결과는 다음과 같다.
| 방법 | 평균 성능 | 검색 비율 |
|---|---|---|
| LLM Only | 53.41 | 0% |
| All RAG | 79.16 | 100% |
| Prompt | 76.33 | 65.9% |
| Self-RAG | 44.57 | 29.7% |
| KBM-Accuracy | 78.77 | 67.5% |
| KBM-Certainty | 79.22 | 86.5% |
KBM-Accuracy
KBM-Accuracy는 전체 질문의 67.5%에만 검색을 사용했다.
All RAG와 비교하면 검색 호출을 32.5% 줄였지만 평균 성능 차이는 크지 않았다.
All RAG
성능: 79.16
검색 비율: 100%
KBM-Accuracy
성능: 78.77
검색 비율: 67.5%
즉 성능을 거의 유지하면서 상당수의 검색 호출을 제거했다.
KBM-Certainty
KBM-Certainty는 전체 질문의 86.5%에 검색을 수행했다.
All RAG
성능: 79.16
검색 비율: 100%
KBM-Certainty
성능: 79.22
검색 비율: 86.5%
검색 비율은 Accuracy 방식보다 높지만, All RAG와 거의 동일한 성능을 유지했다.
결과적으로 두 방법은 서로 다른 특성을 보인다.
KBM-Accuracy
- 검색 비용을 더 많이 절감
- 상대적으로 공격적인 검색 정책
KBM-Certainty
- 검색을 더 자주 수행
- 상대적으로 안정적인 성능 유지
Random Retrieval과의 비교
검색 비율이 높으면 무작위로 검색해도 어느 정도 성능이 상승할 수 있다.
따라서 논문은 KBM과 동일한 비율로 무작위 질문을 선택해 검색하는 Random Retrieval baseline을 사용한다.
예를 들어 KBM이 질문의 60%를 검색한다면 Random 방식도 질문의 60%를 무작위로 검색한다.
실험 결과 KBM은 동일한 검색 비율을 가진 Random 방식보다 높은 성능을 기록했다.
이는 KBM이 단순히 검색 횟수를 늘린 것이 아니라, 모델이 모를 가능성이 높은 질문을 선택적으로 찾아냈다는 것을 의미한다.
지식 유형별 분석
논문은 일반적인 QA 성능 외에도 Knowledge Boundary가 어떤 종류의 질문에서 효과적으로 작동하는지 분석한다.
동적으로 변하는 지식
정치인, 직책, 기록, 순위처럼 시간이 지나면서 변경되는 지식은 모델 내부에 오래된 정보가 남아 있을 가능성이 높다.
실험 결과 KBM은 빠르게 변하는 지식에 대해 높은 검색 비율을 보였다.
이는 최신성이 중요한 질문을 Unknown으로 판단하는 경향이 있다는 것을 보여준다.
다만 변하지 않는 지식에서도 검색 비율이 낮지 않았기 때문에, KBM이 시간 민감성을 직접 학습한 전용 temporal detector라고 보기는 어렵다.
Long-tail 지식
학습 데이터에 자주 등장하지 않는 희귀한 사실은 언어 모델이 기억하기 어렵다.
논문은 정답의 빈도에 따라 질문을 나누어 평가한다.
그 결과 저빈도 지식에서 LLM Only의 성능이 크게 낮아졌고, KBM을 이용해 선택적으로 검색했을 때 성능이 향상됐다.
이는 KBM이 모델의 내부 지식에 충분히 저장되지 않은 long-tail 질문을 어느 정도 감지할 수 있음을 보여준다.
Multi-hop 질문
여러 개의 정보를 연결해야 답할 수 있는 multi-hop 질문에서도 KBM을 평가한다.
이 실험의 목적은 새로운 추론 방법을 제안하는 것이 아니라, 복잡한 질문에 검색이 필요한지를 KBM이 구분할 수 있는지 확인하는 데 있다.
다른 모델에도 같은 KBM을 사용할 수 있을까
논문은 Qwen2-7B를 기준으로 학습한 KBM을 GPT-4o, Qwen2-72B, Llama3-70B 같은 다른 답변 모델에도 적용한다.
하지만 하나의 KBM을 여러 모델에 그대로 적용하는 데는 한계가 있었다.
이유는 각 모델의 Knowledge Boundary가 다르기 때문이다.
Qwen2-7B: 모름
GPT-4o: 알고 있음
이러한 질문을 Qwen2-7B 기반 KBM이 Unknown으로 판단하면, GPT-4o가 이미 답을 알고 있어도 검색을 수행하게 된다.
반대 상황도 가능하다.
KBM: Known
실제 답변 모델: Unknown
따라서 Knowledge Boundary는 답변 모델과 긴밀하게 연결되어야 한다.
논문은 대상 모델마다 지식 경계를 별도로 학습하거나, KBM과 답변 모델 사이의 지식 경계를 정렬하는 것이 중요하다고 지적한다.
논문의 핵심 기여
이 논문의 가장 중요한 기여는 모델의 Knowledge Boundary를 자동으로 구축하는 방법을 제시했다는 점이다.
기존에는 모델에게 직접 검색 필요성을 묻는 프롬프트 기반 방법을 사용할 수 있다.
이 질문에 답하기 위해 검색이 필요한가?
그러나 언어 모델의 자기 보고는 정확하지 않을 수 있다.
KBM은 모델의 발언이 아니라 실제 응답 행동을 이용한다.
같은 질문을 여러 번 풀게 함
↓
정답률과 응답 일관성 측정
↓
Known / Unknown 라벨 생성
모델이 스스로 알고 있다고 주장하는지를 보는 것이 아니라, 반복적으로 정답을 생성할 수 있는지를 관찰한다는 점에서 행동 기반 Knowledge Boundary 추정이라고 볼 수 있다.
논문의 한계
KBM은 선택적 검색에서 좋은 결과를 보이지만 몇 가지 한계가 존재한다.
데이터 구축 비용
질문 하나당 30개의 답변을 생성해야 하므로 학습 데이터 구축 비용이 크다.
질문 수가 많아질수록 필요한 추론량도 빠르게 증가한다.
Certainty와 Correctness의 차이
같은 오답을 반복해도 Certainty는 높게 측정된다.
따라서 Certainty 기반 방식은 confident hallucination을 Known으로 오분류할 수 있다.
별도 모델 실행 비용
검색 횟수는 줄어들지만, 검색 여부를 판단하기 위해 KBM이라는 별도의 언어 모델을 실행해야 한다.
특히 KBM 자체가 수십억 개의 파라미터를 가진 모델이라면 라우팅 비용이 작지 않다.
모델 종속성
한 모델을 기준으로 구축한 Knowledge Boundary가 다른 모델에도 그대로 적용된다고 보장할 수 없다.
답변 모델을 변경하면 KBM을 다시 학습하거나 보정해야 할 수 있다.
검색 효용을 직접 예측하지 않음
KBM은 주로 모델이 질문을 알고 있는지 판단한다.
하지만 모델이 모른다고 해서 검색이 항상 도움이 되는 것은 아니다.
검색 결과에 정답이 없거나 검색 문서의 품질이 낮다면, Unknown 질문에 검색을 수행해도 성능이 향상되지 않을 수 있다.
즉 Knowledge Boundary와 Retrieval Utility는 관련이 있지만 완전히 동일한 개념은 아니다.
마무리
KBM은 언어 모델이 알고 있는 질문과 모르는 질문의 경계를 학습해, 필요한 경우에만 검색을 수행하는 Adaptive Retrieval 방법이다.
전체 과정은 다음과 같이 요약할 수 있다.
1. 대상 모델에게 같은 질문을 여러 번 답하게 한다.
2. Accuracy 또는 Certainty를 계산한다.
3. 질문을 Known과 Unknown으로 분류한다.
4. KBM을 학습한다.
5. Unknown으로 판단된 질문에만 검색을 적용한다.
실험 결과 KBM은 모든 질문에 검색을 적용하는 방식과 비슷한 답변 성능을 유지하면서 검색 호출 횟수를 줄였다.
특히 Accuracy 기반 KBM은 검색 비용 절감에 강점을 보였고, Certainty 기반 KBM은 정답 라벨 없이도 Knowledge Boundary 데이터를 만들 수 있다는 장점을 보였다.
이 논문은 RAG를 단순히 모든 질문에 적용하는 방식에서 벗어나, 모델의 실제 지식 상태에 따라 선택적으로 사용하는 방향을 제시한다.
핵심 메시지는 명확하다.
좋은 RAG 시스템은 검색을 잘하는 것뿐 아니라, 언제 검색하지 않아도 되는지를 판단할 수 있어야 한다.
Reference
댓글
댓글 쓰기