MRC 6강 - KR-HappyFace/meetup-logs GitHub Wiki

  • 본인이 생각하는 핵심부문을 요약하기
  • 의문점, 궁금했던 점도 적기
  • 쓸만한 실습코드 있으면 여기다가 붙여넣기

영진

Improved Baseline은 Embedding Layer을 resize하지 않아도 되는 간편함이 있다.

~~~~

재영

  • 기존 방법의 단점 쿼리의 벡터와 단락의 벡터의 내적을 일일히 구해 최댓값을 찾아야한다. 그런데 실제 문서는 엄청나게 많다. 그래서 이 과정이 시간이 매우 많이 걸릴 수도 있다.
  • scalar quantization 벡터의 크기를 줄여서 연산을 줄이는 방법(4bite->1bite) -pruning(ivf) 전체 데이터를 다 찾는게 아니라 전체 데이터의 부분집합만을 이용한다. 클러스터링을 통해 k개의 집합으로 나눈뒤, 쿼리벡터와 k개의 집합들의 대표값의 벡터간의 내적이 가장 큰 집합을 찾고 그 집합의 데이터들 중에 내적이 최대가 되는 단락을 찾는다.
  • faiss sq와 ivf를 사용할 수 있게 해주는 라이브러리! 벡터값을 입력으로 받기 때문에 단순 qa뿐 아니라 다양한 테스크에 사용할 수 있는 라이브러리, 주어진 벡터에 대해 학습(클러스터링)한 후에 나눠진 값을 사용할 수 있다!

준홍

  • Similarity Search는 이해하기 쉽게 L2 거리를 이용해 예시를 들었지만 계산을 위해서 inner product를 사용함 이 방법을 MIPS(Maximum Inner Product Search)라 부른다.

  • 전 강의에서 가르켜준 방법은 BF방법으로 전부 구해서 argmax 해줬지만 이 방식은 문서 사이즈가 커지면 메모리 사용량이 너무 커진다.

  • Tradedoffs of similarity search image

  • Compression : Sqalar Quantization vector를 압축시키는 방법. 보통 4-byte floating point를 1-byte int로 바꿈

  • Pruning : Inverted File Clustering 후에 Inverted 과정을 거친 뒤 search 시에는 K-means 방식으로 찾는다.

-FAISS : 앞에 말한 방법들이 구현되어있는 라이브러리이다. 벡터로 된 값들은 전부 사용 가능.

연주

현수

Improved Baseline은 Embedding Layer을 건드리지 않기 때문에, 기존에 있는 hidden features를 그대로 사용함으로서, initiialized된 special token을 활용하지 않는 장점이 있다.

세현

성욱

  • Retrieval : 유사도를 구할 때 Near Neighbor Search (L2 Norm - Euclidean Distance) 보다는 Inner Product Search를 많이 사용한다.
    • 유사도를 구하는 다양한 알고리즘 적용해보기
  • Approximating Similarity Search
    • SQ(Scalar Quantization)
    • PQ(Product Quantization)
    • SQ를 실험해본 후 PQ 적용하기
  • IVF를 진행할 때 다양한 clustering 기법 활용해보기
  • FAISS 적용해보기
  • 질문
    • Cluster 학습은 어떤 식으로 진행되는가? (기준 같은 것?!)