📝

自然言語処理におけるLLMの応用【論文メモ:Large Language Models Meet NLP: A Survey】

2024/06/15に公開

はじめに

要約論文:Large Language Models Meet NLP: A Survey (https://doi.org/10.48550/arXiv.2405.12819)

各タスクに対してのGPT-4oによる回答例を添付しています.

1. Introduction

大規模言語モデル(Large Language Model, LLM)は目覚ましい進化を遂げており,自然言語処理(Natural Language Processing, NLP)タスクにおいて教師あり学習で訓練された従来のモデルを上回ることもあるほどに成功を収めている.本論文では以下の三つの観点に基づいたサーベイを行う.

  1. 現在LLMはどのようにNLPタスクに適用されるか
  2. 従来のNLPタスクはLLMですでに解決されているか
  3. 将来的にLLMはNLPタスクにどのように適用されるか

2. Background

LLMの適用は以下の四つに大別できる.

2.1 ゼロショット学習 (Zero-shot Learning)

ある特定の命令プロンプトに基づいてタスクを解決する.

2.2 少数ショット学習 (Few-shot Learning)

命令プロンプトに加えて少数のデモンストレーションが与えられ,その文脈を模倣してタスクを解決する.

2.3 フルパラメータチューニング (Full-parameter Tuning)

訓練データによってモデルの全てのパラメータを微調整する.

2.4 PET (Full-parameter Tuning)

モデルのパラメータの一部,あるいは微調整用の追加パラメータを微調整する.

3. 自然言語理解 (Natural Language Understanding)

3.1 感情分析 (Sentiment Analysis)

テキストの感情的な調子を分類するタスク.

ChatGPTによる回答例

You:
以下に与えられるテキストの感情分析を行なってください.出力は各感情に対してその強度を0~4の数字で評価し,以下のjson形式で出力してください.

"GPT-4o": {
"joy": ,
"sadness": ,
"anticipation": ,
"surprise": ,
"anger": ,
"fear": ,
"disgust": ,
"trust":
}

"ぼけっとしてたらこんな時間。チャリあるから食べにでたいのに…"

ChatGPT:
テキストの感情分析を行い、以下のように評価します。

{
    "GPT-4o": {
        "joy": 1,
        "sadness": 2,
        "anticipation": 2,
        "surprise": 1,
        "anger": 1,
        "fear": 0,
        "disgust": 0,
        "trust": 1
    }
}

質問例は https://github.com/ids-cv/wrime より

3.2 情報抽出 (Information Extraction)

テキストから構造化された情報を抽出するタスク.関係抽出(elation extraction),固有表現抽出(Named Entity Extraction), イベント抽出(Event Extraction)など.

ChatGPTによる回答例

You:

以下に与えられるテキストの固有表現抽出を行い,jsonにまとめてください

"イギリスはリーマンショック直後の2008年10月にイングランド銀行のバランスシートを一気に3倍近く増やした後、2008年11月から2009年3月にかけて段階的に縮小させていった。"

ChatGPT:

{
  "固有表現": [
    {
      "表現": "イギリス",
      "種類": "地名"
    },
    {
      "表現": "リーマンショック",
      "種類": "出来事"
    },
    {
      "表現": "2008年10月",
      "種類": "日付"
    },
    {
      "表現": "イングランド銀行",
      "種類": "組織"
    },
    {
      "表現": "2008年11月",
      "種類": "日付"
    },
    {
      "表現": "2009年3月",
      "種類": "日付"
    }
  ]
}

質問例は https://github.com/stockmarkteam/ner-wikipedia-dataset より

3.3 対話理解 (Dialogue Understanding)

音声言語理解(Spoken Language Understanding)や対話状態追跡(Dialogue State Tracking)など.

ChatGPTによる回答例

You:

Dialogue State Tracking とはどのようなタスクですか?

ChatGPT:

Dialogue State Tracking (DST) は、対話システムにおいてユーザーの意図やコンテキストを追跡するタスクです。DSTは、ユーザーとシステム間の対話が進行する中で、ユーザーの発話から情報を抽出し、現在の対話状態を更新する役割を果たします。これにより、システムはユーザーの要求や意図を正確に理解し、適切な応答を生成することが可能となります。

具体的には、DSTは以下のような情報を追跡します:

  • ユーザーが求めている情報やサービス(例:レストランの予約、天気情報の確認)
  • 対話のコンテキスト(例:以前の発話や質問)
  • 必要なスロットや属性の値(例:レストランの種類、予約時間)

DSTは自然言語処理の一部であり、特にタスク指向の対話システムにおいて重要な役割を担っています。効果的なDSTは、ユーザーエクスペリエンスを向上させ、対話システムがより自然でスムーズな応答を提供するのに役立ちます。

You:

では,実際に対話形式で私とDialogue State Trackingを行ってみましょう.私は東京に初めて来た観光客であり,宿泊するホテルを探しています.適切な質問事項を設定し,私に質問を行なってください.

ChatGPT:

もちろんです。それでは、あなたが東京に初めて来た観光客であり、宿泊するホテルを探しているというシナリオで対話を始めます。以下のような質問をして、あなたの希望を把握します。

  1. どのエリアに宿泊したいですか?(例:新宿、渋谷、浅草など)
  2. ご予算はいくらくらいですか?
  3. どのような設備やサービスを希望しますか?(例:無料Wi-Fi、朝食付き、ジムなど)
  4. 何泊する予定ですか?
  5. 特定の日程はありますか?

まず、どのエリアに宿泊したいか教えていただけますか?

You:

東京駅周辺が良いです

ChatGPT:

ありがとうございます。東京駅周辺ですね。

次に、ご予算はいくらくらいをお考えでしょうか?

You:

2万円ほどでしょうか

ChatGPT:

承知しました。ご予算は2万円ほどですね。

次に、どのような設備やサービスを希望されますか?(例:無料Wi-Fi、朝食付き、ジムなど)

You:

もう大丈夫です.ご協力ありがとうございました.

ChatGPT:

どういたしまして。お役に立てて良かったです。何か他に質問があれば、いつでもお知らせください。東京での滞在をお楽しみください!

3.4 表理解 (Table Understanding)

表にまとめられた構造化データの理解,分析,質問回答を行うタスク.

ChatGPTによる回答例

You:

この表から何が言えますか?

ChatGPT:

この表は、様々な言語モデル(GPT-4、GPT-3.5、LM SOTA、SOTA)の性能を、いくつかのベンチマークタスクで比較したものです。各タスクでの評価は次の通りです:

  1. MMLU (Multiple-choice questions in 57 subjects) :
  • GPT-4: 86.4%
  • GPT-3.5: 70.0%
  • LM SOTA (U-PaLM): 70.7%
  • SOTA (Flan-PaLM): 75.2%
  1. HellaSwag (Commonsense reasoning around everyday events) :
  • GPT-4: 95.3%
  • GPT-3.5: 85.5%
  • LM SOTA (LaMa): 84.2%
  • SOTA (ALUM): 85.6%
  1. AI2 Reasoning Challenge (ARC, Grade-school multiple choice science questions) :
  • GPT-4: 96.3%
  • GPT-3.5: 85.2%
  • LM SOTA (PaLM): 85.2%
  • SOTA (ST-MOE): 86.5%
  1. WinoGrande (Commonsense reasoning around pronoun resolution) :
  • GPT-4: 87.5%
  • GPT-3.5: 81.6%
  • LM SOTA (PaLM): 85.1%
  • SOTA (PaLM): 85.1%
  1. HumanEval (Python coding tasks) :
  • GPT-4: 67.0%
  • GPT-3.5: 48.1%
  • LM SOTA (PaLM): 26.2%
  • SOTA (CodeT + GPT-3.5): 65.8%
  1. DROP (F1 score, Reading comprehension & arithmetic) :
  • GPT-4: 80.9
  • GPT-3.5: 64.1
  • LM SOTA (PaLM): 70.8
  • SOTA (QDGAT): 88.4
  1. GSM-8K (Grade-school mathematics questions) :
  • GPT-4: 92.0%*
  • GPT-3.5: 57.1%
  • LM SOTA (Minerva): 58.8%
  • SOTA (Chinchilla + SFT+ORM-RL, ORM reranking): 87.3%

この表から以下の点が言えます:

  • GPT-4 は、ほとんどのタスクで他のモデルよりも高い性能を示しています。特に、ARCやGSM-8Kで圧倒的な成績を収めています。
  • GPT-3.5 はGPT-4に比べて性能が劣りますが、それでも多くのタスクでLM SOTAやSOTAと競合する成績を持っています。
  • LM SOTA およびSOTA は、特定のベンチマークタスクにおいて専門的に調整されたモデルであり、特定のタスクではGPT-4やGPT-3.5を上回る性能を示す場合があります(例:DROPやGSM-8K)。

全体として、GPT-4は広範なタスクにおいて一貫して優れた性能を発揮していると言えます。

4. 自然言語生成 (Natural Language Generation)

生成タスクに関しては擦りに擦られているので回答例は割愛.

4.1 要約 (Summarization)

与えられたテキストの主要な情報を維持しながら,簡潔なテキストを生成するタスク.

4.2 コード生成 (Code Generation)

自然言語のプロンプトで与えられた仕様に基づき,コードを生成するタスク.

4.3 機械翻訳 (Machine Translation)

与えられたテキストを別の言語に翻訳するタスク.

4.4 数学的推論 (Mathematical Reasoning)

論理的推論を実行するタスク.

5. 将来的な展望

5.1 多言語LLM

現在の主要LLMは英語タスクを想定しているが,多言語タスクへの拡張を行う.

5.2 マルチモーダルLLM

テキストに限らず,より多くのモダリティを活用した推論を行う.

5.3 ツールの使用

タスク解決にあたって直接的にLLMを適用するのではなく,ツールを使用してのタスク実行を行う.

5.4 X-of-thought

複雑なタスクに対して,推論過程を分割して論理的推論を行う.

5.5 幻覚 (Hallucination)

幻覚を生じさせないような評価,あるいは幻覚の創造性への転用を行う.

5.6 安全性

著作権の侵害,社会的バイアスなどへの対処を行う.

Discussion