Is ChatGPT Good at Search? Investigating Large Language Models as Re-Ranking Agent

장한솔·2023년 5월 22일
0


파란색은 monoT5모델이다. ChatGPT(GPT-3.5)는 monoT5보다 조금은 낮은 점수를 보이는데, GPT-4의 경우 rerank에서 점수적인 이점을 보여주고 있다.

  1. 그렇다면 어떻게 chatGPT를 이용해서 reranking을 할 수 있을까?

  2. 더 작은 모델을 가지고 chatGPT의 능력을 흡수하려면?

이 논문은 이런 질문들을 나름의 방식으로 해결하고자 했다.

먼저 reranking을 하기 위해서 instruction 이용해 비교해보았다.

1) Query generation

  • 해당 passage에 적합한 query를 생성
  • relevance score sis_i를 구하는 것이 목표이다.

2) Relevance generation

  • the relevance generation instruction use 4 in-context examples.
  • Yes, No로 나올 probability를 가지고 계산한다.

3) Permutation generation

  • Passage들을 주고 Ranking을 하도록 했다.
  • 실제로는 window 20, step 10, 100 passages for GPT3.5, 30 passages for GPT4로 하도록 했다.

이렇게 세 가지 방법을 가지고 실험을 해보았을 때에 가장 마지막인 permutation generation이 셋 중에 가장 효과적인 것임을 아래에서 확인을 했다.

Results

  • 위에 올라온 sis_i 값을 기준으로 순서를 매긴 것으로 점수를 내었을 때에 Permutation generation의 경우 가장 점수가 높았다.

  • BEIR 데이터셋으로 확인했을 때에는 GPT3.5를 가지고 permutation generation을 진행한 후에 GPT4를 이용해 추가로 더 rerank한 경우 점수가 좋았다.

  • 다양한 언어가 포함된 데이터셋인 Mr.TyDi도 위와 같이 GPT3.5를 가지고 rerank 진행 후 GPT4를 이용해서 추가로 rerank를 진행했을 때에 평균 점수가 더 높다.

  • Abalation
    top N : N이 클수록 좋다.
    BM25의 순서를 무시하거나, 반대로 해서 permutation generation을 하면 안된다.
    GPT3.5를 가지고 여러번 rerank 하는 것보다 GPT4를 가지고 한번 더 하는 것이 낫다.

Re-label을 통해서 작은 모델을 훈련하는 방법도 있다.

  • MSMARCO 데이터셋을 일부 이용해서 ChatGPT로 라벨을 만들어 훈련에 사용했을 경우에 도 새로 라벨을 생성하지 않았을 때와 비교했을 때에 더 좋은 점수를 보여준다.

전체적으로 공평한 비교가 되고 있지 않은 상황이 아닌가 하는 의심이 든다...

  • Ranknet은 각각의 짝으로 점수를 내어서 순서에 맞게 점수들이 배열되도록 하는 로스
  • 람다로스의 경우 NDCG의 어떤 수치를 아예 로스안에 집어넣었다.
profile
산미 있는 커피를 좋아하는 자연어처리 엔지니어. 일상 속에서 요가와 따릉이를 좋아합니다. 인간의 언어를 이해하고 생성하는 AI 기술 발전을 위해 노력하고 있습니다. 🧘‍♀️🚲☕️💻

0개의 댓글

관련 채용 정보