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

snlp2021

kichi
September 08, 2021
420

 snlp2021

kichi

September 08, 2021
Tweet

Transcript

  1. How Can We Know What Language Models Know? (TACL2020) 2021/9/17

    最先端NLP勉強会 紹介者:斉藤いつみ
  2. 背景:事前学習済言語モデルから知識を取り出す • 大規模に事前学習されたモデル (LM) は様々な知識を有している • 条件となる文字列(prompt)をLMに与え,残りの文字列をLMに予測させることで 問題を解かせる ◦ promptの与え方をうまく設定すれば(うまく知識を取り出せれば),

    1つの学習済LMで 様々なタスクを解ける可能性(QA, 要約,翻訳など)[Brown+2019] 事前学習済言語モデル 事前学習済言語モデル Prefix: 与えた文字列の後に続く文 字列を予測(生成)させる Cloze-style template:文の一部を MASKして穴埋め問題を解かせる Obama was born in ? Barack Obama is a [MASK] by profession ?
  3. 様々なタスクにおけるpromptの与え方 Liu+, Pre-train, Prompt, and Predict: A Systematic Survey of

    Prompting Methods in Natural Language Processing, 2021のtable10より 一部抜粋 今回の論文で対象と しているタスク
  4. 本論文の概要 • タスク:関係知識抽出(Fact retrieval, Factual probing) • 手法:事前学習済言語モデルからpromptを用いて知識を取り出す際に,よ りうまく知識を取り出せるpromptを自動的に生成する手法を提案 ◦

    従来は人手でpromptを作っていた ◦ 本研究では,mining-based, paraphrase-basedの2つの手法を提案 ◦ 複数promptのアンサンブル手法も有効 • 結果:LAMAという関係知識抽出のベンチマークで実験を行い,人手 promptに比べて予測精度が大幅に向上
  5. 本研究で扱う知識の対象と問題設定 • <x, r, y>というtriple形式で表現された知識を対象とする [Petroni et al., 2019] ◦

    x : subject, y: object, r: relation ◦ rに対応する自然言語表現 を人手で作成 (e.g., x is born in y) ◦ x, yには具体的なentityが入っている • LMから知識を取り出す際には,xに表層を入れ,yの表層を穴埋め問題として当てる問 題にする(固定の候補の中から最も確率が高いものを選択) ◦ Obama worked as a [MASK] 関係rを表す自然言語表現 をpromptと呼ぶ
  6. 本研究の目的とポイント 目的:LMを用いてground-truthのyを予測するための良いpromptを自動的に生成・選択 DirectX is developed by [MASK] 事前学習済言語 モデル(LM) [MASK]

    = Intel Original prompt Generated prompts 事前学習済言語 モデル(LM) [MASK] = Microsoft [MASK] released the DirectX DirectX is created by [MASK] ポイント1: promptを自動生成 ポイント2: 良いpromptを選択 ・ ・ ・ ✔ ✖
  7. Prompt生成1: Mining-based Generation • 基本方針:wikipediaから,subject, objectのペア(x, y)を両方含む文を抽 出し,その中に含まれる表現をpromptとして用いる Middle-word Prompts

    • subjectとobjectの間に含まれる文字列をpromptとして用いる Dependency-based Prompts • subjectとobjectのdependency pathで連結される文字列をpromptとして用いる 例:Barack Obama was born in Hawaii -> x was born in y 例:The capital of France is Paris -> capital of x is y
  8. Prompt生成2: Paraphrasing-based Generation • オリジナルのpromptを言い換える方法でpromptを生成する ◦ 意味的に同一で語彙が異なる候補を増やす • back translationの手法を利用して言い換えpromptを生成する

    ◦ 翻訳モデル+beam searchで複数候補を生成 x shares a border with y en -> de model de -> en model x has a common border with y x adjoins y Round trip確率が高いものT個を選択
  9. ポイント2: Prompt選択とアンサンブル • 生成したpromptをテスト時にどう使うか? ◦ 3つの手法を提案 Sorted generated prompts top-1

    top-2 top-3 top-k top-T . . . . top-1 selection rank-based ensemble optimized ensemble 事前学習済言語 モデル(LM) -> top-Kのスコアを平均 -> top-1のみ利用 -> top-Tのスコアを重みづけ
  10. Prompt選択1: Top-1 prompt selection • 各promptに対して,下記の式を用いてprompt accuracyを計算 ◦ あるpromptがどのくらい正解のyをあてられたか?(training setを利用して計算)

    • top-1 prompt selectionでは,下記のスコアが最大になるpromptを一つ選択 して用いる : ある関係rに対するsubject, objectの組み合わせ集合
  11. 実験 • データセット ◦ LAMA datasetのT-REx subset ▪ 41個のrelationタイプを含んでいる ◦

    他にもGoogle-REなどのサブセットで実験 • 事前学習済言語モデル ◦ BERT-base, BERT-large ◦ ERNIE, KnowBert (Entity知識を強化した言語モデル) • 評価 ◦ micro-averaged accuracy ▪ シンプルに関係rごとにyの正解率を評価 ◦ macro-averaged accuracy ▪ uniqなオブジェクト/関係ごとに正解率を評価
  12. 結果 Prompt生成手法はどれがもっとも 効果的か? • Mine (wikipedia mining) + Manualの精度が良い Man:

    人手promptベースライン Mine: wikipediaマイニング Para: 言い換え生成
  13. 結果 Prompt選択手法はどれがもっとも 効果的か? • Optimized-based ensembleが もっとも良い • アンサンブルは全てのケースで top1より精度が良い

    • oracleとはまだ開きがある Man: 人手promptベースライン Mine: wikipediaマイニング Para: 言い換え生成 top1 rank based ensemble optimized ensemble
  14. まとめ • Promptを利用して事前学習済言語モデルから正しい知識を抽出するための自動 prompt生成+選択手法を提案 • 自動生成されたpromptは正しい知識を抽出するのに効果的 • 複数のpromptをアンサンブルで利用することも効果的 • 最近はさらに発展的な研究も出ている

    ◦ promptの生成(search)を賢くする ▪ Shin+, AutoPrompt: Eliciting Knowledge from Language Models with Automatically Generated Prompts, 2020 ◦ promptを文字列ではなく潜在表現として表現する ▪ Qin+, Learning How to Ask: Querying LMs with Mixtures of Soft Prompts, 2021 感想 • シンプルな手法で分析をたくさん行っている研究 • Prompt+LMでZero-shotやfew-shotの性能を検証する研究は今後も増えそう ◦ Wei+, Finetuned language models are zero-shot learners, 2021