Slide 1

Slide 1 text

How Can We Know What Language Models Know? (TACL2020) 2021/9/17 最先端NLP勉強会 紹介者:斉藤いつみ

Slide 2

Slide 2 text

背景:事前学習済言語モデルから知識を取り出す ● 大規模に事前学習されたモデル (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 ?

Slide 3

Slide 3 text

様々なタスクにおけるpromptの与え方 Liu+, Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing, 2021のtable10より 一部抜粋 今回の論文で対象と しているタスク

Slide 4

Slide 4 text

画像+言語におけるprompt+知識抽出 Tsimpoukelli+, Multimodal Few-Shot Learning with Frozen Language Models, 2021のFigure1より抜粋

Slide 5

Slide 5 text

言語モデル+Prompt関連の研究は多岐にわたる ● 2019年あたりから論文が増加 ● 今回紹介する論文は比較的初期の頃の研究(引用114件) Liu+, Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing, 2021のfigure1, figure6より一部抜粋 今回紹介する論文

Slide 6

Slide 6 text

本論文の概要 ● タスク:関係知識抽出(Fact retrieval, Factual probing) ● 手法:事前学習済言語モデルからpromptを用いて知識を取り出す際に,よ りうまく知識を取り出せるpromptを自動的に生成する手法を提案 ○ 従来は人手でpromptを作っていた ○ 本研究では,mining-based, paraphrase-basedの2つの手法を提案 ○ 複数promptのアンサンブル手法も有効 ● 結果:LAMAという関係知識抽出のベンチマークで実験を行い,人手 promptに比べて予測精度が大幅に向上

Slide 7

Slide 7 text

本研究で扱う知識の対象と問題設定 ● という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と呼ぶ

Slide 8

Slide 8 text

promptを使って知識を取り出す具体例 問題意識:適切なpromptを用いないと,正しい答えを得ることができない 人手で作成したpromptが最適なpromptとは限らない!

Slide 9

Slide 9 text

本研究の目的とポイント 目的: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を選択 ・ ・ ・ ✔ ✖

Slide 10

Slide 10 text

ポイント1: Prompt生成 ● 関係rに対応するprompt集合  を生成する2つの手法を提案 ● Mining-based generation ○ 大規模なテキストからprompt候補をマイニングする ● Paraphrasing-based generation ○ オリジナルのpromptを言い換えて語彙的に類似したpromptを生成する

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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個を選択

Slide 13

Slide 13 text

ポイント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のスコアを重みづけ

Slide 14

Slide 14 text

Prompt選択1: Top-1 prompt selection ● 各promptに対して,下記の式を用いてprompt accuracyを計算 ○ あるpromptがどのくらい正解のyをあてられたか?(training setを利用して計算) ● top-1 prompt selectionでは,下記のスコアが最大になるpromptを一つ選択 して用いる : ある関係rに対するsubject, objectの組み合わせ集合

Slide 15

Slide 15 text

Prompt選択2: Rank-based Emsemble ● top-1選択と異なり,複数のpromptを利用 ○ prompt accuracyがtop-kの候補を用いて下記の平均log確率を計算する ○ top-kのpromptを利用することで,複数の文脈を考慮することができるようにな る

Slide 16

Slide 16 text

Prompt選択3: Optimized Ensemble ● Rank-based Ensembleでは,top-kの候補が出力する確率を平等に扱っていた ○ それぞれのpromptの信頼度は異なるはずなので適切な重みづけをしたい ● 重みづけのためのパラメータを学習データを用いて学習する

Slide 17

Slide 17 text

実験 ● データセット ○ 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なオブジェクト/関係ごとに正解率を評価

Slide 18

Slide 18 text

結果 Prompt生成手法はどれがもっとも 効果的か? ● Mine (wikipedia mining) + Manualの精度が良い Man: 人手promptベースライン Mine: wikipediaマイニング Para: 言い換え生成

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

Rank-basedアンサンブルでTop-KのKを変化させたら精度は どう変わるか? ● 3~5くらいまでは精度向上するが,それより増やしても精度は低下

Slide 21

Slide 21 text

Optimizedアンサンブルではどのような重みが学習されている か? ● 上位1〜2個の候補に大きな値が割り当てられる

Slide 22

Slide 22 text

提案手法で得られた良いpromptの例

Slide 23

Slide 23 text

prompt表現が少し違うだけで精度が大きく向上するケースも ある ● 1単語変えるだけで精度が大きく向上する例もある ● 最近の事前学習済言語モデルだと傾向も異なるのか?

Slide 24

Slide 24 text

まとめ ● 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