$30 off During Our Annual Pro Sale. View Details »

論文紹介: "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 からの引⽤

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide