LLM-as-a-Judge
LLM-as-a-Judgeは、ある言語モデルが、別のモデル(または自身の以前の出力)の出力を、ルーブリックに照らして採点または比較する評価手法です。オープンエンドなQA、要約、チャットボットの応答といったタスクにおいて、高コストな人間による採点を置き換えます。
LLM-as-a-Judgeは、ある言語モデルが、別のモデル(または自身の以前の出力)の出力を、ルーブリックに照らして採点または比較する評価手法です。オープンエンドなQA、要約、チャットボットの応答といったタスクにおいて、高コストな人間による採点を置き換えます。
なぜ重要なのか
生成的な出力の評価は、LLM機能をリリースするうえで最も難しい部分です。人間によるレビューはスケールしません。週に10,000件の応答を採点するのは費用的に無理があり、評価者間の一致もしばしば乏しいものです。2023年の論文「Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena」は、ジャッジとしてのGPT-4が、人間の専門家とおよそ85%一致することを示しました。これは、人間同士が一致する割合とほぼ同じです。これは、ほとんどの評価ループで人間を置き換えるのに十分であり、コストのごく一部で継続的なテストを可能にします。
仕組み
1. ルーブリックを定義する: 正確さ、網羅性、トーン、安全性といった基準。それぞれにスケール(1〜5)または二者択一の合否を設けます。
2. ジャッジにプロンプトを与える: ジャッジモデルに、入力、評価対象の出力、そしてルーブリックを与えます。採点し、その理由を説明するよう求めます。
3. ペアワイズまたはポイントワイズ:
- ポイントワイズ: 単一の出力をルーブリックに照らして採点します。簡単ですが、スケールのドリフトを起こしやすいです。
- ペアワイズ: 2つの出力を比較して勝者を選びます。絶対的な採点よりも相対的な判断のほうが安定するため、より信頼できます。
4. 集約する: 多数の事例にわたってスコアを平均し、反復するなかで経時的に追跡します。
うまく機能する場面
A/Bテストのプロンプト: 「v2はv1より良い回答を生成するか?」は、LLMジャッジがうまく扱えるペアワイズの問いです。
RAGの品質モニタリング: 取得されたコンテキストが実際に使われ、事実に基づいて裏付けられているかを確認します。
回帰テスト: プロンプトを変更するたびに、固定の評価セットに対してジャッジを走らせます。
レッドチーミング: ジャッジLLMが、ポリシー違反を大規模にスキャンします。
知られているバイアス
位置バイアス: ペアワイズの比較では、ジャッジは最初の応答を好む傾向があります。位置を入れ替えて平均をとることで緩和します。
冗長性バイアス: より良くなくても、長い応答のほうが高く評価されます。ルーブリックで長さを制御します。
自己選好: モデルは自身の出力をわずかに好みます。可能な場合は、別のモデルをジャッジとして使いましょう。
スケールの較正不良: ジャッジはスコアを中央に圧縮しがちです。ペアワイズ評価はこれを回避します。
プロンプトへの敏感さ: ルーブリックの小さな言い回しの変更が結果を覆します。検証が済んだら、ジャッジのプロンプトを固定しましょう。
ベストプラクティス
可能な場合は、評価対象より強いモデルを使うこと。
スコアを大規模に信頼する前に、小さなシードセットで人間のラベルに照らして検証すること。
ジャッジにルーブリックを明示的に示すこと。「良い」が何を意味するかを知っていると思い込まないこと。
先に理由を、それから採点を求める(Chain-of-Thought)。ジャッジは、説明を強いられるとより信頼性高く採点します。
重要度の高い判断にはペアワイズを、安価なモニタリングにはポイントワイズを選ぶこと。
Sources: