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

論文紹介: "ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT (SIGIR2020)"

keyakkie
November 02, 2020

論文紹介: "ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT (SIGIR2020)"

IR Reading 2020 秋にて紹介した ColBERT の概要スライドです.BERT について間違ったことを書いていたので修正しました.不適切な記述などがあればご指摘頂ければ幸いです

keyakkie

November 02, 2020
Tweet

More Decks by keyakkie

Other Decks in Research

Transcript

  1. 欅 惇志 デンソーアイティーラボラトリ [email protected] ColBERT: Efficient and Effective Passage Search

    via Contextualized Late Interaction over BERT (SIGIR2020) *33FBEJOHळ ※ 図表は論⽂中・Web からの引⽤
  2. 概要 • 紹介論⽂ o ColBERT: Efficient and Effective Passage Search

    via Contextualized Late Interaction over BERT (SIGIR2020) • Omar Khattab (Stanford University), Matei Zaharia (Stanford University) • 要約 o BERT は⾼精度だがクエリ処理が低速 o クエリと⽂書のインタラクションのタイミングを遅らせる ことで⾼速化 • BERT の 170 倍速 o 精度は BERT と同等 (re-ranking) か改善 (full retrieval) • タスクの前提 o パッセージ検索 (¬ ⽂書検索) • ⼀般的なパッセージの例: パラグラフ,連続する 3 ⽂ • 資料の中で説明していないこと o attention o transformer o サブワード 2020.10.31 2
  3. そもそも neural ranking model とは • 従来の Bag-of-Words (BoW) 表現

    o ⽂書中に出現した索引語に重み付与 o ⾮常にスパース (疎) な⾏列 (ベクトル)※1 • Pros: 内積計算が⾼速 • Cons: synonym (同義語) や表記ゆれがマッチしない※2 • 分散表現 (単語※3のベクトル化) o 単語は固定次元のベクトルで表現 • 意味の近い (⽂脈の似た) 単語は潜在意味空間上で近くに集結 • 副作⽤的に密なベクトル表現 o Neural ranking model • 単語の分散表現をそのまま使う • よしなに加⼯して⽂書ベクトル化 • 低速 & 語彙拡張 (的な効果) 4 D1: “apple grape” D2: “apple banana banana” D3: “grape apple apple” apple banana grape D1 1 0 1 D2 1 2 0 D3 2 0 1 BoW 表現 dim1 dim2 dim3 D1 0.5 0.2 0.5 D2 0.1 0.8 0.2 D3 0.4 0.1 0.4 ※1: LSI などで密な ⾏列に変換可能 ※2: 接辞処理で吸収できる のは活⽤形の変化 分散表現 (値は適当) D1 と D3 の 類似度が⾼く なってほしい 気持ち ⽂書の例 ※3: 深層学習では サブワードをトークンと することが多い
  4. では BERT とは (話が⾶びます) • BERT (Bi-directional Encoder Representations from

    Transformers) o 双⽅向 (bi-directional) transformer • Pros o 同時に複数時刻 (単語) の計算ができる o ⾮再帰・attention だけなので構造がシンプル o (広い視野で) 双⽅向の情報を⾒れる 2020.10.31 IRReading2020秋 5 RNN (LSTM も RNN の⼀種) encode: x1 à x2 à x3 à decode: y1 à y2 à y3 transformer 全 Ei 同時に計算 BERT
  5. (補⾜スライド) BERT の学習 • ⼤規模⾔語表現 o BERT, XLNet, RoBERTa etc.

    • Pre-training (事前学習) o たくさん本を読んで⼀般教養 (素養) を⾝につける o (陽に問題は解かない) • Fine-tuning (再学習 ≒ 転移学習) o 試験科⽬の問題集 (解答例のあるもの) を解き対策する • Inference o 試験を受ける IRReading2020秋 6 2020.10.31
  6. (補⾜スライド) BERT の事前学習 • Masked language model (MLM) o マスクされたトークンを周辺⽂脈から予測

    • 15% の単語を [MASK] に変更 • 残り 85% の単語から 15% の単語を予測 • 双⽅向 transformer の出番 • Next sentence prediction (NSP) o 2つの⽂の連続/⾮連続を予測 IRReading2020秋 7 出⼒: 連続/⾮連続の 2 値を予測 ⼊⼒: 2 ⽂ (連続/⾮連続) 分散表現に変換 されて学習 出⼒: [MASK] が元の 語に復元 (予測) された 2 ⽂ 連続/⾮連続を 予測するトークン [MASK] の元の語を 予測するトークン
  7. (補⾜スライド) BERT の発展 • Dynamic mask • NSP の改善 •

    学習データ追加 • カタログスペック で⼀番強い? IRReading2020秋 BERT RoBERTa XLNet ALBERT レベルアップ 上位職に クラスチェンジ 別系統の職に クラスチェンジ • MLM 廃⽌ o マスクは⼈⼯ノイズ • ただし双⽅向情報は⾒たい o Permutation language model • TransformerXL + PLM • ALBERT (A Little BERT) • BERT はパラメータ数多い o 語彙 V (30,000) × 隠れ層の次元 H (768) • V を低次元 E (128) に埋め込み • 精度落とさずにパラメータ数 95% 削減
  8. BERT 以前の neural ranking model • Representation-based Similarity o Q

    と D 別々に埋め込み o naïve な DNN を使⽤ • ⽂脈情報を有効に使えていない o D の埋め込みはオフラインで 計算可能 • Query-Document Interaction o Q と D 全単語ペアを考慮 o ⻑期依存や Q 内・D 内⽂脈情報 を⾒れていない o 単語ペアの計算部分はオフラインで 計算可能 2020.10.31 IRReading2020秋 9 BoW モデルと遜⾊ない程度の クエリ処理速度
  9. ColBERT におけるクエリ処理⾼速化 IRReading2020秋 各層の計算回数: (l+n)2 オンライン処理が多い のでクエリ処理低速 各層の計算回数: l2+n2 (n2

    はオフライン計算可) Q・D は独⽴のため並列計算可 クエリ⻑: l ⽂書⻑: n (l < n) ⼀度の回帰で スコア計算可能 1. dot product l・n 回 2. 総和が スコア ※ 実際はもうちょっと細かい⼯夫あり
  10. 実験データセット • MS MARCO Ranking o パッセージ • 2-4 ⽂

    (30-50 単語) くらい o クエリ • 2-15 単語くらい • ⾃然⽂のクエリも結構多い o 例: what __? / how __? o 適合性評価 • クラウドワーカーによる Bing 検索結果のアノテーション • ⽂書中からクエリに relevant なパッセージをマーク o 提案⼿法の設定条件 • Re-ranking o BM25 で取得した Top-1000 パッセージのリランキング (早い) • Full-retrieval o 全パッセージから Top-1000 パッセージのスコアリング (遅い) • 近傍探索ライブラリ faiss 使って⾼速化している o Synonym (同義語) や表記ゆれがマッチしてくれるかも※5 o 評価尺度 • MRR@10 2020.10.31 11 多分,⾃然⽂のクエリの⽅が 上⼿くいきそう (事前学習の ⾔語表現と⼀致するため) ※4: (事前学習済み) BERT の仕様で 512 token より⻑い token は削除 ※5: データセットによっては 語彙拡張は逆効果 論⽂中では TREC CAR でも実験
  11. クエリ処理速度と精度 • GPU: Tesla V100 (32G memory) • CPU: Intel

    Xeon Gold 6132 (14 コア) * 2 • Main memory: 469G 2020.10.31 IRReading2020秋 12 ⾼速化 (170 倍速) 同等/ ⾼精度化
  12. まとめ • ColBERT o 概要 • クエリ・⽂書を跨ぐ attention は⾏わない o

    ⾏列演算回数軽減 o ⽂書の埋め込みはオフライン処理可能 o 実験結果 • re-rank だとクエリ処理 170 倍速で精度維持 • full retrieval だとクエリ処理 23 倍速で精度向上 2020.10.31 IRReading2020秋 13