LLM（大規模自然言語処理）のタスクとデータセット

# <font color=royalblue>はじめに</font>
最近、毎日のように新しいLLM（Large Language Models）が登場しており、特に国内ベンダが出している日本語に特化したLLMは、それぞれが最も高い精度を有していると謳っています。しかし、LLMの精度を比較する際に使用される自然言語処理のタスクや代表的なデータセットについての詳細な知識がないため、その精度の実際の意味を完全に理解することが困難です。このため、主要なタスクとデータセットについて調査し整理しました。自然言語処理の専門家ではないため、記載内容に誤りがある可能性があります。誤りを指摘していただければ、随時修正いたします。

整理するのに参考にしたのは、下記の論文です。

Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond

https://arxiv.org/pdf/2304.13712.pdf

この論文に記載されている４つのタスク、「自然言語理解( Natural Language Understanding)」、「自然言語生成（Natural language generation）」、「知識集約的なタスク（Knowledge-intensive tasks）」、「推論能力（Reasoning ability）」について、それぞれのタスクの概要と、これらのタスクの精度を評価するために使用される代表的なデータセットについて以下に整理しました。さらに、日本語における複雑な指示に対する対応能力を評価するためのデータセットについても整理しました。

## <font color=royalblue>自然言語理解(NLU:Natural Language Understanding)</font>
OOD(out-of-distribution:トレーニングされていないデータや、トレーニングデータセットに含まれていないタイプのデータや非常に少ないトレーニングデータ）に対しても、LLMの優れた一般化能力を活用して問題を解くタスクです。

### <font color=green>タスクの例</font>
+ テキスト分類(text classfication)
+ 固有表現認識（NER:Named Entity Recognition） 
  テキスト中に現れる固有名詞（人名、地名、組織名など）を識別しカテゴライズするプロセス）、
+ 含意予測(entailment predicition)

### <font color=green>テストデータセット</font>
+ [GLUE(General Language Understanding Evaluation)](https://arxiv.org/pdf/1804.07461.pdf)  
自然言語処理（NLP）モデルの性能を評価するための標準ベンチマークです（英語のみ）。

  - CoLA(Corpus of Linguistic Acceptability)要約
文の文法的正しさを判断
   -  STS-B(Semantic Textual Similarity Benchmark)
２つの文章の類似性を評価
  - QNLI(Question Natual Language Inference)
質問応答、質問と応答のペアの矛盾を判定
  -  MNLI(Multi NLI)
文の意味的な関係を３つのクラスに分類（矛盾、中立、含意）
  - RTE(Recognizing Textual Entailment）
2つの文の含意関係（含意／含意でない）を判定するタスク
  - SST-2（The Stanford Sentiment Treebank）
文の感情（ポジティブ／ネガティブ）を判定するタスク
  - QQP（Quora Question Pairs）
2つの質問文が同じ意味かどうかを判定するタスク
  - MPRC(Microsoft Research  Paraphrase Corpus）
2つの文が同じ意味かどうかを判定するタスク

https://gluebenchmark.com/tasks/

>  日本語向けとしてJGLUEがあります(日本語NLP評価用にGLUEを参考に一から作り直したもの）。

https://github.com/yahoojapan/JGLUE

  
+ SNLI(Sanford NLI)
スタンフォードが作ったテキストの含意関係を理解するための大規模コーパスです。

https://nlp.stanford.edu/projects/snli/

+ CB(Commitment Bank)
話し手や書き手がある命題に対してどの程度コミットしているのか評価するものです（SNLI、MNLIに近い）。

https://github.com/mcdm/CommitmentBank/

+ SQuADv2(Standord Question Answering Dataset v2)：通常のQAに加えて、回答不可能な問題が含まれています。

https://huggingface.co/datasets/squad_v2

+ QuAC(Question Answering in Context)
対話形式の質問応答のデータセットです。

https://huggingface.co/datasets/quac


感情分析向けデータセット

+ IMDB(Internet Movie DataBase)
映画のレビューを集めたデータセット、ポジティブなレビューとネガティブなレビューが含まれており、これらのレビューはラベル付けされている。

https://huggingface.co/datasets/imdb

+ SST(Stanford Sentiment Treebank)
スタンフォード大学が開発した感情分析のためのデータセット。これは映画のレビューに対する感情を細かく注釈付けしたもので、文レベルだけでなく、フレーズレベルの感情極性も含まれています。

https://huggingface.co/datasets/sst2

+ miscellaneaous text classfication
代表的なものとしてHELM(Holistic Evaluation of Language Models）があリます。
言語モデルの能力を多面的に評価するため多様な種類のデータセットを使用しています。

https://crfm.stanford.edu/helm/latest/


+ Adverarial NLI
通常のNLIタスクに加えて、特にモデルを欺くことを目的とした「敵対的な例」を用いて行うNLIです。

https://github.com/facebookresearch/anli


## <font color=royalblue>自然言語生成（NLG:Natural language generation）</font>
LLMの能力を利用して、様々なアプリケーションのために一貫性があり、文脈に関連する高品質なテキストを生成するタスクです。

### <font color=green>タスクの例</font>
大きく二つに分類されます。
- 入力テキストを新しい記号のシーケンスに変換する
　要約、機械翻訳等
- 入力された説明に正確にマッチするテキストや記号を一から生成（open -ended)
   メールの作成、ニュース記事の作成、フィクションストーリーの創作、コードの記述等

### <font color=green>テストデータセット</font>
+ CNN/DailyMail
CNN と Daily Mail のジャーナリストによって書かれた 30 万件を超えるユニークなニュース記事を含む英語のデータセットです。抽出的要約と抽象的要約の両方をサポートしているが、元のバージョンは機械による読解と理解、および抽象的な質問応答のために作成されたものです。

https://huggingface.co/datasets/cnn_dailymail

+ XSUM
短い1文の要約を作成するデータセット。BBCの記事 (2010 年から 2017 年) から 226,711 件抽出され、幅広い分野 (ニュース、政治、スポーツ、天気、ビジネス、テクノロジー、科学、健康、家族、教育、エンターテイメント、芸術など) をカバーしています。

https://huggingface.co/datasets/EdinburghNLP/xsum

+ WMT
機械翻訳会議の共有タスクで使用されるデータセットのコレクションです。

https://huggingface.co/datasets/wmt19

+ DeepFix
コード修復データセット (Cプログラムのコンパイラ時のエラーを修正)です 。

https://bitbucket.org/iiscseal/deepfix/src/master/

+ Leetcode
プログラミングコンテストのタスク(LLMに本問題を解かせて評価する）です。

https://leetcode.com/contest/


 
## <font color=royalblue>知識集約的なタスク（Knowledge-intensive tasks）</font>
ドメイン特化の専門知識や一般常識を必要とするタスクで、LLMに蓄積された広範囲な知識を活用します。

## <font color=green>テストデータセット</font>

+ NaturalQuestions
実際のユーザーからの質問が含まれ、また質問に答えるためには回答が含まれているかどうか不明なWikipediaの記事全体を読んで理解する必要があります。解答を見つけるためにページ全体を読むことが求められるため、これまでのQAデータセットよりも現実的で難しくなっています。

https://huggingface.co/datasets/natural_questions

+ WebQuestions
6,642 の質問と回答のペアで構成されており、質問は大規模なナレッジ グラフであるFreebaseによって回答できるものです。

https://huggingface.co/datasets/web_questions

+ TriviaQA
65万を超える質問-回答-証拠の三つ組を含む読解データセットです。トリビア愛好家によって作成された95,000の質問-回答ペアと、質問ごとに平均6つの独立して収集された証拠文書が含まれています。

https://nlp.cs.washington.edu/triviaqa/


+ [MMLU(The massive multitask language understanding)](https://arxiv.org/pdf/2009.03300.pdf) 
ゼロショットおよびフューショットの設定でのみモデルを評価することによって、プリトレーニング中に獲得した知識を測定するために設計された新しいベンチマークです。これにより、より挑戦的なベンチマークになり人間の評価により近くなっています。このベンチマークは、STEM（科学、技術、工学、数学）、人文科学、社会科学など、57の科目をカバーしており、難易度は初等レベルから高度な専門レベルまで様々であり、一般常識と問題解決能力の両方をテストします。科目は、数学や歴史のような伝統的な領域から、法律や倫理のようなより専門的な領域まで多岐に渡ります。科目の細かさと広がりは、モデルの盲点を特定するのに理想的なベンチマークとなっています。

https://huggingface.co/datasets/lukaemon/mmlu

+ [Big-bench(Beyond the Imitation Game Benchmark)](https://github.com/google/BIG-bench)
大規模言語モデルを探究し、その将来の能力を推測することを目的とした共同ベンチマークです。200以上の多くのタスクが含まれています。新しいタスクの提出が可能であり（英語以外も可能）、タスクは定期的にレビューされ、Big-benchリポジトリにマージされています。

https://huggingface.co/datasets/bigbench


## <font color=royalblue>推論能力（Reasoning ability）</font>
様々な文脈の情報を理解し、推論(inferense)を行い、意思決定をすることを含む人間の知能の本質的な側面の一つのタスクであり、NLP（自然言語処理）にとって挑戦的なタスクになります。Reasoningとinferenceとの違いは、inferenceは単純な推論であり、Reasoningは一連の推論を組み合わせて、体系的かつ論理的に問題を解決します。

### <font color=green>タスクの例</font>
数学推論と常識推論に分類されます。

+ 数学推論/問題解決（Arithmetic reasoning/problem solving）
（人間にとっては簡単だが）自然言語を数学的な記号に変換し、多段階の推論を行うもの。

+ 常識推論(Commonsense reasoning）
事実についていくつかの推論ステップを行うことで問題を解くタスク。

### <font color=green>データセット</font>

数学推論/問題解決

+ GSM8K
主に算数の問題解決をテストするために設計されたデータセットでうs。このデータセットは、小学校の算数の課題を模した8000の数学の問題。文章で記述された算数の問題であり、その解決には多段階の論理的推論が必要となリます。

https://huggingface.co/datasets/gsm8k

 + SVAMP（Simple Variations on Arithmetic Math word Problems）
算数の問題を解くためのデータセットです。このデータセットは特に、問題の文法的な変化に焦点を当てており、モデルがさまざまな表現や文脈で提示された算数問題をどのように処理するかを評価するために使われます。

https://github.com/arkilpatel/SVAMP

+ AQuA（Arithmetic Questions Answering）
算数と数学の問題を解くためのデータセットです。このデータセットは、実際の数学の試験から取られた複数の選択肢を持つ算数の問題からなります。AQuAデータセットの特徴は、単に問題文の算数の問題を解くだけでなく、それぞれの問題に対して正解だけでなく複数の誤った答えも提供されている点にあり、NLPモデルが数学的な知識だけでなく推論能力をも使って、なぜ特定の選択肢が正しいのか、または、なぜ他の選択肢が間違っているのかを理解し議論する能力を評価します。

https://huggingface.co/datasets/aqua_rat

常識推論（Commonsense reasoning）

+ StrategyQ
間接的な質問に対して戦略的な推論を用いて答えを見つける必要があるデータセットです。StrategyQAの問題は、参加者が背後にある事実を知っていることを前提にしていますが、その事実を直接問うのではなく、関連する知識を結びつけ、論理的な推論を行う必要があります。

https://allenai.org/data/strategyqa


+ ARC-C（AI2 Reasoning Challenge-Complex）：Allen Institute for Artificial Intelligence（AI2）によって作成されたもので、特に難易度の高い科学問題に焦点を当てたものです。このデータセットは、AIが中等教育レベルの科学の問題を解く能力を試すために設計されています。「ARC」は2つのサブセット「Easy」(ARC-E)と「Challenge」(ARC-C)からなります。ARC-Cは、特に難しい問題を集めたもので、より発展した推論、より深い理解、またはより広範な背景知識を必要とする。このデータセットには、物理学、生物学、地質学など、多岐にわたる分野の問題が含まれています。

https://huggingface.co/datasets/ai2_arc

## <font color=royalblue>日本語のデータセットについて</font>
（JGLUEのような多肢選択テストではなく）自由な形式で複雑な指示・質問を行い、応答が論理的かつ適切でユーザにとってどれだけ役に立つのかの評価を行うベンチマーク・テストデータを紹介します。

+ [The Rakuda Benchmark](https://yuzuai.jp/blog/rakuda)
日本の歴史、社会、政治、地理に関する日本語での４０の質問で構成される。教師データはなく、質問に対する回答を評価対象のモデル間で相互に比較することで評価(現時点ではGPT3.5を使って評価）します。

https://huggingface.co/datasets/yuzuai/rakuda-questions


+ ELYZA Tasks 100
ELYZA社が人手で作成した多様で複雑なタスクを含むデータセットです。人間による評価を行うことが可能な件数（100件）に絞っています。

https://huggingface.co/datasets/elyza/ELYZA-tasks-100


# <font color=royalblue>おわりに</font>
ChatGPTを含む生成AI（LLM）は、新しいバージョンがリリースされるたびに、応答の質に対する期待が高まっています。特に日本語の独特な表現や文化的背景等に対してその期待はさらに大きいです。
従来の多肢選択形式の回答精度ではなく、より複雑な問いへの論理的で適切な回答を提供する能力は、LLMの今後の進化において重要な要素と思います。
GPTシリーズや様々な日本語LLMの進化に伴い、これらのモデルを公平かつ適切に評価するための日本語データセットの整備が重要であり、こうしたデータセットにより、モデル間での競争が促され、より高品質な応答の提供へつながることを期待します。