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

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

영진

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

~~~~

재영

Sparse embedding은 0이 너무 많아 비효율 적이고 단어사이의 유사성을 측정하지 못해 의미가 비슷한 단어또한 전혀 다른 단어로 분류하게 된다.

  • dense embedding 인코더 모델을 이용해서 단락을 하나의 벡터로 바꾼다. bert같은 모델을 사용하여 단락의 의미를 담고 있는 벡터를 만들어낼 수 있다. 쿼리에 대한 인코더와 문맥에 대한 인코더를 두개 만들어 이들의 내적이 최대가 되게 학습한 뒤 모든 문서의 벡터를 구한뒤 쿼리가 주어질때마다 이 쿼리의 벡터와의 내적이 최대가 되는 벡터인 문서를 찾는다. 학습을 할 때는 실제 question과 context,그리고 question과 상관없는 다른 cotext를 뽑은 뒤 question의 벡터와 context의 내적은 최대가 되고 그렇지 않은 경우에는 내적이 작아지도록 nll loss를 이용해서 학습을 한다. 이를 통해 실제 문맥의 정보를 답고 있게 학습을 시켜 이를 retrieval단계에서 인덱스를 찾는데 사용한다.
  • 결국 odqa에서 필요한 것은 좋은 retriever와 좋은 reader, 그리고 좋은 데이터 전처리이다!

준홍

  • Sparse Embedding의 한계: 차원수가 큰데 대부분 0이다 (압축으로 해결 가능), 유사성을 고려하지 못함
  • Sparse Embedding의 한계를 극복하기 위해 나오는 방법 -> Dense Embedding 고밀도의 벡터
  • 반대로 Sparse Embedding의 경우 정확히 일치해야 하는것을 찾을 때에는 더욱 효과적임.
  • 하지만 최근에는 대부분 Dense Embedding을 사용한다.
  • 다양한 PLM 을 사용해도 된다.

연주

현수

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

세현

성욱

  • Embedding
    • 실제로는 Sparse Embedding을 쓰는 동시에 Dense Embedding을 사용하거나, Dense Embedding만을 활용하여 Retrieval을 구축하는 것이 일반적으로 추천된다.
  • 시도 해볼 수 있는 것
    • Question BERT [CLS] token과 Passage BERT [CLS] token 사이의 유사도를 구할 때, 유사도를 구하는 다양한 방법론 생각해보기
    • Question BERT, Passage BERT에서 BERT가 아닌 다양한 PLM 모델을 활용하여 fine-tuning 할 수 있다.
    • 유사도를 구할 때, [CLS] token에 대한 embedding vector를을 사용하는데, 다른 유의미한 token은 없을까?
    • Negative Sampling을 진행할 때, Negative Example를 선택하는 방법론을 여러가지 적용해보기 (ex, 높은 TF-IDF score를 가지지만 답을 포함하지 않은 샘플 등) -> 실제로 정확도가 많이 올랐다고 한다.
  • How to make better dense encoding
    • 학습 방법 개선 (e.g. DPR) -> Reference Paper 참조
    • 인코더 모델 개선 (BERT보다 큰, 정확한 Pre-trained 모델)
    • 데이터 개선 (더 많은 데이터, 전처리 등)
    • MRC 모델의 성능향상도 중요하지만, 얼마나 올바른 문서를 찾아오는 가 역시 중요하다.
  • 궁금한 점
    • Dense Encoding을 할 때, 학습 데이터는 어떤 것을 활용해야 하는가? -> 공개된 KorQuAD Dataset?! 혹은 Competition에서 제공된 dataset?!
    • NLL을 사용하면 자동으로 Ground Truth와는 더 가까워지도록, 그리고 답이 아닌 Passage들과는 멀어지도록 학습되는가?