Slide 1

Slide 1 text

欅 惇志 デンソーアイティーラボラトリ akeyaki@d-itlab.co.jp ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT (SIGIR2020) *33FBEJOHळ ※ 図表は論⽂中・Web からの引⽤

Slide 2

Slide 2 text

概要 • 紹介論⽂ 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

Slide 3

Slide 3 text

ColBERT のネットワーク構造 2020.10.31 IRReading2020秋 3 これで伝わった⼈には本発表の 8 割⽅の説明は終了 以降,補⾜説明をしていきます クエリ・⽂書を跨ぐ 双⽅向 transformer クエリと⽂書で別々の 双⽅向 transformer

Slide 4

Slide 4 text

そもそも 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: 深層学習では サブワードをトークンと することが多い

Slide 5

Slide 5 text

では 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

Slide 6

Slide 6 text

(補⾜スライド) BERT の学習 • ⼤規模⾔語表現 o BERT, XLNet, RoBERTa etc. • Pre-training (事前学習) o たくさん本を読んで⼀般教養 (素養) を⾝につける o (陽に問題は解かない) • Fine-tuning (再学習 ≒ 転移学習) o 試験科⽬の問題集 (解答例のあるもの) を解き対策する • Inference o 試験を受ける IRReading2020秋 6 2020.10.31

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

(補⾜スライド) 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% 削減

Slide 9

Slide 9 text

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 モデルと遜⾊ない程度の クエリ処理速度

Slide 10

Slide 10 text

ColBERT におけるクエリ処理⾼速化 IRReading2020秋 各層の計算回数: (l+n)2 オンライン処理が多い のでクエリ処理低速 各層の計算回数: l2+n2 (n2 はオフライン計算可) Q・D は独⽴のため並列計算可 クエリ⻑: l ⽂書⻑: n (l < n) ⼀度の回帰で スコア計算可能 1. dot product l・n 回 2. 総和が スコア ※ 実際はもうちょっと細かい⼯夫あり

Slide 11

Slide 11 text

実験データセット • 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 でも実験

Slide 12

Slide 12 text

クエリ処理速度と精度 • GPU: Tesla V100 (32G memory) • CPU: Intel Xeon Gold 6132 (14 コア) * 2 • Main memory: 469G 2020.10.31 IRReading2020秋 12 ⾼速化 (170 倍速) 同等/ ⾼精度化

Slide 13

Slide 13 text

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