1. 프로젝트 개요
- 기존 Lexical 기반 검색 시스템의 구조적 한계를 해결하고자 Semantic 검색 도입 필요성 제기
- Hybrid Search 전환 여부를 결정하기 위한 실험 기반의 PoC 프로젝트 수행
- 단순 기술 비교가 아닌, 실제 유저 사용성과 검색 성능 중심의 도입 타당성 검토
- PoC 결과는 조직 내 검색 시스템 구조 개편(semantic 전환)의 핵심 결정 근거로 활용됨
2. 검증 방향성
<aside>
- 실험 대상 : 상위 검색량 키워드 (Top 0.01%) → 클릭/주문 전환율 높은 대표 쿼리군
- 검증 목표: Semantic 검색의 도입 가능성 판단 및 정식 적용 여부 결정
- 기존 Lexical 검색보다 Semantic이 실제로 더 나은가?
- 만약 낫다면 상용 모델로 커버가 되는가? 아니면 파인튜닝 모델을 사용해야 하는가?
</aside>
3. 실험 설계
<aside>
Q) 기존 Lexical 검색보다 Semantic이 실제로 더 나은가?
</aside>
- Lexical vs Semantic (정성 평가)
- Streamlit 기반 실시간 검색 결과 비교 UI 제공
- 내부 검색 결과 공유 및 피드백 수렴 → 체감 품질 비교 논의
- OpenSearch의 ML Connector 사용하여 OpenAI 임베딩으로 Semantic 결과 정성 비교 진행
- Lexical vs Semantic (정량 평가)
- LangChain 기반 OpenAI GPT 모델을 활용해 검색 적합도 라벨링(query-product, T/F)
- 상위 0.01%의 검색량 높은 키워드(CTR 32%, CVR 39%)를 타겟으로 오프라인 평가 진행
- Precision / Recall / F1-score 기반 성능 측정
<aside>
Q) 상용 모델로 커버가 되는가? 아니면 파인튜닝 모델을 사용해야 하는가?
</aside>
- Fine-tuned 모델 vs OpenAI Embedding 비교
- 빠른 레퍼런스 논문(Semantic Retrieval at Walmart) 구현을 통한 베이스라인 준비
- 도메인 특화 Bi-Encoder 모델 학습 후 상용 모델과 성능 비교(정성 / 정량)
- 정성적으로 fine-tuning 모델 학습용 유저 행동 로그 기반 스코어를 통해 검색 결과가 스코어에 맞게 출력 되는지를 평가 비교 진행.
4. 실험 결과 및 인사이트
<aside>
Q) 기존 Lexical 검색보다 Semantic이 실제로 더 나은가?
A) YES
</aside>
- 정성 평가 :
- 검색량이 많은 쿼리에 대해서는 대부분 새롭게 추가되는 상품이 많아짐을 확인
- 검색 형태가 한 단어 이상인 쿼리에서 Semantic이 더 강점을 보임
- Semantic 검색 결과에 오답 상품이 종종 보이지만, re-ranking으로 해결 가능 판단
- 정량 평가 :
- top-200에 대한 측정 결과 F1-score 0.6 수준으로 비슷할 때, Semantic 검색의 Recall 0.62 → 0.67로 9% 가량 증가함을 확인
- GPT 라벨의 신뢰성을 고려해야겠지만, 라벨의 정합성을 신뢰할만 했음
- Offline 테스트의 결과는 눈에띄게 큰 차이는 아니었지만, 하이브리드 검색 적용시 보완 가능함
<aside>
Q) 상용 모델로 커버가 되는가? 아니면 파인튜닝 모델을 사용해야 하는가?
A) 파인튜닝 모델을 사용해야 한다.
</aside>
- (정성평가) 모델 학습 시 파라미터 튜닝을 타이트하게 하지 않았음에도 더 좋은 결과 확인
- (정량평가) 정량적으로 동일 ChatGPT 라벨 데이터셋 기반으로 offline 평가 진행 결과
- OpenAI 모델 : F1-score=0.61, recall=0.67
- Fine-tuned 모델 : F1-score=0.65, recall=0.73
- Fine-tuning model을 사용 했을 때의 강점 :
- 학습에 사용할 수 있는 모델 커스텀 요소 많음
- 쿼리 - 상품간의 연관성을 전환율 기반으로 학습 가능(범용 임베딩 모델에서는 불가능)
- Fine-tuning model을 사용 했을 때의 단점 :