AI

<13일차> IR 경진대회 회고

giirin 2025. 3. 13. 21:12

이번 IR 경진대회에서는 **과학 지식 기반 질의 응답 시스템(Scientific Knowledge Question Answering)**을 개발했다.
짧은 기간 동안 여러 가지 접근법을 실험하며, 검색 엔진 기반 문서 추출, LLM 모델 활용, Reranking 및 Hybrid Retrieval 기법을 적용해 보았다.


이 과정에서 팀원들과의 협업, 최적의 검색 기법 실험, 그리고 IR 모델 최적화에 대해 많은 것을 배울 수 있었다.

 


경진대회 개요

이번 대회의 목표는 과학 지식 기반의 질문과 이전 대화 히스토리를 참고하여 적절한 문서를 검색하고, 이를 바탕으로 응답을 생성하는 시스템을 구축하는 것이었다.
이를 위해 우리는 다양한 임베딩 모델, 검색 기법, Reranking 기법을 활용하여 성능을 개선하려 했다.

주제: 과학 지식 기반 질의 응답 시스템 구축
기간: 2024.12

내용: 과학 상식을 질문하는 시나리오를 가정하고 과학 상식 문서 4200여개를 미리 검색엔진에 색인해둠

대화 메시지 또는 질문이 들어오면 과학 상식에 대한 질문 의도인지 그렇지 않은 지 판단 후에 과학 상식 질문이라면 검색엔진으로부터 적합한 문서들을 추출하고 이를 기반으로 답변을 생성. 

만일 과학 상식 이외의 질문이라면 검색엔진을 활용할 필요 없이 적절한 답을 바로 생성.

평가지표: Mean Average Precision ( MAP) / MRR

MAP는 질의 N개에 대한 Average Precision의 평균 값을 구하고, Average Precision은 Precision-recall curve에서 아래쪽 면적

 

주요 실험 내용:

  • Dense Retrieval & Sparse Retrieval 비교
  • Prompt Engineering & Query Expansion 기법 적용
  • Embedding 모델 실험 (BGE-M3-KO, KR-SBERT, OpenAI Ada-002 등)
  • Hybrid Retrieval 및 Reranking 적용

MAP

 

소통 방식: Notion, Slack, Zoom

 


초반 모델 실험 및 최적화 과정

처음에는 기존의 **Baseline 코드(Sparse Retrieval 기반)**를 활용했지만, 성능이 만족스럽지 않았다.
이에 따라 Dense Retrieval 및 Hybrid Retrieval을 적용해 성능을 개선해 나갔다.

 

모델 실험 결과

모델 설명 결과 (MAP)
Baseline (Sparse Retrieval, BM25) 기본 검색 모델 성능 낮음( 0.7015)
BGE-M3-KO + Dense Retrieval 한국어 특화 임베딩 모델 적용 MAP 0.12 향상
Hybrid Retrieval (Sparse + Dense 결합) 검색 모델 조합 성능 미미
Hybrid Retrieval + Reranking 검색 후 재정렬 적용 성능 최적화(0.92)

 

결론:

  • Dense Retrieval 기반 BGE-M3-KO 모델을 활용한 검색이 Baseline 대비 성능이 크게 향상됨.
  • Hybrid Retrieval 기법은 BGE-M3-KO 모델과의 조합에서 큰 효과를 보이지 않음.
  • 최종적으로 Reranking 기법 적용 후 MAP이 가장 높게 나옴.

 

성능 향상 확인을 위한 자체 SOTA 모델 구축

경진대회 중 제출횟수 제한이 있었기 때문에 자체적으로 팀 SOTA 모델을 구축해서 topk 결과의 순서로 매칭후 일치율이 70프로 이상일 시에 제출했음. 

 

SOTA

 


주요 실험 및 최적화 과정

1. Prompt Engineering & Query Expansion

기존 문제:

  • 과학 지식과 관련 없는 질문이 검색 결과에 포함됨.
  • 일부 Query가 의미적으로 불완전하여 검색 성능 저하.

해결 방법:

  • LLM을 활용한 Query Expansion
  • Semantic Query Routing을 통해 특정 카테고리로 자동 분류
  • 불필요한 Query를 필터링하여 검색 결과 개선

결과:
MAP 성능이 일시적으로 하락하여, 과학 관련 정보만 검색하도록 기준을 조정해야 했다.

2. Embedding Model 실험

Baseline의 Sparse Retrieval(BM25) 모델을 대체하기 위해 다양한 한국어 임베딩 모델을 테스트했다.

 

모델 설명 결과(MAP)
KR-SBERT 한국어 SBERT 임베딩 모델 성능 낮음
BGE-M3-KO 한국어 특화 Dense Retrieval 모델 성능 향상
text-embedding-ada-002 OpenAI 최신 임베딩 모델 성능 좋지 않음

 

결론:

  • BGE-M3-KO 모델이 가장 높은 성능을 보였으며, Dense Retrieval에 최적화됨.
  • Sparse Retrieval(BM25)와 결합한 Hybrid Retrieval은 큰 효과를 보이지 않음.

3. Hybrid Retrieval & Reranking 적용

Hybrid Retrieval 실험:

  • Sparse(BM25) + Dense(BGE-M3-KO) 조합
  • 하지만, 성능이 오히려 떨어지는 경우 발생
  • Dense Retrieval 성능이 좋아 Hybrid의 이점이 크지 않음

Reranking 적용:

  • 최종적으로 Reranking을 적용하면서 성능이 다시 향상됨
  • Dongjin/kr/ko-reranker 모델이 가장 좋은 성능을 보였음

최종 hybrid+reranking적용한 결과

 


Troubleshooting & 실패 원인 분석

1. ColBERT 모델 실험 실패

  • ColBERT을 활용한 Dense Retrieval 최적화 시도
  • Pseudo Dataset 생성 후 학습했으나, 성능이 기대보다 낮음
  • ColBERT은 문서 수가 많을 때 효과적이나, 이번 대회 데이터셋(4200개)에서는 적절하지 않음

교훈:

  • Dense Retrieval을 무조건 적용하는 것이 아니라, 데이터셋 크기와 적합한 모델을 선택해야 한다.

2. Query Routing & Chunking 실험 실패

  • Query를 특정 카테고리(과학, 사회과학 등)로 라우팅하여 성능을 높이려 했으나, 성능 향상 X
  • 문서 청킹(Chunking)을 활용하여 검색 개선을 시도했으나, 과도한 분할로 인해 성능 저하됨

 교훈:

  • 과도한 Query Routing 및 Chunking은 오히려 검색 성능을 저하시킬 수 있음.
  • 최적의 문서 크기를 찾아야 하며, 모델이 자체적으로 처리가 가능하다면 굳이 추가 분할이 필요하지 않음.

 


최종 결과 및 회고

최종 결과:

  • Hybrid Retrieval(BGE-M3-KO) + Reranking(Dongjin/kr/ko-reranker) 조합이 가장 좋은 성능을 보였음.
  • Hybrid Retrieval의 효과는 미미했으나, 단순 Dense Retrieval보단 충분히 좋은 성능을 냄.

이번 경진대회를 통해 배운 점

1. Dense Retrieval이 Sparse Retrieval보다 성능이 뛰어나지만, 데이터셋에 따라 다를 수 있다.

2. Hybrid Retrieval은 무조건 좋은 것이 아니며, 특정 모델과 조합 시 성능이 달라질 수 있다.
3. Query Expansion 및 Routing 기법은 신중하게 적용해야 한다.

4. Chunking도 시도해봤으나 유의미한 결과가 나오지 않았으므로 다음에 청킹을 활용할 프로젝트가 있었으면 좋겠다. 

 

마무리하며...

이번 경진대회를 통해 IR(정보 검색) 분야에서 다양한 실험을 진행할 수 있었다.
특히 Dense Retrieval 기반으로 진행한 Hybrid Retrieval 검색 기법과 Reranking 기법이 가장 효과적인 접근 방식임을 확인했다.

향후 프로젝트에서는 메타 러닝, Multi-hop Retrieval, Hybrid RAG 등 추가적인 검색 최적화 기법을 연구해보고 싶다