LLMベンチマーク「IFEval」
以下のポストを見かけたので調べてみた。
論文
Claude-3.5-Sonnetによる落合プロンプトの結果
大規模言語モデルの指示追従評価
どんなもの?
大規模言語モデル(LLM)の重要な能力の1つである「指示追従能力」を、客観的かつ再現性のある方法で評価するためのベンチマーク「IFEval」を提案しています。
IFEvalは、「400単語以上で記述する」や「"AI"というキーワードを3回以上含める」といった"検証可能な指示"のみに焦点を当てています。こうした指示は自動的に検証できるため、人手による評価や他のLLMを使った評価に比べて、より客観的で再現性の高い評価が可能になります。
論文では25種類の検証可能な指示を特定し、それらを組み合わせた約500のプロンプトを作成しています。
先行研究を比べてどこがすごい?
従来のLLMの指示追従能力の評価手法には、
1)人手による評価
2)モデルベースの評価
3)定量的ベンチマークの3種類がありました。
人手評価は時間とコストがかかり再現性に課題があり、モデルベースの評価は評価モデルの能力に依存する問題があり、従来の定量的ベンチマークは限定的なタスクのみを対象としていました。
IFEvalは、客観的に検証可能な指示に焦点を当てることで、完全に自動化された評価を可能にし、かつ幅広い種類の指示に対する評価を実現しています。
技術や手法の肝はどこ?
IFEvalの核心は「検証可能な指示」の定義と、その検証方法にあります。
検証可能な指示とは、プログラムによって客観的に遵守されているかを確認できる指示のことです。例えば、特定の単語の出現回数、レスポンスの長さ、特定のフォーマット(JSONなど)の使用などです。
論文では厳密な評価(strict metric)とより寛容な評価(loose metric)の2つの評価基準を導入しています。寛容な評価では、マークダウンタグの除去や導入部・結論部の除去など、8種類の変換を適用して評価することで、偽陰性(実際には指示に従っているのに不適合と判定される)を減らす工夫をしています。
どうやって有効だと検証した?
GPT-4とPaLM 2 Smallの2つのモデルを使用して評価実験を行いました。評価は4つの指標:
1)プロンプトレベルの厳密な精度
2)指示レベルの厳密な精度
3)プロンプトレベルの寛容な精度
4)指示レベルの寛容な精度で行われました。
結果として、GPT-4は全体的に高いパフォーマンスを示し、特に指示レベルの寛容な精度で85.37%を達成しました。
また、異なる種類の指示(キーワード、フォーマット、長さの制約など)に対するモデルの性能の違いも明らかになりました。
議論はある?
IFEvalの現在の実装にはいくつかの改善の余地があることが議論されています。特に、
1)検証可能な指示の多様性と数の増加
2)マルチモーダルユースケース(例:「少なくとも3つの画像を生成する」など)への拡張が今後の課題として挙げられています。
また、100%客観的に検証可能な指示は実際には非常に少なく、エッジケースの扱いが常に課題となることも指摘されています。
次に読むべき論文は?
指示追従評価に関する以下の論文が参考になります:
- Ouyang et al. (2022) "Training language models to follow instructions with human feedback"
- Chang et al. (2023) "A survey on evaluation of large language models"
- Sun et al. (2023) の生成タスク、特にカウント関連の指示追従評価に関する研究
これらの論文は、LLMの指示追従能力の評価手法の異なるアプローチを提供しており、IFEvalを補完する視点を得られます。
検証の観点は以下のようなもの。
カテゴリー サブカテゴリー 説明と例 Keywords
(キーワード関連)Include Keywords 特定のキーワードを含める Keyword Frequency 特定の単語を{N}回出現させる Forbidden Words 禁止された単語を含めない Letter Frequency 特定の文字を{N}回出現させる Language
(言語)Response Language 回答全体を指定された言語のみで書く Length Constraints
(長さの制約)Number Paragraphs {N}個の段落を含める Number Words 指定された単語数で書く Number Sentences 指定された文章数で書く Number Paragraphs + First Word 各段落の最初の単語を指定する Detectable Content
(検出可能な内容)Postscript 追伸(P.S.など)を含める Number Placeholder [address]のような指定数のプレースホルダーを含める Detectable Format
(検出可能な形式)Number Bullets 指定された数の箇条書きを含める Title タイトルを⟪title⟫の形式で含める Choose From 指定された選択肢から選ぶ Minimum Number
Highlighted Section最低{N}個のセクションをマークダウンでハイライトする Multiple Sections 指定された数のセクションを含める JSON Format 出力全体をJSON形式にする Combination
(組み合わせ)Repeat Prompt プロンプトを繰り返してから回答する Two Responses 2つの異なる回答を提供する Change Cases
(大文字小文字)All Uppercase すべて大文字で書く All Lowercase すべて小文字で書く Frequency of All-capital Words 全て大文字の単語を指定回数含める Start/End with
(開始/終了)End Checker 指定されたフレーズで終える Quotation 回答全体を引用符で囲む Punctuation
(句読点)No Commas カンマを使用しない
論文中のプロンプトの例を抜粋
染髪の喜びについて2つの詩を書いてください。以下のように2つの詩を分けてください:
詩 1 ****** 詩 2
全体の出力は少なくとも300単語を含むようにしてください。
テイラー・スウィフトのスタイルで、後悔についての歌を書いてください。作成した歌詞の説明も含めてください。
回答全体は英語で、すべて大文字にしてください。Androidでどのようにしてグローバルナビゲーション衛星システム(GNSS)のタイムスタンプを取得するか、10代向けに説明してください。
少なくとも4つの文を使用し、文字「n」が少なくとも3回出現するようにしてください。ファーストネームについてのエッセイを書いてください。
- 小文字のみを使用すること(回答全体が小文字である必要があります)
- 正確に3つの段落で構成すること
- 段落は2つの改行で区切ること
- 2つ目の段落は「Jasper」という単語で始めること
日本への旅行について、300単語以下のブログ投稿を書いてください。
データセット