大規模言語モデル（LLM）の評価指標まとめ

# 背景

ChatGPTが2022年に公開されて以降、様々な大規模言語モデルことLLMが市場に現れている。
MetaのLlamaやGoogleのPaLMなど海外のLLMもさることながら、日本国内の企業や団体も国産のLLMを公開している。
そこで、本記事ではそれらのLLMの性能を公正に効果的に図るために重要となる評価指標について日本語のものを対象に紹介していく。

# 評価指標

## JGLUE

概要
- JGLUEは、2022年にYahoo株式会社と早稲田大学によって作成された定量的に日本語のLLMの評価指標です。

評価データ
- **mark-ja**
    - 多言語商品レビューコーパス MARC(Multilingual Amazon Reviews Corpus) (keung et al.2020)の日本語部分をもとに作成されました。
    - MARCは、amazonにおける商品レビューとそれに紐づく1-5の5段階のレーティングをまとめているコーパスで、日本語英語複数の言語で公開しています。
    - mark-jaでは、5段階のうち1, 2をnegative, 4, 5をpositiveとして判定しており、dev/testデータに関してはクラウドソーシングで依頼し、10人中7人以上から同じ回答を得られたデータのみを採用しています。
- **jsts/jnli**
    - MS COCO Caption Datasetの日本語版YJ Captions Datasetからcaptionを抽出し、それをもとに2つの文章の類似度、推論関係を数値化したデータセットを構築しました。
    - ※大部分は重複しています。
- **jsquad**
    - 与えられた文章の中にある答えを探し出すという問題です。国語の入試に類似しています。
    - wikipediaのスコアトップ10000記事からランダムに822記事を選択した上で段落に分割し、クラウドワーカーに各段落を提示し、段落を理解できれば答えられるような質問と正解を記述させることで作成されました。
- **jscommonsenseqa**
    - 5択のクイズ問題になります。回答には常識を必要とし、LLMの純粋な知識量を図るための評価データとなります。

https://github.com/yahoojapan/JGLUE

https://www.jstage.jst.go.jp/article/jnlp/30/1/30_63/_pdf/-char/ja


## rakuda

概要

- 自由形式の質問に対して、詳細で論理的かつ適切な応答を書く事ができているかを測るための評価指標です。
- GPT-3.5 にrakuda リストから質問を送信し、2つの答えのうちどちらが良いかを選択させています。

評価データ
- AIアシスタントの能力を日本語で評価するために設計された、日本固有のトピックに関する日本語の 40 問のセットから構成されます。
- 問題は**歴史、社会、政府、地理**の 4 つのカテゴリに均等に配分されており、最初の3つのカテゴリの質問は自由回答ですが、地理に関する質問はより具体的です。

問題例

| 地理的 | LaSEuuNG54CdpH9KCxTnZ3 | 四国地方の４つの都道府県名と、それぞれの県庁所在地を列挙してください。 |
| --- | --- | --- |
| 歴史 | ZXeXijiCXaB6cfLJBuBmjz | 鎌倉議会の成立に定着した背景を説明し、これが日本の歴史に一時的に影響について述べてください。 |

https://github.com/yuzu-ai/japanese-llm-ranking

https://yuzuai.jp/benchmark

https://huggingface.co/datasets/yuzuai/rakuda-questions?row=3

## elyza task 100

概要

- 複雑な指示とユーザーの役に立つ回答からなるデータセット
    - 複雑な指示・タスクを含む100件の日本語データです。
    - 役に立つAIアシスタントとして、丁寧な出力が求められます。
    - 全てのデータに対して評価観点がアノテーションされており、評価の揺らぎを抑えることが期待されます。
- 含まれるタスク
    - 要約を修正し、修正箇所を説明するタスク
    - 具体的なエピソードから抽象的な教訓を述べるタスク
    - ユーザーの意図を汲み役に立つAIアシスタントとして振る舞うタスク
    - 場合分けを必要とする複雑な算数のタスク
    - 未知の言語からパターンを抽出し日本語訳する高度な推論を必要とするタスク
    - 複数の指示を踏まえた上でYouTubeの対話を生成するタスク
    - 架空の生き物や熟語に関する生成・大喜利などの想像力が求められるタスク

データ

```text
次のストーリーについての質問に答えてください。
ある日、6人の盲人が象を触ってその正体を突きとめようとしました。

１人目は象の鼻に触り、「象とは蛇のようなものだ」と言いました。

２人目は象の耳に触り、「象とはうちわのようなものだ」と言いました。

３人目は象の足に触り、「象とは木の幹のようなものだ」と言いました。

４人目は象の胴体に触り、「象とは壁のようなものだ」と言いました。

５人目は象のしっぽに触り「象とはロープのようなものだ」と言いました。

６人目は象の牙に触り、「象とは槍のようなものだ」と言いました。

それから６人の盲人たちは長いこと言い争い、それぞれが自分の意見を譲りませんでした。

Q: この物語の教訓は何ですか？

# 正解
この寓話を通じて学べることは、「木を見て森を見ず」ということです。

わたしたちは、出来事やひとの一部を切り抜いて理解したつもりで言動や行動として表現してしまうこともあります。一部を切り抜いて主張するのではなく、人の考えや意見に耳を傾ける大切さを教えてくれているのではないかと思います。

# 評価基準
- 的外れだが、何かしらの教訓（e.g. 互いの違いを受け入れることが大事）を述べている: 2点になる
- コミュニケーションが大事という内容のみ: 3点になる
- 相手の意見を尊重するコミュニケーションが大事という内容のみ: 4点になる
- 「物事の一部の側面しか見えていない場合がある」「1つの物事は視点によって異なる見え方がする」という要素に言及したうえで、相手の意見を尊重することが大事という内容: 5点になる
```

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

https://zenn.dev/elyza/articles/5e7d9373c32a98

## IT naviさん

概要

- 日本の文化、社会、政治、歴史などの知識がどの程度あるのかを測るための評価指標です。
- ChatGPTを用いて問題の作成から採点までを自動で行います。

作成方法

- 作成のためのプロンプト
    - `日本語LLMの性能を評価するための日本の文化（文学、絵画、音楽、伝統文化、ポップカルチャー）に関する質問を１０個考えてください。`
- 採点のためのプロンプト
    - `この１０問の回答を評価し、理由を付けて、それぞれ１０点満点で採点してください。また、最後に１０問全部の合計点を表示してください。`

評価データ

- 文化、社会、政治、歴史それぞれ10問ずつ合計40問からなる評価データセットを構築します。

https://note.com/it_navi/n/nd9d91677fc41

## ****Japanese MT-Bench****

概要

- 「**[MT-Bench](https://chat.lmsys.org/?leaderboard)**」は、80の高品質でマルチターンの質問を含む、慎重にキュレーションされたLLMのベンチマークです。これらの質問は、**LLMがマルチターンダイアログのモデルの会話の流れと指示に従う能力**の評価を目的としており、「**一般的なユースケース**」と「**挑戦的な指示**」の両方が含まれています。
- MT ベンチは、チャット アシスタントを評価するための、挑戦的な複数ターンの自由形式の質問のセットです。評価プロセスを自動化するために、GPT-4 のような強力な LLM に審査員として機能し、モデルの応答の品質を評価するよう促します。

評価データ

- **question.jsonl** : 質問ファイル  (80問)
    - 例(codingのタスク)
        - "ディレクトリ内の全てのテキストファイルを読み込み、出現回数が最も多い上位5単語を返すPythonプログラムを開発してください。"
        - "それを並列化（parallelize）することは可能ですか？"
    - 各タスク
        - **writing** 
            - (テキスト生成) : 10問、2ターン
        - **roleplay**
            - (ロールプレイ) : 10問、2ターン
        - **reasoning**
            - (推論) : 10問、2ターン、参照回答あり
        - **math**
            - (計算問題) : 10問、2ターン、参照回答あり
        - **coding**
            - (コード生成) : 10問、2ターン、参照回答あり
        - **extraction**
            - (情報抽出) : 10問、2ターン
        - **stem**
            - (知識 I) : 10問、2ターン
        - **humanities**
            - (知識 II) : 10問、2ターン
        
- **gpt-4.jsonl** : 参照回答ファイル (80問)


https://note.com/npaka/n/na28f31e96599

https://github.com/Stability-AI/FastChat/tree/jp-stable/fastchat/llm_judge#llm-judge

https://github.com/Stability-AI/FastChat/blob/jp-stable/fastchat/llm_judge/data/japanese_mt_bench/question_full.jsonl

# おわりに
いかがでしたでしょうか。
本記事では、LLMの日本語性能を評価するための様々な評価指標についてご紹介いたしました。
新たな評価指標が公開され次第、引き続き更新して参りますので、よろしくお願いいたします。

## 参考文献

[日本語LLMの評価に使われるデータセット - Qiita](https://qiita.com/suzuki_sh/items/4b0f49429fec1927cbb3#fn-stability-ai-score)

[MT-Bench による日本語LLMの評価｜npaka](https://note.com/npaka/n/n0530f6f9123f)