Slide 1

Slide 1 text

Is GPT-3 a Good Data Annotator? https://aclanthology.org/2023.acl-long.626/ Bosheng Ding, Chengwei Qin, Linlin Liu, Yew Ken Chia, Boyang Li, Shafiq Joty, and Lidong Bing ACL 2023 読み手: 銭本 友樹/Zenimoto Yuki (筑波大) @第15回最先端NLP勉強会 ※特に注釈のない限り,スライド内の画像は紹介論文より引用

Slide 2

Slide 2 text

どんな論文? 研究動機:LLMは優秀だが,モデルサイズ・費用の観点から使いにく く,プロダクトレベルではBERT-baseくらいのモデルを使いたい. やったこと:GPT-3を使って,4つのNLPタスクを対象として訓練 データを自動生成してBERTを訓練し,その性能・費用・時間を評価. 訓練データの自動生成には3種類のアプローチを提案 ・既存のデータセットを元にラベリングだけ行う ・GPT-3を使って訓練データを自動生成 ・GPT-3とWikidataを使って訓練データを自動生成 結果:タスクごとに有効なアプローチは異なるが,人手で作成した 訓練データを用いたモデルに匹敵する精度を低コストに達成 2

Slide 3

Slide 3 text

訓練データの生成手法 ⚫Prompt-Guided Unlabeled Data Annotation (PGDA) ⚫既存のデータセットの訓練データに対してラベリングだけ行う ⚫Prompt-Guided Unlabeled Data Generation (PGDG) ⚫GPT-3を使って訓練データの自動生成とラベリングを行う ⚫Dictionary-Assisted Training Data Generation (DADG) ⚫GPT-3とWikipediaを使って訓練データの自動生成とラベリングを行う それぞれタスクに合わせたプロンプトを作成 GPT-3にはOpen AI APIのtext-davinci-003を使用 3

Slide 4

Slide 4 text

Prompt-Guided Unlabeled Data Annotation (PGDA) ⚫既存のデータセットの訓練データに対してラベリングだけ行う ⚫想定状況:データ自体は大量に揃っている状況 4

Slide 5

Slide 5 text

Prompt-Guided Unlabeled Data Generation (PGDG) ⚫GPT-3を使って訓練データの自動生成とラベリングを行う ⚫想定状況:データが少量しかなく,タスクが一般的な知識や常識で 答えられるタスクのとき. 5

Slide 6

Slide 6 text

Dictionary-Assisted Training Data Generation (DADG) ⚫GPT-3とWikidataを使って,訓練データの自動生成とラベリングを 行う ⚫想定状況:データが少量しかなく,タスクが専門性の高いタスクの とき. 6

Slide 7

Slide 7 text

訓練データの生成手法 ⚫Prompt-Guided Unlabeled Data Annotation (PGDA) ⚫既存のデータセットの訓練データに対してラベリングだけ行う ⚫Prompt-Guided Unlabeled Data Generation (PGDG) ⚫GPT-3を使って訓練データの自動生成とラベリングを行う ⚫Dictionary-Assisted Training Data Generation (DADG) ⚫GPT-3とWikipediaを使って訓練データの自動生成とラベリングを行う それぞれタスクに合わせたプロンプトを作成 GPT-3にはOpen AI APIのtext-davinci-003を使用 7

Slide 8

Slide 8 text

実験設定:比較モデル タスクごとに,4種類の訓練データを用いて訓練したBERTを比較 ⚫Prompt-Guided Unlabeled Data Annotation (PGDA) ⚫Prompt-Guided Unlabeled Data Generation (PGDG) ⚫Dictionary-Assisted Training Data Generation (DADG) ⚫Human Labeled 加えて,GPT-3に直接テストデータを入力したときの性能も算出 ⚫Prompted Direct Inference (PGI) これら5種類の費用・作成時間・性能を比較 (人手の費用は言語学者及びプロのアノテーターに相談して決定) 8

Slide 9

Slide 9 text

対象タスク (データセット) ⚫Sequence-level Task ⚫Sentiment Analysis (SST2[1]) ⚫Relation Extraction (FewRel[2]) ⚫Token-level Task ⚫Named Entity Recognition (Cross NER[3]のAI domainのもの) ⚫Aspect Sentiment Tripret Extraction (laptop domain[4]) 9 [1] Socher et al. Recursive deep models for semantic compositionality over a sentiment treebank, 2013, EMNLP [2] Han et al. FewRel: A Large-Scale Supervised Few-Shot Relation Classification Dataset with State-of-the-Art Evaluation, 2018, ACL [3] Liu et al. Crossner: Evaluating cross-domain named entity recognition, 2020, AAAI [4] Xu et al. Position-Aware Tagging for Aspect Sentiment Triplet Extraction, 2020, EMNLP

Slide 10

Slide 10 text

Sentiment Analysis (SST2) ⚫タスク説明 ⚫文章のPositive・Negativeを判定するタスク ⚫実験手順 ⚫各手法で作成された訓練データを元にBERT-baseを訓練 ⚫SST2データセットのテストデータを用いて評価 ⚫各手法のプロンプトにはSST2の訓練データ中の10例を ランダムにサンプリングしてプロンプトに含める 10

Slide 11

Slide 11 text

Sentiment Analysis:プロンプト ⚫Prompt-Guided Unlabeled Data Annotation (PGDA) ⚫SST2の訓練データを入力してラベリング 11

Slide 12

Slide 12 text

Sentiment Analysis:プロンプト ⚫Prompt-Guided Unlabeled Data Generation (PGDG) ⚫ラベルを指定してデータを生成 ⚫Dictionary-Assisted Training Data Generation (DADG) ⚫ラベルを指定してデータを生成 ⚫Wikidata中のMovie domainの Entityを参照してプロンプトに入力 12

Slide 13

Slide 13 text

Sentiment Analysis:結果 ⚫PGDAが最高性能かつ 費用は人手の10分の1以下 時間は人手の70分の1以下 ⚫PGDGは性能は劣るが PGDAよりも低費用&短時間 ⚫DADGは性能・費用・時間 ともに最も悪かった 13 PGDG,DADGで生成された データはテストデータの分布と 異なっていることが大きな原因

Slide 14

Slide 14 text

Sentiment Analysis:結果 ⚫PGDAが最高性能かつ 費用は人手の10分の1以下 時間は人手の70分の1以下 ⚫PGDGは性能は劣るが PGDAよりも低コスト&短時間 ⚫DADGは性能・コスト・時間 ともに最も悪かった PGDG,DADGで生成されたデータ はテストデータの分布と異なって いることが大きな原因 14 サンプル数をもっと増やしたとき の性能はどうなるのか? プロンプトに含めるfew-shot例を もっと変えればよいのでは? PGDG,DADGで生成された データはテストデータの分布と 異なっていることが大きな原因

Slide 15

Slide 15 text

Relation Extraction (FewRel) ⚫タスク設定 ⚫文章中の指定した2つのEntityのRelationを64種類のRelation から分類するタスク ⚫例:Newton(Head) served as the president of the Royal Society(Tail). Relation→(Head Entity) is member_of (Tail Entity) ⚫実験手順 ⚫各手法で作成された訓練データを元にBERT-baseを訓練 ⚫FewRelデータセットのテストデータを用いて評価 15

Slide 16

Slide 16 text

Relation Extraction:プロンプト ⚫Prompt-Guided Unlabeled Data Annotation (PGDA) ⚫64種類のRelationをプロンプトに 含めるため入力が長くなる ⚫1つのRelationにつき1つの例 ⚫フォーマットによる性能の違いを 調査するため5種類のプロンプトを 比較 16

Slide 17

Slide 17 text

Relation Extraction:プロンプト ⚫Prompt-Guided Unlabeled Data Generation (PGDG) 以下の2ステップでRelationごとに200データを生成 ⚫ステップ1:RelationごとにHead-Tail Entityペアを生成 ⚫ステップ2:上記Entityペアから文章を生成 17

Slide 18

Slide 18 text

Relation Extraction:プロンプト ⚫Dictionary-Assisted Training Data Generation (DADG) 以下の2ステップでRelationごとに200データを生成 ⚫ステップ1:RelationごとにWikidataを参照してHead-Tail Entity ペアを生成 ⚫ステップ2:上記Entityペアから文章を生成 18

Slide 19

Slide 19 text

Relation Extraction:結果 ⚫PGDAは性能・費用・時間 ともに非常に悪かった ⚫他手法と比べ同じ費用をかけて も生成データ数は40分の1程度 ⚫加えて,F1値は他手法と比べ 100分の1以下 19 タスク自体の難しさと Relation数の多さ, 入力トークン数の制約が 大きな原因

Slide 20

Slide 20 text

Relation Extraction:結果 ⚫PGDG(5-shot)が最高性能かつ 費用は人手の60分の1以下 時間は人手の70分の1以下 ⚫DADGは,PGDGに劣る結果と なった. 20 Wikidataを使うDADGでは, データの多様性が減少 人手と同等のコストをかけるな ら,自動生成の方が高い性能と なることがわかった.

Slide 21

Slide 21 text

Named Entity Recognition (Cross NER) ⚫タスク設定 ⚫Cross NERデータ中のAI domainのデータを対象 ⚫文章中から14種類のEntity(product, researcher, algorithm, etc.) を判定するタスク ⚫実験手順 ⚫各手法で作成された訓練データを元にBERT-baseを訓練 ⚫Cross NER AI domainデータセットのテストデータを用いて評価 21

Slide 22

Slide 22 text

Named Entity Recognition:プロンプト ⚫Prompt-Guided Unlabeled Data Annotation (PGDA) ⚫Entityの種類を事前に指定するプロンプト(左)だと プロンプトによって同じentityでも結果が異なる ⚫Entityの種類の候補を一度出力した後に決定するプロンプト(右) を使用 22

Slide 23

Slide 23 text

Named Entity Recognition:プロンプト ⚫Prompt-Guided Unlabeled Data Generation (PGDG) 以下の2ステップでデータを生成(種類ごとの生成数は不明) ⚫ステップ1:Entityの種類ごとに具体例を生成 ⚫ステップ2:上記具体例から文章を生成 23

Slide 24

Slide 24 text

Named Entity Recognition:プロンプト ⚫Dictionary-Assisted Training Data Generation (DADG) 以下の2ステップでデータを生成(種類ごとの生成数は不明) ⚫ステップ1:Wikidataを参照してEntityごとに具体例を生成 ⚫ステップ2:上記具体例から文章を生成 24

Slide 25

Slide 25 text

Named Entity Recognition:結果 ⚫PGDAは性能・費用・時間 ともに非常に性能が悪かった ⚫他手法と比べ同じ費用をかけて も生成データ数は30分の1程度 ⚫加えて,性能は他手法と比べ 2分の1程度 25 そもそもの訓練データ数が少な いことが大きな原因 指定した14種類のEntity Type 以外のEntity Typeを出力する ことが多かった

Slide 26

Slide 26 text

Named Entity Recognition:結果 ⚫PGDAは性能・費用・時間 ともに非常に性能が悪かった ⚫他手法と比べ同じ費用をかけて も生成データ数は30分の1程度 ⚫加えて,性能は他手法と比べ 2分の1程度 26 そもそもの訓練データ数が少な いことが大きな原因 指定したEntity以外のEntityを 出力することが多かった GPT-3にそのまま解かせるPGI 自体が46.65と低めなので, それだけラベリングを間違えて いるのでは? (タスク自体がGPT-3にとって 難しいのではないか?)

Slide 27

Slide 27 text

Named Entity Recognition:結果 27 Wikidataを使うことでより多 様なデータを生成できた. 専門的なタスクにおいては, Wikidataの参照が大きく貢献 ⚫PGDG(zero-shot)はHuman Labeled と同程度の性能を低費用で達成 ⚫DADG(zero-shot)が最高性能かつ Human Labeledを上回った. 費用は人手の2分の1以下 時間は人手の2分の1以下

Slide 28

Slide 28 text

Aspect Sentiment Tripret Extraction (laptop domain) ⚫タスク設定 ⚫日本語では観点感情解析/抽出 ⚫文章中の特定の単語とその単語 に対する意見,及びその意見の 極性(positive, negative, neutral) を抽出するタスク ⚫詳しくは[5]を参照 ⚫実験手順 ⚫各手法で作成された訓練データを元にBERT-baseを訓練 ⚫ASTEデータセット中のテストデータを用いて評価 28 [6]より引用 [5] Takehito Kubo. 感情の出どころを探る、一歩進んだ感情解析, 2018, https://www.slideshare.net/takahirokubo7792/ss-96203329 [6] Lu Xu et al. Learning span-level interactions for aspect sentiment triplet extraction, 2021, ACL

Slide 29

Slide 29 text

Aspect Sentiment Tripret Extraction:プロンプト ⚫Prompt-Guided Unlabeled Data Annotation (PGDA) ⚫3種類のフォーマットのプロンプトを比較する 29

Slide 30

Slide 30 text

Aspect Sentiment Tripret Extraction:プロンプト 30 ⚫Prompt-Guided Unlabeled Data Generation (PGDG) ⚫3種類のフォーマットのプロンプトを比較する 以下の2ステップでデータを生成 ⚫ステップ1:意見の対象単語, 意見,極性のtripretを生成 ⚫ステップ2:上記具体例から 文章を生成

Slide 31

Slide 31 text

Aspect Sentiment Tripret Extraction:プロンプト 31 ⚫Dictionary-Assisted Training Data Generation (DADG) ⚫フォーマットはPGDGで最も性能のよかったプロンプトを使用 以下の2ステップでデータを生成 ⚫ステップ1:laptop domainの Wikidataを参照して意見の対象 単語,意見,極性のtripretを生成 ⚫ステップ2:上記具体例から 文章を生成

Slide 32

Slide 32 text

Aspect Sentiment Tripret Extraction :結果 ⚫PGDAが最高性能 費用は人手の10分の1以下 時間は人手の10分の1以下 32 フォーマットによって性能が 大きく悪化する

Slide 33

Slide 33 text

Aspect Sentiment Tripret Extraction :結果 ⚫PGDGはすべてのプロンプトで PGDAの半分程度の性能 ⚫DADGは最も性能が悪かった 33 PGDGもDADGも共に直接的な 表現を使う簡単な文章を生成す る傾向があった.

Slide 34

Slide 34 text

各手法の得意タスク・長所・短所まとめ ⚫Prompt-Guided Unlabeled Data Annotation (PGDA) ⚫得意タスク:ラベル数が少なく,ラベルの定義が簡単なタスク ⚫長所:実際のデータを利用可能 ⚫短所:プロンプトが非常に長くなり,費用が高くなる ⚫Prompt-Guided Unlabeled Data Generation (PGDG) ⚫得意タスク:ラベル数が多い一般的なタスク ⚫長所:プロンプト数が短く,大量にデータを生成可能 ⚫短所:実際のデータとは異なる分布のデータになる危険性 ⚫Dictionary-Assisted Training Data Generation (DADG) ⚫得意タスク:ラベル数が多い専門的なタスク ⚫長所:プロンプト数が短く,大量にデータを生成可能 ⚫短所:実際でのデータとは異なる分布のデータになる危険性 34

Slide 35

Slide 35 text

プロンプトに含める例文の数の影響 SST2とFewRelでfew-shot数を変えた際の性能を比較 SST2において ⚫PGDAではfew-shot数が多いほど 性能が向上 ⚫DADG・PGDGではfew-shot数を 増やすとむしろ性能が悪化 FewRelにおいては ⚫PGDGでもfew-shot数が多いほど 性能が向上 35

Slide 36

Slide 36 text

プロンプトに含める例文の数の影響 SST2において ⚫PGDG・DADGでは,few-shot数 を増やすと,生成データの 多様性が下がった. ⚫SST2タスクでは,非常に短く情報 量の少ない文章が生成された. 36

Slide 37

Slide 37 text

プロンプトに含める例文の数の影響 FewRelにおいて ⚫PGDGでは,few-shot数を増やす と,情報量が多く,より暗黙的な (望ましい)文章が生成された. 37

Slide 38

Slide 38 text

Limitation ⚫予算の都合上でサンプル数・タスク設定がかなり限定され てしまった. ⚫GPT-3自体がブラックボックスな部分が多く,その解釈性 に問題が残っている. ⚫(予算があれば)GPT-3,ChatGPT,GPT-4に加え,LLaMA 等のオープンソースLLMの比較も行いたい 38

Slide 39

Slide 39 text

本論文の概要(再掲) 研究動機:LLMは優秀だが,モデルサイズ・費用の観点から使いにく く,プロダクトレベルではBERT-baseくらいのモデルを使いたい. やったこと:GPT-3を使って,4つのNLPタスクを対象として訓練 データを自動生成してBERTを訓練し,その性能・費用・時間を評価. 訓練データの自動生成には3種類のアプローチを提案 ・既存のデータセットを元にラベリングだけ行う ・GPT-3を使って訓練データを自動生成 ・GPT-3とWikidataを使って訓練データを自動生成 結果:タスクごとに有効なアプローチは異なるが,人手で作成した 訓練データを用いたモデルに匹敵する精度を低コストに達成 39