Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Pre-training Tasks for Embedding-based Large-scale Retrieval

Scatter Lab Inc.
February 13, 2020

Pre-training Tasks for Embedding-based Large-scale Retrieval

Scatter Lab Inc.

February 13, 2020
Tweet

More Decks by Scatter Lab Inc.

Other Decks in Research

Transcript

  1. Pre-training tasks for Embedding-based Large-scale Retrieval (Chang et al., 2020)

    Overview - "Pre-training Tasks for Embedding-based Large-scale Retrieval" - Wei-Cheng Chang, Felix X. Yu, Yin-Wen Chang, Yiming Yang, Sanjiv Kumar (CMU and Google) - ICLR 2020 - Contributions - 적절한 Pre-training을 통해 Two-tower Transformer로 BM25를 outperform했음 - Embedding-based Large-scale Retrieval을 위한 Pre-training tasks 제안
  2. Large-scale Retrieval 1. Introduction - 주어진 query에 대해서 적절한 document를

    large corpus에서 찾는 문제 - Large corpus의 크기는 수십만 이상 - Query 와 document 사이의 relevance 를 구하는 문제 - (Retrieval의 output은 이 relevance가 높은 것들) q d f(q, d)
  3. Large-scale Retrieval 1. Introduction 1. Retrieval phase - Solution space를

    축소시켜서 document의 subset을 candidate으로 반환 - High recall, high efficiency 이 핵심 - 아직 옛날 기법(TF-IDF, BM25)을 사용하고 있음 2. Scoring phase - Retrieval을 통해 찾은 document를 reranking함 - BERT를 필두로 비교적 많은 발전을 이룸
  4. Large-scale Retrieval 1. Introduction 1. Retrieval phase - Solution space를

    축소시켜서 document의 subset을 candidate으로 반환 - High recall, high efficiency 이 핵심 - 아직 옛날 기법(TF-IDF, BM25)을 사용하고 있음 2. Scoring phase - Retrieval을 통해 찾은 document를 reranking함 - BERT를 필두로 비교적 많은 발전을 이룸
  5. Large-scale Retrieval 1. Introduction - Query 와 document 사이의 relevance

    를 구하는 문제 - (Retrieval의 output은 이 relevance가 높은 것들) - 추천 시스템이면 가 추천 상품(item) 후보 - Multi-label classification이라면, 는 input document, 는 category나 hashtag - 핑퐁은 가 session(context, reply) q d f(q, d) d q d d
  6. Relevance f 1. Introduction - 와 의 relevance를 계산해줄 는

    그럼 어떻게?? - BERT-style (e.g., BERT, XLNET, RoBERTa) 모델들이 상당히 좋은 성능을 보임 - 하지만 이들은 모두 cross-attention model*들임 - 따라서, large-scale retrieval에 이를 적용하기에는 비용(속도) 문제가 있음 - 그래서 보통 retrieval phase에서는 간단히 돌리고 scoring phase에서 BERT를 씀 q d f * 와 를 concat해서 modeling하는 구조 q d
  7. Previous Work for Retrieval 1. Introduction 1. Classic Information Retrieval

    (IR) - 보통 classic한 information retrieval (IR) 기법을 사용함 - BM25 (Robertson et al., 2009), TF-IDF 2. Embedding-based Retrieval - 와 각각을 encoding해서 embedding을 뽑고, 내적 or cosine sim을 통해 relevance를 계산 - Inference stage에는 에 대해서 embedding space 상의 nearest neighbors를 찾으면 됨 - Document Candidate의 embedding을 모두 미리 계산(pre-computed)할 수 있다는 게 장점 q d q
  8. Two-tower Transformer 2. The Two-tower Retrieval Model - 모델 구조는

    심플함 - Query-tower(query encoder)와 Doc-tower(document encoder)가 독립적으로 query와 document를 encoding함 - 두 embedding vector에 대한 inner product(cosine similarity)로 relevance를 계산함 - Aggregation은 average pooling을 사용.
  9. Learning (pre-training) 2. The Two-tower Retrieval Model - Training data는

    "positive" query-document pairs 와 같은 형태라고 가정함 - 기본적으로 log likelihood 를 maximizing함 - Conditional probability는 아래와 같은 Softmax로 정의됨: τ = (qi , di )|τ| i=1 maxθ ∑ (q,d)∈τ log pθ (d|q) pθ (d|q) = exp(fθ (q, d)) ∑ d′ ∈ exp(fθ (q, d′ ))
  10. Learning 2. The Two-tower Retrieval Model - 하나의 샘플 에

    대한 CE가 아니고, 하나의 와 여러 개의 에 대한 CE라는 게 특이 - 계산 비용을 줄이기 위해 Sampled Softmax라는 full-Softmax의 approximation을 사용함 - Sampled Softmax: 를 전체 document가 아니라 batch 내의 document로 구성된 작은 subset으로 치환하여 approaximation을 하는 것 (q, d) q d pθ (d|q) = exp(fθ (q, d)) ∑ d′ ∈ exp(fθ (q, d′ ))
  11. 3. Pre-training Tasks of Different Semantic Granularities Pre-training tasks for

    Embedding-based Large-scale Retrieval (Chang et al., 2020)
  12. 좋은 pre-training task의 요소 3. Pre-training Tasks of Different Semantic

    Granularities 1. Downstream task와 관련이 있어야 함 - QA retrieval 문제를 풀려면, pre-training에서 query와 document 간의 미묘한 의미적 차이를 모델이 잡아낼 수 있게 해줘야 함 2. 수집하는 비용이 적어야 함 - 사람이 직접 supervision할 수 없음
  13. Pre-training Tasks 3. Pre-training Tasks of Different Semantic Granularities 1.

    Inverse Cloze Task (Lee et al., 2019) 2. Body First Selection (newly proposed) 3. Wiki Link Prediction (newly proposed) 4. Masked Language Modeling (Devlin et al., 2019)
  14. 1. Inverse Cloze Task (ICT) 3. Pre-training Tasks of Different

    Semantic Granularities - Local context within a paragraph - 주어진 개의 문장으로 구성된 passage 에 대해서 - 임의의 한 문장 (where ) 를 뽑고, 나머지 문장들의 집합을 document 로 만들어서, 최종 (positive) sample 를 만듬 - Figure 2에서 에 해당됨 n p = {s1 , s2 , . . . , sn } q = si i ∼ [1,n] d = {s1 , . . . , si−1 , si+1 , . . . , sn } (q, d) (q1 , d)
  15. 2. Body First Selection (BFS) 3. Pre-training Tasks of Different

    Semantic Granularities - Global consistency within a document - ICT와 같이 local paragraph가 아닌 외부 passage와의 관계를 학습 - Wiki 특정 페이지의 첫 section에서 하나의 를 뽑고, 해당 페이지의 passage 중 임의로 를 뽑음 - 첫 section에서 를 뽑는 이유: - 주로 해당 페이지의 전반적인 description이나 summary가 적혀있음 → 해당 페이지의 내용을 대부분 커버할 수 있기 때문 - Figure 2에서 에 해당됨 q2 d q (q2 , d)
  16. 3. Wiki Link Prediction (WLP) 3. Pre-training Tasks of Different

    Semantic Granularities - Semantic relation between two documents - Wiki 특정 페이지의 첫 section에서 하나의 를 뽑고, 해당 페이지로 hyperlink가 걸려있는 문서 중 하나에서 document 를 뽑음 - Figure 2에서 에 해당됨 q3 d (q3 , d)
  17. Model Details 4. Experiments - 12 layers BERT-base model -

    Final embedding(512-dim) = “[CLS]” output에 linear 태움 - Query max length = 64 - Document max length = 288
  18. Training Details 4. Experiments - Pre-training - batch size =

    8192 - 32 TPU v3 for 100K steps (2.5일동안 학습) - Adam optimizer - init lr = 1e-4 - warm-up ratio = 0.1 - linear lr decay
  19. Training Details 4. Experiments - Fine-tuning - batch size =

    512 - 2000 training steps - Adam optimizer - lr = 5e-5
  20. Pre-training Tasks 4. Experiments - ICT, BFS, WLP 데이터는 Wikipedia

    corpus로부터 생성함 - ICT의 경우 를 Doc-tower로 encoding할 때, article의 title과 passage를 "[SEP]"로 분리하여 input을 구성함 - Two-tower Transformer를 위의 세가지 paragraph-level pro-training task에 대해서 jointly 학습을 함 (Multi-task Learning) - 모두 쌍으로 training sample이 존재하며, 각 sample은 uniformly sampling 됨 d (q, d) * #tokens는 WordPiece로 tokenizing된 sub-words의 수를 의미함
  21. Downstream Tasks 4. Experiments - Retrieval Question-Answering (ReQA) Benchmark: SQuAD,

    Natural Question - 원래 QA에서는 형태로 sample이 구성됨 - : question - : answer span - : evidence passage containing - 문제: 주어진 에서 에 대한 정답 찾기 ( ) (q, a, p) q a p a p q a q, p → a
  22. Downstream Tasks 4. Experiments - 하지만 우리가 평가하려는 건 QA가

    아니라 retrieval 성능! - 그래서 를 로 sample 구성을 바꿈 - : question - : sentence containing answer span - : evidence passage containing - 문제: 주어진 에 대해서 모든 중에 적절한 찾기 ( ) (q, a, p) (q, si , p) q si a p = {s1 , s2 , . . . , sn } a q (s, p) (si , p) q → si , p
  23. Results 4. Experiments - Metric: Recall@k - 1/99, 5/95는 cold

    start 시나리오 - BM25: unsupervised baseline - BoW-MLP (128M params): BoW + avg pooling + 2-layer MLP - Transformer (110M params)
  24. Results 4. Experiments - Metric: Recall@k - 1/99, 5/95는 cold

    start 시나리오 - BM25: unsupervised baseline - BoW-MLP (128M params): BoW + avg pooling + 2-layer MLP - Transformer (110M params)
  25. Conclusion 5. Conclusion - Two-tower Transformer는 pre-training을 안하거나 MLM으로는 BM25보다

    별로일 수 있음 - 그만큼 BM25가 심플하지만 tough-to-beat - ICT, BFS, WLP로 pre-training을 하면 Two-tower Transformer가 더 성능이 좋음 - Future Work - 어떻게 다른 유형의 encoder architecture에도 이 pre-training tasks를 적용할지 - Wikipedia 말고 다른 corpus에서 pre-training data를 생성할 방법
  26. 감사합니다✌ 추가 질문 또는 궁금한 점이 있다면 언제든 아래 연락처로

    연락 주세요! 이주홍 (ML Engineer, Pingpong) Email. [email protected] Facebook. @roomylee Linked in. @roomylee