논문 리뷰
논문 리뷰: Corpus-Steered Query Expansion with Large Language Models
Corpus-Steered Query Expansion with Large Language Models 리뷰
LLM의 '지식'이 아닌 '판단력'을 활용해 쿼리 확장의 할루시네이션 문제를 해결하는 CSQE를 제안한다.
논문 정보
| 항목 | 내용 |
|---|---|
| 제목 | Corpus-Steered Query Expansion with Large Language Models |
| 저자 | Yibin Lei (U. Amsterdam), Yu Cao (Tencent IEG), Tianyi Zhou (U. Maryland), Tao Shen (UTS), Andrew Yates (U. Amsterdam) |
| 학회/저널 | arXiv 2402.18031 (February 2024) |
| 논문 링크 | arXiv:2402.18031 |
| 코드 | github.com/Yibin-Lei/CSQE |
1. 들어가며
LLM이 검색(Information Retrieval) 분야에 본격적으로 침투한 건 HyDE(Hypothetical Document Embeddings, Gao et al., 2022) 이후다. 발상은 단순하다. "어떤 문서가 이 쿼리에 답할까?"라는 질문을 LLM에게 던지고, LLM이 만들어낸 가상 문서(hypothetical document)를 원래 쿼리에 붙여서 검색하면 더 풍부한 쿼리가 된다는 것이다. 이후 Query2Doc, Q2D/PRF, GPR 등 변형이 쏟아졌고, 트렌드는 LLM이 생성한 텍스트로 쿼리를 보강하는 방향으로 굳어지는 듯했다.
그런데 LLM이 '지식을 생성'한다는 게 문제다. LLM의 파라미터에 없는 정보는 아예 지어낼 수밖에 없고, 학습 이후에 업데이트된 정보는 알 수가 없다. 그리고 이 할루시네이션이 쿼리 확장에 그대로 섞이면, 검색 결과가 오히려 나빠질 수 있다는 연구(Weller et al., 2023)도 있다.
이 논문은 이 문제를 정면으로 파고든다. 핵심 질문은 이거다: "LLM을 쿼리 확장에 쓰되, LLM의 지식을 믿지 않는 방법이 있을까?" 저자들의 답은 Pseudo Relevance Feedback(PRF)에서 온다. 수십 년 전부터 검색 분야에서 써온 방법인데, 처음 검색 결과의 상위 문서들이 충분히 관련 있다고 가정하고 그 문서에서 추가 텍스트를 뽑아 쿼리를 확장하는 방식이다. 여기에 LLM의 '관련성 판단 능력'을 접목하면 어떨까? 코퍼스 자체에서 나온 텍스트는 할루시네이션이 없고, LLM은 어떤 문장이 쿼리와 관련 있는지 꽤 잘 판단하니까.
이 조합을 CSQE(Corpus-Steered Query Expansion)라고 부른다.
2. 기존 연구의 한계
2.1 전통적인 Pseudo Relevance Feedback (PRF)
PRF는 상위 k개의 검색 결과가 관련 문서라고 가정하고, 거기서 확장 텍스트를 추출하는 방식이다. RM3(Robertson, 1990; Lavrenko & Croft, 2001)가 대표적이다. 코퍼스에서 직접 나온 텍스트를 쓰기 때문에 팩트 측면에서는 안정적이지만, 초기 검색 결과가 실제로 관련 있는지 판단하는 능력이 없다는 게 약점이다. BM25 같은 어휘 기반 모델이 처음에 엉뚱한 문서를 갖고 오면, RM3도 그 노이즈를 증폭시킨다. 실제로 이 논문의 Table 4에서도 BEIR 6개 데이터셋 중 5개에서 RM3가 BM25 단독보다 성능이 떨어지는 걸 확인할 수 있다.
2.2 LLM 지식 기반 쿼리 확장
LLM이 직접 쿼리에 답하는 가상 문서를 만들어서 확장하는 방식이다. HyDE, Query2Doc, Q2D/PRF, GPR 등이 여기 속한다. 제로샷 환경에서 강점을 보이지만 공통 약점이 있다: LLM의 파라미터 지식에 완전히 의존한다는 것. 이로 인해 세 가지 문제가 발생한다.
첫째, 할루시네이션. LLM이 확신을 갖고 틀린 정보를 생성한다. 이 논문의 Case Study(Table 8)에서 "Apple Vision Pro의 스크린 해상도는?"이라는 쿼리에 KEQE가 생성한 답을 보면, Zeiss의 안과용 소프트웨어 제품인 Vision Pro에 대한 설명을 늘어놓는다. 완전히 엉뚱한 제품이다.
둘째, 최신 정보 부재. LLM은 학습 데이터 이후의 정보를 모른다. GPT-3.5-Turbo 기준으로 학습 컷오프 이후에 나온 쿼리들에는 속수무책이다.
셋째, 롱테일 지식 부족. 학습 데이터에 드물게 등장하는 토픽에 대해서는 LLM의 생성 품질이 크게 떨어진다.
3. 핵심 아이디어
CSQE의 아이디어를 한 문장으로 정리하면 이렇다: LLM에게 "답을 만들어라"고 시키는 대신 "어떤 문서가 관련 있고, 거기서 핵심 문장을 뽑아라"고 시킨다.
기존 LLM 기반 확장이 LLM의 지식 생성 능력(generative knowledge) 에 의존했다면, CSQE는 LLM의 관련성 판단 능력(relevance assessment) 을 활용한다. 이 구분이 중요한 이유는, LLM이 잘 모르는 주제에서도 관련성 판단은 꽤 잘할 수 있기 때문이다. "이 문서가 '비전 프로의 해상도'를 묻는 쿼리와 관련 있나요?"라는 질문에 LLM이 틀리게 답하기는 어렵다. 문서에 답이 있으면 있는 거고 없으면 없는 거니까.
그리고 LLM이 뽑아낸 핵심 문장들은 대부분 코퍼스에 그대로 존재하는 텍스트다(논문에 따르면 83%). 따라서 쿼리 확장에 사용되는 텍스트가 코퍼스 자체에서 왔고, 팩트 오류가 원천적으로 불가능하다. 이게 기존 PRF와 LLM의 장점을 결합한 지점이다.
CSQE는 이 corpus-originated 확장에 기존 KEQE 스타일의 LLM 생성 확장도 함께 쓴다. 두 가지를 혼합함으로써, LLM이 잘 아는 쿼리에서는 KEQE의 강점도 살리고, LLM이 모르는 쿼리에서는 코퍼스 텍스트가 보완하는 구조다.
4. 제안 방법 (Method)
4.1 전체 구조
파이프라인은 두 단계 검색으로 이루어진다. 첫 번째 BM25 검색으로 초기 후보 문서를 가져오고, LLM이 그 문서들에서 관련 문장을 추출해 쿼리를 확장한 뒤, 확장된 쿼리로 두 번째 BM25 검색을 수행한다.

Figure 1: CSQE의 전체 개요. 쿼리 "Biology definition"에 대해 상위 2개 문서를 가져오고, LLM이 관련 문서(Document 1)를 식별하여 핵심 문장을 추출한다. 최종 확장 쿼리는 corpus-originated 문장과 KEQE 생성 텍스트를 모두 포함한다. (원논문)
Figure 1을 보면 구조가 명확해진다. 왼쪽 상단에서 "Biology definition"이라는 쿼리로 BM25 검색을 먼저 수행한다. 상위 2개 문서 중 Document 1("Biology is the scientific study of living organisms...")은 관련 있고, Document 2("The sky was painted with vibrant hues...")는 무관하다. LLM은 이 두 문서를 보고 Document 1이 관련 있다고 판별하고, 거기서 핵심 문장을 추출한다. 이렇게 얻은 코퍼스 텍스트와 KEQE가 생성한 가상 답변을 원래 쿼리에 붙여서 최종 확장 쿼리를 만들고, 이를 BM25에 넣어 최종 검색 결과를 얻는다.
4.2 KEQE: 비교를 위한 LLM 지식 기반 확장 기준선
CSQE를 설명하기 전에 저자들이 구현한 기준선인 KEQE(Knowledge Empowered Query Expansion)를 이해해야 한다. HyDE, Query2Doc 등 기존 방법을 일반화한 것으로, 프롬프트는 단순하다.
Table 1 — KEQE 프롬프트:
Please write a passage to answer the question
Question: {q}
Passage:
쿼리 를 넣으면 LLM이 가상의 답변 를 생성하고, 를 BM25의 확장 쿼리로 사용한다. 다양성을 높이기 위해 온도 1.0으로 개 생성을 샘플링하여 모두 붙여서 하나의 긴 확장 쿼리를 만든다.
4.3 CSQE: 코퍼스 기반 확장
CSQE의 핵심 로직은 다음과 같다.
Step 1: 초기 검색 쿼리 와 문서 컬렉션 에서 BM25로 상위 개 문서 를 가져온다. 각 문서는 최대 128 토큰으로 잘린다(Arguana는 문서가 길어서 으로 줄임).
Step 2: LLM 기반 PRF (One-shot 프롬프팅) 상위 k개 문서를 LLM에 넣고, 관련 문서를 식별하고 관련 문장을 추출하도록 한다. 이 때 one-shot 예시로 TREC DL19에서 가져온 "상어가 온혈인 이유"에 관한 예시를 사용한다. LLM이 생성하는 출력은 두 가지다: (1) 관련 문서의 인덱스, (2) 관련성에 기여하는 핵심 문장들 .
완전한 CSQE 프롬프트는 아래와 같다.
Table 2 — CSQE 프롬프트 (요약):
| 구성 요소 | 내용 |
|---|---|
| One-shot 예시 | Query: "how are some sharks warm blooded" / 문서 4개 제공 / LLM 응답 예시: Document 1, 3, 4에서 핵심 문장 추출 |
| 실제 입력 | Query: {q} / Retrieved documents: 1. {d₁} 2. {d₂} ... k. {dₖ} |
| 지시문 | 관련 문서를 식별하고, 각 문서에서 관련성에 기여하는 핵심 문장을 추출하라 |
one-shot 예시에 DL19 데이터가 사용되었기 때문에, DL19를 제외한 모든 데이터셋에서 이 방법은 사실상 제로샷이다.
Step 3: 쿼리 확장 및 최종 검색
최종 확장 쿼리는 다음 세 가지를 이어붙인 것이다:
- 원래 쿼리 (확장 수만큼 반복)
- LLM이 추출한 코퍼스 핵심 문장들
- KEQE로 생성한 가상 답변 텍스트
다양성 확보를 위해 KEQE용 2개, corpus-originated 확장용 2개를 별도 샘플링해서 총 4개의 생성을 만든다(KEQE의 5개와 공정하게 비교하기 위함). 이 4개의 확장 쿼리를 전부 이어붙여 최종 BM25 쿼리를 완성한다.
4.4 왜 83%가 동일한가?
저자들의 예비 실험에서 GPT-3.5-Turbo가 추출한 핵심 문장 1000개 중 830개가 원본 문서 텍스트와 완전히 동일했다고 한다. LLM이 문장을 요약하거나 paraphrase하는 게 아니라 그대로 복사하는 경우가 대부분이라는 뜻인데, 이게 오히려 CSQE의 강점이 된다. 텍스트가 코퍼스에서 왔다면 그 텍스트와 다른 코퍼스 문서들 사이의 어휘 매칭이 더 자연스럽게 이루어지기 때문이다.
5. 실험 결과
5.1 실험 설정
데이터셋: 두 범주로 나뉜다. 고자원(high-resource) 웹 검색 데이터인 TREC DL19/DL20 (MS-MARCO 코퍼스, 약 880만 문서)과, 도메인이 다양한 저자원(low-resource) BEIR 6개 데이터셋 (Scifact, Arguana, Trec-Covid, FiQA, DBPedia, TREC-NEWS). 여기에 GPT-4 출시 이후 데이터로 구성된 NovelEval도 추가로 평가한다.
베이스라인:
- BM25: 기본 어휘 검색
- BM25+RM3: 전통적 PRF 방법
- Contriever+HyDE: LLM이 생성한 가상 문서를 Contriever 밀집 임베딩으로 검색
- BM25+GPR: LLM 생성 텍스트에 PRF를 적용
- BM25+Q2D/PRF: 초기 검색 문서를 참고해 LLM이 가상 문서를 생성하고 PRF 적용
- BM25+KEQE: 이 논문이 구현한 LLM 지식 기반 확장 기준선
- DPR, ANCE, Contriever FT: MS-MARCO 50만+ 레이블로 훈련된 지도학습 밀집 검색 모델들 (참고용)
평가 지표: mAP, nDCG@10, Recall@1k (DL19/DL20), nDCG@10 (BEIR), nDCG@1/5/10 (NovelEval)
구현: GPT-3.5-Turbo-0301, 온도 1.0, Pyserini 기본 파라미터, BM25+RM3 기본 파라미터
5.2 웹 검색 결과 (TREC DL19/DL20)
| 모델 | DL19 mAP | DL19 nDCG@10 | DL19 Recall@1k | DL20 mAP | DL20 nDCG@10 | DL20 Recall@1k |
|---|---|---|---|---|---|---|
| 훈련 없음 | ||||||
| BM25 | 30.1 | 50.6 | 75.0 | 28.6 | 48.0 | 78.6 |
| BM25+RM3 | 34.2 | 52.2 | 81.4 | 30.1 | 49.0 | 82.4 |
| Contriever+HyDE | 41.8 | 61.3 | 88.0 | 38.2 | 57.9 | 84.4 |
| BM25+GPR | 44.1 | 62.0 | 79.7 | 48.6 | 60.7 | 87.9 |
| BM25+Q2D/PRF | 43.6 | 65.4 | 87.1 | 40.5 | 61.0 | 87.2 |
| BM25+KEQE | 45.0 | 65.9 | 88.8 | 42.8 | 60.5 | 88.3 |
| BM25+CSQE | 47.2 | 67.3 | 88.5 | 46.5 | 66.2 | 89.1 |
| 훈련 있음 (참고) | ||||||
| DPR | 36.5 | 62.2 | 76.9 | 41.8 | 65.3 | 81.4 |
| ANCE | 37.1 | 64.5 | 75.5 | 40.8 | 64.6 | 77.6 |
| Contriever FT | 41.7 | 62.1 | 83.6 | 43.6 | 63.2 | 85.8 |
Table 3 (원논문): TREC DL19/DL20 결과. 훈련 없이 BM25+CSQE가 최고 성능을 달성했다.
BM25+CSQE는 6개 지표 중 5개에서 KEQE를 앞선다. 흥미로운 점은 DL19 Recall@1k에서 CSQE(88.5)가 KEQE(88.8)보다 미세하게 낮다는 것인데, 이는 corpus-originated 확장이 recall보다 precision에 더 효과적임을 시사한다. 더 중요한 건 훈련된 모델들을 압도한다는 사실이다. Contriever FT는 MS-MARCO 50만개 레이블로 훈련됐음에도 BM25+CSQE가 DL19에서 mAP 기준 5.5포인트, nDCG@10 기준 5.2포인트를 앞선다.
Q2D/PRF도 상위 문서를 참고하지만, LLM이 "새 문서를 생성"한다는 점에서 KEQE에 더 가깝다. 초기 검색에 노이즈가 있으면 LLM이 그 노이즈를 기반으로 또 다른 노이즈를 생성하는 셈이다. CSQE가 Q2D/PRF를 전체 지표에서 이기는 건, 코퍼스 텍스트를 그대로 쓰는 것이 더 안전하다는 방향을 확인해준다.
5.3 저자원 검색 결과 (BEIR 6개 데이터셋)
| 모델 | Scifact | Arguana | Trec-Covid | FiQA | DBPedia | TREC-NEWS | Avg. |
|---|---|---|---|---|---|---|---|
| 훈련 없음 | |||||||
| BM25 | 67.9 | 39.7 | 59.5 | 23.6 | 31.8 | 39.5 | 43.7 |
| BM25+RM3 | 64.6 | 38.0 | 59.3 | 19.2 | 30.8 | 42.6 | 42.4 |
| Contriever+HyDE | 69.1 | 46.6 | 59.3 | 27.3 | 36.8 | 44.0 | 47.2 |
| BM25+Q2D/PRF | 71.7 | 41.4 | 73.8 | 29.0 | 37.1 | 47.6 | 50.1 |
| BM25+KEQE | 70.5 | 40.7 | 66.6 | 22.0 | 38.8 | 48.3 | 47.8 |
| BM25+CSQE | 69.6 | 40.3 | 74.2 | 25.0 | 40.3 | 48.7 | 49.7 |
| 훈련 있음 (참고) | |||||||
| DPR | 31.8 | 17.5 | 33.2 | 29.5 | 26.3 | 16.1 | 25.7 |
| ANCE | 50.7 | 41.5 | 65.4 | 30.0 | 28.1 | 38.2 | 42.3 |
| Contriever FT | 67.7 | 44.6 | 59.6 | 32.9 | 41.3 | 42.8 | 48.2 |
Table 4 (원논문): BEIR 6개 저자원 데이터셋 결과 (nDCG@10). 모든 데이터셋에서 CSQE가 BM25 대비 향상을 보인다.
저자원 환경에서는 몇 가지 주목할 패턴이 있다. 첫째, RM3는 6개 중 5개에서 BM25보다 오히려 떨어진다. 초기 검색 품질이 낮으면 PRF가 노이즈를 증폭시킨다는 걸 보여주는 결과다. 둘째, KEQE는 FiQA에서 22.0으로 BM25(23.6)보다 낮다. 금융 도메인의 롱테일 지식을 LLM이 충분히 갖추지 못했기 때문으로 보인다. 반면 CSQE는 모든 데이터셋에서 BM25보다 향상을 보인다. 도메인 변화에 강건하다는 증거다.
평균 nDCG@10 기준으로 Q2D/PRF(50.1)가 CSQE(49.7)보다 약간 높다는 점은 솔직히 말하자면 아쉽다. 다만 Q2D/PRF는 Trec-Covid에서 73.8 vs CSQE 74.2로 CSQE에 밀리고, FiQA에서는 29.0 vs 25.0으로 Q2D/PRF가 앞선다. 데이터셋마다 경향이 다르다.
5.4 NovelEval: LLM이 모르는 쿼리에서의 성능
| 모델 | nDCG@1 | nDCG@5 | nDCG@10 |
|---|---|---|---|
| BM25 | 61.9 | 60.9 | 68.4 |
| BM25+KEQE | 50.0 | 48.7 | 62.0 |
| BM25+CSQE | 85.7 | 79.6 | 82.6 |
| RankGPT | 76.2 | 74.2 | 75.7 |
Table 5 (원논문): NovelEval 결과. GPT-4 출시 이후 데이터로 구성된 테스트셋.
이 표가 이 논문에서 가장 강렬한 결과다. NovelEval은 GPT-4 출시 이후 발행된 문서들로 구성되어 있어, 현재 LLM이 해당 쿼리에 대한 지식을 가질 수 없는 상황을 만든다. KEQE는 BM25(61.9)보다 nDCG@1 기준 11.9포인트나 낮다. 지식이 없는 상황에서 LLM이 생성한 텍스트는 오히려 독이 된다는 것이다.
반면 CSQE는 85.7이다. BM25 대비 23.8포인트 향상. LLM의 지식이 없어도 관련성 판단 능력은 여전히 작동한다는 가장 직접적인 증거다. GPT-3.5-Turbo 기반 리랭커인 RankGPT(76.2)보다도 높은데, 리랭킹은 검색 결과를 재정렬하는 더 많은 연산이 필요한 반면 CSQE는 쿼리 확장만으로 이 성능을 낸다.
5.5 밀집 검색(Dense Retrieval)에서의 CSQE
| 모델 | mAP | nDCG@10 | Recall@1k |
|---|---|---|---|
| Contriever | 24.0 | 44.5 | 74.6 |
| +HyDE | 41.8 | 61.3 | 88.0 |
| +KEQE | 41.7 | 62.2 | 87.4 |
| +CSQE | 44.0 | 65.6 | 88.6 |
| BM25 | 30.1 | 50.6 | 75.0 |
| +KEQE | 45.0 | 65.9 | 88.8 |
| +CSQE | 47.6 | 68.6 | 89.0 |
| Contriever FT | 41.7 | 62.1 | 83.6 |
Table 6 (원논문): DL19에서 Contriever에 CSQE를 적용한 결과. 각 확장 쿼리를 별도 임베딩한 뒤 평균.
Contriever에서도 CSQE가 유효하다. HyDE나 KEQE 대비 mAP 기준 2포인트 이상 향상을 보인다. 그런데 이 표에서 더 흥미로운 관찰이 있다. 어떤 경우에도 Contriever 계열이 BM25 계열보다 성능이 낮다. 50만개 레이블로 훈련된 Contriever FT조차 BM25+KEQE(45.0 vs 41.7)나 BM25+CSQE에 미치지 못한다. 쿼리 확장을 붙인 BM25가 대규모 파인튜닝된 밀집 검색기를 이기는 거다.
5.6 다양한 LLM에서의 CSQE
| 모델 | mAP | nDCG@10 | Recall@1k |
|---|---|---|---|
| BM25+CSQE | |||
| Llama2-Chat-7B | 39.1 | 59.9 | 86.5 |
| Llama2-Chat-13B | 41.4 | 61.6 | 86.1 |
| Llama2-Chat-70B | 43.6 | 63.4 | 87.6 |
| GPT-3.5-Turbo | 47.2 | 67.3 | 88.5 |
| BM25+KEQE | |||
| Llama2-Chat-7B | 37.5 | 57.1 | 82.0 |
| Llama2-Chat-13B | 38.8 | 58.3 | 83.7 |
| Llama2-Chat-70B | 40.9 | 59.3 | 84.9 |
| GPT-3.5-Turbo | 45.0 | 65.9 | 88.8 |
| 참고 (훈련 있음) | |||
| DPR | 36.5 | 62.2 | 76.9 |
| ANCE | 37.1 | 64.5 | 75.5 |
| Contriever FT | 41.7 | 62.1 | 83.6 |
Table 7 (원논문): DL19에서 다양한 LLM을 사용한 CSQE/KEQE 결과.
GPT-3.5-Turbo와 Llama2 계열 사이에는 격차가 있지만, 모든 크기의 LLM에서 CSQE가 KEQE를 일관되게 이긴다. Llama2-Chat-70B로도 BM25+CSQE(43.6 mAP)가 훈련된 DPR(36.5), ANCE(37.1), Contriever FT(41.7)를 앞선다. CSQE가 특정 LLM에 의존하지 않는 범용적 접근임을 보여준다. 모델 크기가 커질수록 성능이 올라가는 경향도 일관적이다.
5.7 사례 연구 (Case Study)
아래는 논문의 Table 8의 내용입니다.
예시 1: "What is the screen resolution of vision pro?"
-
KEQE 생성: "Vision pro는 Zeiss의 안과 데이터 관리 소프트웨어입니다. 소프트웨어이므로 자체 해상도가 없으며..." → Apple Vision Pro가 아닌 완전히 다른 제품에 대한 내용을 생성. LLM이 Apple Vision Pro의 정보를 모르고 hallucinate.
-
Corpus-Originated Expansion: "The extremely high-resolution displays are one of the many features that set vision pro apart from its competitors. Vision pro uses micro-OLED technology to pack 23 million pixels into two displays..." → 실제 문서에서 나온 정확한 정보. micro-OLED, 2300만 픽셀 등 구체적 스펙 포함.
예시 2: "What are the new features of pytorch 2?"
-
KEQE 생성: "PyTorch 2는 'hybrid frontend' 기능을 도입해 PyTorch와 TensorFlow 문법을 동시에 쓸 수 있습니다..." → 실제로 존재하지 않는 기능을 자신 있게 설명. GPT-3.5-Turbo의 학습 컷오프 이전에는 PyTorch 2가 없었음.
-
Corpus-Originated Expansion: "PyTorch 2.0은 컴파일러 수준의 변화, 더 빠른 성능, dynamic shapes 지원을 포함합니다. torch.compile 기능이 포함..." → 실제 PyTorch 2.0의 주요 기능을 정확히 기술.
두 예시 모두 패턴이 동일하다. KEQE는 최신/비주류 지식에 대해 할루시네이션을 일으키는 반면, Corpus-Originated Expansion은 문서에서 직접 가져오기 때문에 정확하다.
6. 추가 실험 및 부록 (Appendix)
6.1 CSQE 완전 프롬프트 (A.1)
Appendix A.1에는 CSQE에서 사용하는 완전한 one-shot 프롬프트가 수록되어 있다. "how are some sharks warm blooded"라는 쿼리와 4개의 문서를 예시로 보여주고, 모델이 Document 1, 3, 4에서 관련 문장을 추출하는 방식을 보인다. 추출한 예시 문장들:
- Document 1: "Most sharks are cold-blooded. Some, like the Mako and the Great white shark, are partially warm-blooded (they are endotherms)." / "Actually, the Salmon Shark is a warm-blooded shark."
- Document 3: "Great white sharks are some of the only warm-blooded sharks."
- Document 4: "Salmon sharks can elevate their body temperatures by up to 20 degrees compared to the surrounding water."
이 예시가 one-shot 컨텍스트로 모든 실제 쿼리 처리 시 함께 제공된다.
6.2 데이터셋 통계 (A.2)
| 데이터셋 | 테스트 쿼리 수 | 코퍼스 크기 |
|---|---|---|
| DL19 | 43 | 8,841,823 |
| DL20 | 50 | 8,841,823 |
| Scifact | 300 | 5,183 |
| Arguana | 1,406 | 8,674 |
| Trec-Covid | 50 | 171,332 |
| FiQA | 648 | 57,638 |
| DBPedia | 400 | 4,635,922 |
| TREC-NEWS | 57 | 594,977 |
| NovelEval | 21 | 420 |
Table 9 (원논문): 실험에 사용된 데이터셋 통계.
데이터셋 다양성이 인상적이다. Scifact(과학 문헌 검증), Arguana(반론 검색), FiQA(금융 QA), TREC-NEWS(뉴스 기사 검색) 등 도메인이 제각각이다. 코퍼스 크기도 Scifact의 5천 개부터 MS-MARCO의 880만 개까지 극단적으로 다르다. 이 다양한 환경에서 CSQE가 일관된 개선을 보인다는 게 강건성의 증거다.
6.3 DL20에서의 다양한 LLM 비교 (A.3)
| 모델 | mAP | nDCG@10 | Recall@1k |
|---|---|---|---|
| BM25+CSQE | |||
| Llama2-Chat-70B | 41.4 | 61.5 | 86.5 |
| GPT-3.5-Turbo | 46.5 | 66.2 | 89.1 |
| BM25+KEQE | |||
| Llama2-Chat-70B | 42.0 | 58.5 | 85.2 |
| GPT-3.5-Turbo | 42.8 | 60.5 | 88.3 |
| 참고 (훈련 있음) | |||
| DPR | 41.8 | 65.3 | 81.4 |
| ANCE | 40.8 | 64.6 | 77.6 |
| Contriever FT | 43.6 | 63.2 | 85.8 |
Table 10 (원논문): DL20에서 다양한 LLM을 사용한 결과.
DL19와 다른 점이 하나 있다. DL20에서는 Llama2-Chat-70B를 사용한 BM25+CSQE(41.4 mAP)가 Contriever FT(43.6)에 다소 못 미친다. DL19에서는 Llama2-70B CSQE가 Contriever FT를 앞섰던 것과 대조된다. DL20과 DL19가 같은 MS-MARCO 코퍼스를 공유하지만 쿼리 특성이 달라서 발생하는 차이로 보인다.
7. 강점과 한계
강점
-
할루시네이션 면역: 코퍼스에서 직접 추출한 텍스트를 쓰기 때문에, LLM이 없는 지식을 만들어낼 여지가 없다. NovelEval에서 KEQE(50.0)가 BM25(61.9)보다 낮게 나오는 상황에서 CSQE(85.7)가 압도적으로 높다는 게 이를 직접 증명한다.
-
훈련 불필요: 지도학습 데이터 없이 동작한다. MS-MARCO 50만+ 레이블로 훈련한 Contriever FT를 DL19에서 mAP 기준 5포인트 이상 이긴다. 새 도메인에 적용할 때도 재훈련이 불필요하다.
-
도메인 강건성: BEIR 6개 데이터셋 전체에서 BM25 대비 일관된 향상을 보인다. RM3가 6개 중 5개에서 오히려 떨어지는 것과 대조적이다.
-
범용 LLM 지원: GPT-3.5-Turbo뿐 아니라 오픈소스 Llama2 계열에서도 CSQE가 KEQE를 일관되게 앞선다.
한계 및 아쉬운 점
-
레이턴시와 API 비용: 두 번의 BM25 검색과 LLM API 호출이 필요하다. 실시간 검색에서는 부담이 될 수 있다. 저자들도 "레이턴시가 덜 중요한" 법률 문서 검색 같은 환경을 언급하며 이를 인정한다.
-
closed-source LLM 의존: 분석에 GPT-3.5-Turbo-0301을 주로 사용했고, 학습 데이터를 알 수 없기 때문에 테스트셋 오염(data contamination) 가능성을 완전히 배제할 수 없다.
-
DL19 one-shot 편향: CSQE의 one-shot 예시가 TREC DL19에서 가져온 것이라, 기술적으로 DL19 평가는 완전한 제로샷이 아니다. 이 점을 저자들도 인정하지만, 동일한 one-shot 컨텍스트를 모든 데이터셋에 썼기 때문에 DL19 결과가 과대평가됐을 가능성은 있다.
-
BEIR 평균에서 Q2D/PRF에 밀림: Table 4에서 BEIR 6개 평균이 Q2D/PRF(50.1) > CSQE(49.7)다. 차이는 작지만, 모든 저자원 시나리오에서 명확한 우위를 주장하기 어렵다. FiQA(금융)에서는 CSQE(25.0)가 KEQE(22.0)보다 낫지만 Q2D/PRF(29.0)에는 뒤진다.
-
초기 검색 품질 의존: Recall@1k 이상의 문서는 두 번째 검색에서도 회수할 수 없다. 초기 BM25 검색이 관련 문서를 놓치면 CSQE도 한계가 있다.
8. 마치며
CSQE는 LLM 기반 쿼리 확장의 한 가지 핵심 문제를 깔끔하게 건드린다. "LLM의 지식을 믿는 대신 LLM의 판단력을 활용하면 어떨까?" 이 발상의 전환이 생각보다 큰 성능 차이를 만든다. 특히 LLM이 알 수 없는 영역(NovelEval)에서 KEQE는 오히려 역효과를 내는 반면 CSQE는 BM25보다 크게 향상된다는 결과는, 앞으로 쿼리 확장 시스템을 설계할 때 LLM의 어떤 능력을 쓸지 신중히 고려해야 한다는 교훈을 준다.
큰 그림에서 이 논문의 의미는 두 가지다. 첫째, 수십 년 된 PRF 개념을 LLM의 관련성 판단 능력과 결합하는 방식으로 현대화했다는 점. 둘째, 거대한 훈련 파이프라인 없이도 지도학습 밀집 검색기를 이길 수 있다는 것을 보였다는 점. 파인튜닝된 검색 모델을 쿼리 확장이 앞선다는 결과는 검색 시스템 설계의 우선순위를 다시 생각하게 한다.
코드도 공개되어 있고 구현도 단순해서, 실제 프로덕션 검색 시스템에서 BM25 기반으로 운영 중이라면 적용을 고려해볼 만한 방법이다. 다만 LLM API 비용과 레이턴시는 현실적인 제약이므로, 레이턴시에 민감하지 않은 오프라인 검색이나 배치 처리 환경에서 더 적합할 것이다.
References
- Gao et al. (2022). Precise Zero-Shot Dense Retrieval without Relevance Labels. (HyDE)
- Wang et al. (2023). Query2Doc: Query Expansion with Large Language Models. EMNLP 2023.
- Jagerman et al. (2023). Query Expansion by Prompting Large Language Models. (Q2D/PRF)
- Mackie et al. (2023). Generative Relevance Feedback with Large Language Models. SIGIR 2023. (GPR)
- Izacard et al. (2022). Unsupervised Dense Information Retrieval with Contrastive Learning. (Contriever)
- Sun et al. (2023). Is ChatGPT Good at Search? EMNLP 2023. (RankGPT, NovelEval)
- Thakur et al. (2021). BEIR: A Heterogeneous Benchmark for Zero-shot Evaluation of Information Retrieval. NeurIPS 2021.
- Weller et al. (2023). When Do Generative Query and Document Expansions Fail?
- Kandpal et al. (2023). Large Language Models Struggle to Learn Long-Tail Knowledge. ICML 2023.