하이브리드 검색
[Dense 검색]과 [BM25]를 함께 쓰는 것.
왜 합치나
둘이 서로 다른 실패를 한다.
| Dense가 놓치는 것 | BM25가 놓치는 것 | |
|---|---|---|
| 예 | ISO 4373 같은 코드 | 사업기간 ↔ 용역기간 같은 표현 차이 |
한쪽이 놓친 걸 다른 쪽이 잡아주면 전체가 좋아진다 — 단, 두 검색기의 실력이 비슷할 때만 그렇다.
실력 차가 크면 안 된다
40문항 예비 측정에서는 이 조건이 성립하는 듯 보였다.
| 조건 | Dense | BM25 | 하이브리드 이득 |
|---|---|---|---|
| 전체 코퍼스 | 0.577 | 0.349 | +0.002 (효과 없음) |
| 문서 한정 | 0.577 | 0.532 | +0.073 |
“BM25를 제 실력 나오는 조건(문서 한정)에 두면 합치는 의미가 생긴다”고 읽었다.
그런데 164문항에서 뒤집혔다 (e5-small 베이스)
| 조건 | Dense | 하이브리드 | 이득 |
|---|---|---|---|
| 전체 코퍼스 | 0.6359 | 0.6004 | −0.036 |
| 문서 한정 | 0.6402 | 0.6096 | −0.031 |
양쪽 모두 손해. 36문항짜리 이득은 노이즈였다.
교훈이 둘이다.
- 소표본에서 나온 +0.07은 근거가 못 된다 — 이득 문항이 16개뿐이었다
- 크로스인코더 리랭커가 있으면 하이브리드는 무의미하다 — 리랭커가 후보를 자기 점수로 재정렬하므로 RRF가 만든 순서가 통째로 지워진다
상세 → 검색 실험 결과
합치는 방법
RRF가 표준이다. 점수 척도가 다른 문제를 등수만 써서 회피한다.
관련
Dense 검색 · BM25 · RRF · 크로스인코더 리랭커