본문 바로가기

NLP/논문이해

[논문 이해] SPLADE v2: Sparse Lexical and Expansion Model for Information Retrieval

논문명: SPLADE v2: Sparse Lexical and Expansion Model for Information Retrieval

논문 링크: https://arxiv.org/abs/2109.10086

 

SPLADE v2: Sparse Lexical and Expansion Model for Information Retrieval

In neural Information Retrieval (IR), ongoing research is directed towards improving the first retriever in ranking pipelines. Learning dense embeddings to conduct retrieval using efficient approximate nearest neighbors methods has proven to work well. Mea

arxiv.org

 

 

간단하게 아이디어만 정리합니다. 전 논문은 아래에 리뷰했습니다.

 

https://heygeronimo.tistory.com/82

 

[논문이해] SPLADE: Sparse Lexical and Expansion Model for First Stage Ranking

논문명: SPLADE: Sparse Lexical and Expansion Model for First Stage Ranking 논문 링크: https://arxiv.org/abs/2107.05720 SPLADE: Sparse Lexical and Expansion Model for First Stage Ranking In neural Information Retrieval, ongoing research is directed t

heygeronimo.tistory.com

 


V1과 달라진 점

  • query pooling 방식
  • document pooling 방식
  • 학습 방법: hard negatives + distillation

 

Query Pooling 방식

SPLADE v1 방식

  • 여기서 i 는 토큰 개수, j 는 단어 개수를 의미한다
  • 예컨대, "나는 네가 좋아" 가 [나는, 네가, 좋아] 로 나눠진다면 i = 3 이다.
  • 그리고 여기서 j 는 "사랑" 이라는 단어를 의미한다고 가정하자.
  • 그렇다면, 각 토큰 임베딩마다 "사랑"에 해당하는 값을 모두 log(1 + ReLU(w)) 을 취해서 더했던 게 V1 이다.

 

SPLADE v2 방식

  • sum 이 아니라 max 로 바뀌었다

 

Document Pooling 방식

SPLADE v2 방식

  • v1 에선 원래 query 처럼 계산했었다
  • v2 에선 이제 document 에 별짓 안 하고 그냥 더하기만 한다

 

Hard negatives

  • easy negative 는 쉽게 말해 누가봐도 오답이라 구분하기 쉬운 걸 의미한다
  • 모델들도 명확하게 쉬운 문제가 있고 어려운 문제가 있다
  • Retrieval 분야에선 이렇게 어려운 문제를 hard negative 라고 부르는데, 이걸 직접 추출해서 활용한다.
  • 예컨대 모델 A가 1번 정답이 1번인데 자꾸 2번을 가장 높은 확률로 예측한다면, 모델 B에게 1번 정답이 2번이 아니라는 걸 의도적으로 손실함수에 넣어 학습시킨다.
  • 보통 BM25처럼 가벼운 모델로 뽑기 마련인데, 여기선 SPLADE v1 fine tuned 를 가지고 뽑았다

 

Knowledge Distillation

  • 학습된 모델의 임베딩 혹은 로짓값을 vanilla 모델이 따라가는 걸 의미한다
  • 청출어람처럼 teacher model 을 정답 삼아 학습하면 대다수의 경우에서 성능이 오른다
  • 보통 Hard negative 와 Knowledge Distillation 은 최후의 수단으로 성능을 올릴 때 쓰는데, 이 논문에서도 쥐어짰다고 보면 된다

 

 

성능

  • 가장 아래 부분을 보면 성능이 확실히 올랐다