핵심요약
한국어 SPLADE 기반 Neural Sparse 모델과 Amazon OpenSearch를 활용한 하이브리드 검색 벤치마크 결과를 분석합니다. BM25, Dense Vector, SPLADE 모델의 성능을 MIRACL-ko 데이터셋으로 비교하고, RRF를 이용한 하이브리드 검색의 효과를 검증합니다.
한국어 SPLADE 기반 Neural Sparse 모델과 Amazon OpenSearch 하이브리드 검색 벤치마크
1. 검색 기술의 진화: Lexical, Dense, Sparse
- BM25 (Lexical): TF-IDF에 기반한 고전적 방식으로, 어휘 일치에 의존하여 "자동차"와 "차량" 같은 동의어 처리나 오탈자에 취약합니다. 빠르고 메모리 효율적이지만, 의미적 유사성을 포착하는 데 한계가 있습니다.
- Dense Vector: BERT 이후 발전된 방식으로, 텍스트를 고차원 벡터로 임베딩하여 의미적 유사성을 포착합니다. "자동차 ≈ 차량"을 이해하지만, 정확한 키워드 매칭이나 해석 가능성이 부족합니다.
- Neural Sparse Retrieval: BM25의 어휘 기반 인프라와 신경망의 의미 이해 능력을 결합하여, 두 방식의 장점을 취합니다. 문서를 인덱싱할 때 관련 토큰을 확장하여 저장하는 방식입니다.
2. Neural Sparse Retrieval의 발전 과정
- Doc2query: 문서를 대상으로 쿼리를 생성하여 BM25 인덱싱에 추가하는 방식으로, recall을 향상시켰습니다.
- DeepCT: BERT를 활용해 토큰의 문맥 기반 중요도를 예측하여 BM25의 TF 값을 대체합니다.
- SparTerm/SPLADE: MLM의 어휘 예측 능력을 활용하여 직접적인 sparse 표현을 생성합니다. SPLADE는 end-to-end 학습 가능한 아키텍처와 FLOPS 정규화를 통해 sparsity를 제어하며, Dense Vector 수준의 품질을 inverted index로 달성했습니다.
- SPLADE v3: KL-divergence distillation, pair-wise/listwise loss 혼합, FLOPS regularization, hard negative mining 등으로 품질을 더욱 향상시켰습니다.
3. 벤치마크 설정 및 결과
- 데이터셋: MIRACL-ko (한국어 Wikipedia 기반 다국어 검색 데이터셋)
- 모델: BM25 (nori tokenizer), Amazon Titan Embedding V2 (Dense), sewoong/korean-neural-sparse-encoder-base-klue-large (Sparse)
- 평가: OpenSearch Service에 BM25, Dense, Sparse 인덱스를 구성하고 RRF(Reciprocal Rank Fusion)로 하이브리드 검색 성능 측정
- 결과: SPLADE 기반 klue-large 모델이 단일 모델로서 BM25와 Titan Embedding V2를 상회하는 성능을 보였으며, BM25와의 하이브리드 구성 시 nDCG@10 0.7530으로 최대 성능을 기록했습니다. 3-way 하이브리드도 높은 성능을 달성했습니다.
4. 결론 및 시사점
- SPLADE 계열 Neural Sparse 모델은 Dense Vector의 의미 이해 능력과 BM25의 정확성을 결합하여 뛰어난 검색 품질을 제공합니다.
- OpenSearch의
rank_features매핑을 활용하여 Sparse 벡터 검색을 효율적으로 구현할 수 있습니다. - BM25, Dense, Sparse 모델을 RRF로 융합하는 하이브리드 검색은 단일 모델 대비 성능 향상 효과가 큽니다.
- 본 벤치마크는 한국어 환경에서 Neural Sparse Retrieval 도입을 위한 실질적인 가이드라인을 제공합니다.