はじめに
こんにちは。AIチームの栗原健太郎です。AdventCalendarの記念すべき6日目担当です。6という数字はこんなにいい数字なんだ!と力説してくれる記事もありました。そんな6日目担当です。
はい、そういうわけで今回のテーマは「大規模言語モデル(LLM) の評価まとめ」になります。
世は大LLM時代に突入しつつある昨今、LLMの活用を検討している多くの事業会社の皆様や研究者の皆様は、「どのLLMが一番優秀なのか?」「今自分がやろうとしていることは、LLMでどれくらいできるんだろう?」などの悩みを持っていることでしょう。筆者たる自分もその1人です。
行き着くところこれらの悩みのほとんどは、「LLMの性能ってどうやって評価すればいいんだろうか」に収束しているように思います。
ただし、残念ながら本記事がこの問いに答えることはありません。というよりも、この問いを一発で解決してくれるような銀の弾丸たる評価方法は(栗原の知る限り)存在しないです。
本記事は、LLMの性能評価の課題感を読者の皆様が認識するその一助になればいいなと思い書きました。
本記事の構成は以下になります。
- 日本語LLMの性能評価に活用されているベンチマークの紹介
- LLM評価において留意すべきポイント
気軽に読んでみてください。
日本語LLMの評価に用いられているベンチマーク
日本語LLMを評価するために、様々なベンチマークが利用されています。一方で、各種ベンチマークが見ている性能やスコアの出し方は多種多様なので、LLMの何かしらへの適用を検討する上では、自分たちの知ろうとしている情報に一番近い設定のベンチマークのリーダーボードを参照するなどの対応が必要になりそうです。
- JGLUE
- 一般ドメインのタスクをカバーしている
- llm-jp-eval
- JGLUEを含む一般ドメインのタスクをカバーしている
- 今後も拡大する予定
- Rakuda Benchmark
- 日本の地理、政治、歴史、社会に関する40件の問題
- Japanese Vicuna QA Benchmark
- 一般、コーディング、ロールプレイ、ライティングなど10カテゴリー80件の問題
- Japanese MT-Bench
- マルチターンの会話能力、指示応答力を評価する80件の問題
ベンチマーク | タスクの種類※1,2 | 評価方法※3,4 | 評価方法の詳細 |
---|---|---|---|
JGLUE | 言語理解 | 自動-統計量 | - |
llm-jp-eval | 言語理解 | 自動-統計量 | - |
Rakuda Benchmark | 生成 | 自動-GPT-4 | 同一プロンプトに対する2つのモデルのペア比較 |
Japanese Vicuna QA Benchmark | 生成 | 自動-GPT-4 | 同一プロンプトに対する2つのモデルのペア比較 |
Japanese MT-Bench | 生成 | 自動-GPT-4 | 全8項目それぞれについて、1-10のスコアで自動評価 |
※1: 言語理解: ここではNLI, STS, 多肢選択式QAなど答えが一意に定まっているタスク
※2 生成: ある問題・質問に対して、自由記述で回答するタスク
※3: 自動-統計量: 言語モデルを用いない自動評価。例えば、Exact Match, F1など
※4: 自動-GPT-4: 言語モデル(GPT-4)を用いた自動評価
LLM評価において留意すべきポイント
LLMの評価は、これまでに登場してきたBERTやその系統のモデルの性能評価と比較すると、留意しなくてはいけないポイントが多い印象を受けます。以下は栗原が実際の業務で直面した留意すべきポイントの一部となりますので、自分へのメモ、そしてLLMの評価を気にする全ての人向けのメッセージとして残します。
生成の品質評価の考え方は多様
- 生成系タスクに取り組む多くの人が直面したことがあるであろう課題
- 例えば、要約・記事のタイトル生成などにおける、良い要約・キャッチーなタイトルなどの評価
- ある用意された生成に似てさえいれば(BLEU, ROUGEなどの代表的な指標が高ければ)良いと断定できるケースはむしろ少なく、ケースによってとるべき対応は大きく異なるように感じる。
- 最近では、上記ベンチマークでも紹介した通り、性能が高いとされるLLM(GPT-4など)を評価器として用いる流れもある。
- この場合、評価器がどれほど納得感のあるものなのかを、人手評価との相関を見るなどで図る必要がありそう。
Contamination
- この場合、評価器がどれほど納得感のあるものなのかを、人手評価との相関を見るなどで図る必要がありそう。
- オープンな評価データの場合、それは既にLLMの事前学習のデータに含まれている可能性がある。
- 解こうとしている問題が、この点を考慮する必要があるのか、それとも許容あるいは考慮不要な問題であるのかを考える必要がありそう。
プロンプトの敏感性
- 本質的に似たようなプロンプトを与えても、些細なプロンプトの表記揺れ一つで結果が変わる。
- さらには、全く同じプロンプトを入れていても、結果が変わってしまう。
- 栗原個人としては、クラウドソーシングにおけるサンプルごとの結果の揺れと似たものを感じる。
- 同じプロンプトに対して、複数回結果を取得することで評価のロバスト性を高めるとかは、より納得感のある評価結果を得る上で必要な過程になるのかなとこれまた個人的に感じております。
Hallucination
- それこそ、ChatGPT以前の言語(理解)モデルの研究ではあまり扱われていなかった概念に感じる。
- モデルが相当進化したことで、この点を気にする人が急激に増えたと考えられる。
- Hallucinationには「事実と異なる生成」「参照している知識とは異なる、または存在しない生成」など種類がある。
- Hallucinationは、一見良さげな(従来の評価指標では高スコアを取るような)生成にも含まれうるのにも関わらず、人手・自動問わずその発見は容易ではない。
- したかって、自分が扱う問題は事実性を欠かすことができない問題かどうかを考える必要がありそう。
評価方法の違い
- 各種タスクはFew-shotで解くべきか、Zero-shotで解くべきか、あるいは訓練データを用いてfine-tuningをして解くべきかというような議論が起こりうる。
System, User, Assistant Prompt
- 一般的に各種LLMはこれらの3つのプロンプトを設定することが可能
- 一方で、モデルごとに最適なプロンプトの設定は異なる可能性がある。その中で、どのようにしてこの点を納得感のある評価の設定に落とし込むことができるかも検討事項になりうる。
まとめ
- LLM評価ベンチマークをタスクと評価方法で分けてみました!
- LLMを評価する上で留意すべきポイントをまとめました!
これからLLMを使っていくぞ!と考えているすべての人の参考になれば幸いです。
最後に
ここまで読んでいただきありがとうございました。
AI Shift の開発チームでは、AI チームと連携して AI/LLM を活用したプロダクト開発を通し、日々ユーザのみなさまにより素晴らしい価値・体験を届けるべく開発に取り組んでいます。
AI Shift ではエンジニアの採用に力を入れています!この分野に少しでも興味を持っていただけましたら、カジュアル面談でお話しませんか?(オンライン・19 時以降の面談も可能です!)
【面談フォームはこちら】
明日の Advent Calendar 7日目の記事は、AIチームの東からお届けします。こちらもよろしくお願いいたします。