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

論文紹介 / REALM: Retrieval-Augmented Language Model Pre-Training

Kyosuke Nishida
September 26, 2020

論文紹介 / REALM: Retrieval-Augmented Language Model Pre-Training

Kyosuke Nishida

September 26, 2020
Tweet

More Decks by Kyosuke Nishida

Other Decks in Technology

Transcript

  1. 論⽂紹介
    REALM: Retrieval-Augmented
    Language Model Pre-Training
    Kelvin Guu, Kenton Lee, Zora Tung,
    Panupong Pasupat, Ming-Wei Chang (Google)
    ICML 2020
    紹介者: ⻄⽥京介(NTTメディアインテリジェンス研究所)
    2020/09/26 @ 第12回最先端NLP勉強会

    View full-size slide

  2. • 何をする研究か︖
    – ⾔語モデルの事前学習法の提案
    – Wikipedia等の外部知識コーパスから関連⽂書を検索して
    事前学習,ファインチューニング,推論時に利⽤する
    • 貢献は何か︖
    – RetrieverとEncoderから構成されend-to-end学習可能な
    REALMモデルを提案
    – NaturalQuestionsなどのオープンドメインQAでSOTA
    • 嬉しさは︖
    – ニューラルネットワークのパラメータの中に全ての知識
    を詰め込む必要が無くなる
    – コーパスの増強により追加学習なしに精度を改善可能
    REALM: Retrieval-Augmented Language Model Pre-Training
    概要
    2

    View full-size slide

  3. • モデルアーキテクチャ
    • 学習⽅法
    • 評価実験
    • 議論
    3
    ⽬次

    View full-size slide

  4. • 事前学習およびファインチューニングを,
    ⼊⼒に対する分布(|)の学習として捉える
    – MLMであれば, x がマスク化テキスト, がトークン
    – オープンドメインQAであれば, x が質問, が回答
    • Retrieval-Augmented LM
    – (|)を潜在変数 (=⽂書)を⽤いて検索と予測の2段
    階に分解
    4
    モデルの概要
    知識コーパスから
    ⽂書を検索
    ⼊⼒と⽂書から
    から出⼒を⽣成

    View full-size slide

  5. 5
    事前学習 (MLM) での⽣成過程
    検索
    予測
    タスク︓(|)
    xの中の[MASK]=yを予測
    コーパスZからxに関連
    する知識⽂書zを検索
    xとzの連結テキストから
    [MASK]に⼊る単語を予測

    View full-size slide

  6. 1. Neural Knowledge Retriever︓ (|)
    2. Knowledge-augmented Encoder︓ (|, )
    è 両⽅とも微分可能なネットワーク(BERT(base)サイズ
    のTransformer+MLP)としてモデリング
    6
    モデルアーキテクチャ
    検索
    予測

    View full-size slide

  7. • ベクトル空間モデル
    • ⼊⼒と⽂書をd次元ベクトルに変換(Embed)し,
    関連度(, )をそれらの内積として求める
    • Retrieverの各⽂書に対する出⼒(|)は知識コーパスに
    おける関連度のsoftmaxにより計算
    7
    Retriever: (|)

    View full-size slide

  8. • 埋め込み関数EmbedにBERT+線形変換を⽤いる
    • ⼊⼒フォーマットjoinは以下の通り
    8
    関連度(, )
    [CLS]に対応するベクトル

    View full-size slide

  9. • (|)を効率的に求めるため,検索はTop-kを利⽤
    • 関連度(, ) でランキングする
    èMaximum Inner Product Search(MIPS; 最⼤内積探
    索)のアルゴリズムを⽤いてTop-K ⽂書を検索
    9
    Top-K検索による近似
    検索
    予測

    View full-size slide

  10. • Maximum Inner Product Search (MIPS)
    – d次元のベクトル集合S,d次元のクエリqに関して,下記を計算
    • Nearest Neighbor Search(ユークリッド距離による)
    – すべての ∈ に対して ! = であればMIPSと等価
    10
    参考︓MIPS vs. Nearest Neighbor Search
    Anshumali Shrivastava, Ping Li: Asymmetric LSH (ALSH) for Sublinear Time
    Maximum Inner Product Search (MIPS). NIPS 2014: 2321-2329

    View full-size slide

  11. • インタラクションモデルの⽅が⾼い精度を実現できるが,⽂
    書を予めインデキシング出来ないため遅い
    11
    参考2: ベクトル空間モデル vs. インタラクションモデル
    BERT
    [CLS] query [SEP] doc
    relevance
    BERT
    query
    dense vector
    BERT
    doc
    dense vector
    MIPS/NNS
    index
    relevance
    ベクトル空間モデル インタラクションモデル
    Rodrigo Nogueira, Kyunghyun Cho:
    Passage Re-ranking with BERT. CoRR
    abs/1901.04085 (2019)
    Vladimir Karpukhin et al.: Dense Passage
    Retrieval for Open-Domain Question
    Answering. CoRR abs/2004.04906 (2020)

    View full-size slide

  12. • Retrieverと同様にxとzを⼊⼒とするBERTを⽤いる
    • BERTの出⼒からタスク固有層で出⼒yに変換
    12
    Encoder︓ (|,)
    BERT
    タスク固有層
    (,)
    [CLS] [SEP]

    View full-size slide

  13. • Masked Language Modelingタスクにおいてマスクさ
    れたトークンyを出⼒
    13
    事前学習の場合
    MLM⽤
    マスクされたトークン数

    View full-size slide

  14. • ⼊⼒+検索⽂書のテキストから回答となる範囲sを
    発⾒する
    – BERTの出⼒から範囲sの始点STARTと終点ENDのベクトルを
    取得し,exp(MLP(・))でスカラ値(範囲sのスコア)に変換
    14
    オープンドメインQAの場合
    QA⽤
    yがzの中でマッチングした範囲の集合

    View full-size slide

  15. • モデルアーキテクチャ
    • 学習⽅法
    – Retrieverのみの事前学習
    – REALMの事前学習
    • 検索インデクスの更新について
    – オープンドメインQAでのファインチューニング
    • 評価実験
    • 議論
    15
    ⽬次

    View full-size slide

  16. • Retrieverをscratchから学習すると上⼿くいかない
    • Inverse Cloze Task [Lee+, ACLʼ19]にて教師あり学習
    16
    Retrieverのみの事前学習(ICT Pre-training)
    [Lee+, ACL’19] https://www.aclweb.org/anthology/P19-1612/
    “...Zebras have four gaits: walk, trot, canter and gallop. They are generally
    slower than horses, but their great stamina helps them outrun predators.
    When chased, a zebra will zig- zag from side to side...”
    ⽂qを抽出して
    クエリにする
    抽出元の⽂書
    (クエリ⽂qを除外)
    を正例にする

    View full-size slide

  17. • Masked Language Modelingで (|) のNLLを最⼩化
    • [MASK]の対象は固有表現に限定
    17
    REALM(Retriever+Encoder)の事前学習
    Wikipedia or
    CC-News
    Wikipedia

    View full-size slide

  18. 1. 検索対象の全⽂書zに対してRetrieverが埋め込みベ
    クトルを計算して検索(MIPS)インデクスを構築
    2. Retrieverが学習により更新されると, Retrieverと
    1で作成した検索インデクスは⼀貫性が無くなる
    è 定期的(数百ステップ毎)にインデクスの更新が
    必要.学習とインデクス更新を⾮同期に実施する
    18
    事前学習時の検索インデクスの構築

    View full-size slide

  19. • 知識コーパスZとしてWikipediaを利⽤して, (|) のNLLを
    最⼩化
    • MIPSインデクスは最初に構築した後は更新しない
    19
    ファインチューニング(Open-QA)
    QA dataset
    Wikipedia

    View full-size slide

  20. • モデルアーキテクチャ
    • 学習⽅法
    • 評価実験
    • 議論
    20
    ⽬次

    View full-size slide

  21. • 事前学習︓
    – 64TPUを利⽤して200kステップ.バッチサイズ512.
    – MIPSのインデキシング(BERTによる全⽂書Zの埋め込み)
    のために16TPU利⽤.約500ステップで更新
    – 各サンプルについてTop-8を検索(推論時はTop-5)
    • 知識コーパスZ(検索対象)はWikipediaを288
    wordpiece毎に分割した1300万⽂書
    • データセットはオープンドメインQA
    – NaturalQuestions-Open(NQ),WebQuestions(WQ),
    CuratedTree(CT)
    21
    実験設定

    View full-size slide

  22. • 従来⼿法に⽐べて⼤幅に精度向上
    22
    評価結果
    事前学習コーパスの
    違いで精度に差

    View full-size slide

  23. • REALM事前学習でRetrieverが⼤幅な精度改善
    – QAや検索データで学習せずに良い検索ができている
    – MIPSインデクスの定期的な更新は重要
    23
    結果︓検索性能が⼤幅に改善
    Inverse
    Cloze Task
    事前学習のみ
    REALMで
    Retrieverを
    事前学習
    MIPSインデクスの更新少ない時
    QA精度
    QAファインチューニング前の
    検索精度(⽂書が回答を含む)

    View full-size slide

  24. • 事前学習を世界知識の獲得/利⽤⽅法の上達に集中
    させることが効果あり
    24
    結果︓マスク対象を固有表現にして改善
    QA精度
    QAファインチューニング前の
    検索精度(⽂書が回答を含む)
    MLMのマス
    ク対象を固有
    表現に限定

    View full-size slide

  25. • REALMで使⽤されたMIPSアルゴリズム/ライブラリは不明
    – Asymmetric LSH [NIPS14]などの論⽂3本が引⽤されている
    • REALMの学習に要した時間は不明
    – 500ステップ毎に,1300万パッセージのBERTベクトルの計算とインデ
    クス構築が必要.合計200kステップなので,約400回必要.
    – ファインチューニング時は(計算が重いためなのか)インデクス更新
    はしない
    – FacebookのFAISSライブラリ(DPR [Karpukhin+, arxiv20] で利⽤)では,
    2100万パッセージのBERTベクトル計算に8.8時間(8GPUで並列),イ
    ンデクス構築に8.5時間掛かったとの報告
    25
    議論︓Retrieverの検索インデクス更新は現実的︖
    Vladimir Karpukhin et al.: Dense Passage Retrieval for Open-Domain
    Question Answering. CoRR abs/2004.04906 (2020)
    Anshumali Shrivastava, Ping Li: Asymmetric LSH (ALSH) for Sublinear Time
    Maximum Inner Product Search (MIPS). NIPS 2014: 2321-2329

    View full-size slide

  26. • 何をする研究か︖
    – ⾔語モデルの事前学習法の提案
    – Wikipedia等の外部知識コーパスから関連⽂書を検索して
    事前学習,ファインチューニング,推論時に利⽤する
    • 貢献は何か︖
    – RetrieverとEncoderから構成されend-to-end学習可能なREALMモ
    デルを提案
    – NaturalQuestionsなどのオープンドメインQAでSOTA
    – 検索モデルの事前学習法としても使える︖
    • 嬉しさは︖
    – ニューラルネットワークのパラメータの中に全ての知識を詰め
    込む必要が無くなる
    – コーパスの増強により追加学習なしに精度を改善可能
    – 学習(特に検索関連)に膨⼤な計算リソースが必要になってし
    まう問題がある︖
    まとめ
    26

    View full-size slide