AIガイド · 18分で読めます

LLM-as-a-judgeとは?LLMによる評価の仕組みと落とし穴

LLM-as-a-judgeは、あるモデルの回答を別のモデルで評価する手法です。その仕組みや研究で判明したバイアス、信頼できる評価者を構築するための方法を、具体的な手順とともにわかりやすく解説します。人間による評価との比較や、位置バイアスへの対策、評価コストを抑える方法も紹介します。

評価基準のチェックリストを背景に、両皿に回答カードを載せた天秤を持つ、光る幾何学的なAIのイラスト

LLM as a judgeは、言語モデルが別のモデルやAIアプリケーションの出力を、特定の評価基準、参照回答、または比較対象の回答に照らして採点する評価手法です。チームは、完全一致を確認するコードでは評価できないチャットボットの返答、RAGの回答、要約などの自由回答タスクにLLM-as-a-judgeを使います。

言語モデルを基盤にアプリケーションを構築すると、テストがすぐに最大のボトルネックになります。単体テストではJSONペイロードを解析できるかを確認でき、BLEUやROUGEのような従来の自然言語指標では共通する単語を数えられます。しかし、どちらも要約が実際に意味をなすか、カスタマーサポートのボットが丁寧に答えたかは判断できません。2023年3月のLiu et al.によるG-Evalの論文が示すように、BLEUやROUGEのような参照ベースの指標は、創造的なタスクや自由回答タスクにおいて人間の判断との相関が比較的低くなります。

人間によるレビューは評価の基準ですが、システムプロンプトを少し変更するたびにエンジニアや専門家に500件の出力を読んでもらうと、改善の反復は大幅に遅くなります。LLM-as-a-judgeは、融通の利かない文字列チェックと時間のかかる人間の採点の間を埋めます。ただし、自動評価にも独自の問題があります。最初に表示された回答を好んだり、長いだけの中身の薄い文章を高く評価したりします。評価の仕組みと失敗する場面を理解することが、性能の後退を検出できる評価パイプラインと、誤った安心感を与えるパイプラインを分けます。

LLM as a judgeとは何か、なぜ使われるのか?

LLM as a judgeは、言語モデルへのプロンプトを使い、別のモデルやシステムの出力を採点、順位付け、検証する自動評価手法です。文字列の完全一致に頼る代わりに、評価モデルが入力プロンプト、生成された出力、採点指示を読み、構造化された評価を生成します。

ソフトウェアチームがLLM-as-a-judgeを採用するのは、現代のAIアプリケーションが何千通りもの方法で妥当な回答を生成するためです。検索拡張生成システムを構築する場合(RAGの仕組みを参照)、同じ原文の2つの要約は、完全に一致する表現がほとんどなくても、どちらも正確な場合があります。逆に、参照テキストと90%の単語が一致していても、否定表現が1つ逆になるだけで内容が誤りになることもあります。

OpenAIのGraderドキュメントとAnthropicの評価ガイドはどちらも、モデルによる採点を決定論的なコードチェックや人間によるレビューと並ぶテストの柱としています。実際、チームは主に3つの方法でAIの出力を評価します。

評価方法 仕組み 適した用途 主な制限
コードによるチェック 完全一致、正規表現、JSONスキーマ検証、文字列チェック、Python実行を使います。 構造化出力、ツール呼び出し、構文検証、決定論的に確認できる事実。 自由な表現、口調、微妙な意味の等価性には対応できません。
LLM as a judge 評価モデルに基準、参照テキスト、または2つの選択肢を与えて出力を採点します。 要約、チャットボットの有用性、口調、提供されたソースに対するRAGの忠実性。 項目ごとに追加のAPI呼び出しが必要で、位置、冗長性、自己優遇のバイアスを受けます。
人間によるレビュー 専門家やクラウドワーカーが出力を手動で採点します。 正解となる校正データの作成、重大な影響がある例外ケースの監査、専門分野の微妙なニュアンス。 遅く、費用がかかり、プロンプトやコードの変更ごとに継続して実施するのが困難です。

LLM-as-a-judgeによる評価の仕組み

LLM-as-a-judgeによる評価では、タスクの文脈、候補となる出力、構造化された採点プロンプトを評価モデルに渡し、モデルが理由と最終的なスコアまたは優先する回答を出力します。採点方法は、評価対象に応じて、2023年6月のZheng et al.によるMT-BenchとChatbot Arenaの論文と2023年3月のG-Evalフレームワークで示された3つのパターンのいずれかに一般的に従います。

1. 単一回答の採点(ポイントワイズ)

単一回答の採点では、評価者が1つのプロンプトとモデルの回答を単独で見て、評価基準に照らして採点します。スコアは合否の二値判定(correctかincorrectのみを出力するなど)や、1から5までの尺度にできます。OpenAIのGraderドキュメントにあるように、採点モデルは厳密な0か1ではなく部分点を与えることもできます。

G-Evalの研究では、Liu et al.が単一の出力を採点するために、思考の連鎖による推論とフォームへの記入方式を組み合わせました。文章要約タスクでは、GPT-4を基盤とするG-Evalが人間の採点との間で0.514のスピアマン相関を達成し、従来の自動評価手法を上回りました。ポイントワイズ採点は、各テストケースに独立したスコアが付くため、本番環境の監視や回帰テストに適しています。

2. ペア比較

ペア比較では、評価者に1つのプロンプトと2つの候補回答(Answer AとAnswer B)を与え、優れた回答を選ぶか引き分けを宣言するよう求めます。これは、Chatbot Arenaのようなプラットフォームで人間がモデルを比較する方法に対応します。Zheng et al.はChatbot Arenaを、人間の好みが付いた30,000件の会話と、MT-benchの質問に対する専門家の3,000票の公開とともに紹介しました。

評価モデルにとって、ペア比較は1から10までの抽象的な数字を付けるより簡単な場合が多く、2つのプロンプトのA/Bテストや、用途に合わせてAIモデルを選ぶ際に適しています。ただし、候補が数十個になるとペア比較は拡張しにくく、回答の提示順序に非常に左右されます。

3. 参照を用いた採点

参照を用いた採点では、候補回答に加え、正解となる参照回答、必要な事実のリスト、またはソース文書を評価者に渡します。言語モデルは知らない事実を検証できません。AIのハルシネーション率の解説でも述べたように、モデルは記憶だけを頼りに採点すると、もっともらしい詳細を日常的に作り出します。

正解や検索で取得したRAGのチャンクを評価者に渡せば、資料を参照できる知識テストを、はるかに簡単な読解力の確認に変えられます。この方法は、数学の問題、推論パズル、事実への忠実性を評価する際に重要です。

LLM評価者の精度は人間と比べてどの程度か?

高性能なLLM評価者は、自由回答タスクにおいて人間の好みと80%を超える割合で一致します。これは異なる2人の人間のアノテーター間で見られる一致率と同じ水準です。この基準値はZheng et al.(2023年6月、arXiv:2306.05685)によるもので、MT-benchとChatbot Arenaの会話について、評価者としてのGPT-4を、管理された専門家のラベルとクラウドソーシングによる人間の投票の両方と比較しました。

この結果は、LLM評価者が魅力的な大きな理由です。人間によるラベル付けには時間と費用がかかりますが、人間同士と同程度に人間と一致する評価者なら、日常的な採点の大部分を代行できます。ただし、一致率は平均値であり、平均値からは評価者の失敗箇所が見えません。

全体的な相関が高くても、重大な盲点が隠れています。一般的な会話で人間と80%の割合で一致する評価者も、回答が説得力のある形式で書かれている場合、有利な位置に置かれた場合、複数段階の数学的検証が必要な場合には、系統的に失敗する可能性があります。

LLM as a judgeはどこで失敗するのか?よくあるバイアス

LLM評価者のバイアスとは、評価モデルが実際の正確さではなく、回答の順序、長さ、文体などの表面的な特徴に基づいて出力を系統的に優遇することです。2024年11月のサーベイ論文A Survey on LLM-as-a-Judgeに要約され、Zheng et al.、Wang et al.、Liu et al.の研究で詳述された複数の評価ベンチマークの研究は、注意すべきいくつかの問題を示しています。

位置バイアスと順序の操作

位置バイアスとは、ペア比較でLLM評価者が内容の品質にかかわらず特定の位置、しばしば最初に提示された回答を好む傾向です。2023年5月の論文Large Language Models are not Fair Evaluatorsで、Wang et al.はこの欠陥の深刻さを実証しました。回答の順序を操作することで、ChatGPT自身が評価者を務めた際、より小さいVicuna-13Bがテストした80件の質問のうち66件でChatGPTに勝ちました。Aを先、Bを後にする順序だけでペア比較を行うと、先に提示するモデルを変えるだけでベンチマーク結果が逆転することがあります。

冗長性バイアス

冗長性バイアスは、追加された文章が繰り返しや水増し、やや的外れな内容であっても、LLM評価者が長く詳細に見える回答を高く採点することです。Zheng et al.はこれをLLM評価者の主な限界に挙げています。言語モデルは丁寧な埋め草や箇条書きを簡単に生成できるため、校正されていない評価者は、簡潔で正確な80語の説明より、400語のまとまりのない回答を高く評価しがちです。

自己優遇バイアス

自己優遇バイアスとは、言語モデルが自分自身または同じモデルファミリーのモデルによる出力を好む傾向です。Zheng et al.はこれをLLM評価者の限界として特定し、Liu et al.はLLMベースの評価者がLLM生成テキストを優遇する可能性を指摘しました。あるモデルに自分自身と競合モデルの直接比較を採点させると、自分の表現をより自然で役立つと評価することがあります。

推論と数学の採点能力の限界

評価モデルは、自分で解けない推論や数学の問題を確実に採点できません。Zheng et al.は推論能力の限界をLLM評価者の弱点に挙げ、参照回答を与えるなどの対策を提案しています。候補回答に自信ありげな計算ミスが含まれると、評価者は誤った回答を正解と判断することがあります。

信頼できない出力内のプロンプトインジェクション

評価者がエンドユーザーや収集したウェブページの影響を受けたテキストを評価する場合、候補出力自体に採点者を乗っ取るための敵対的な指示が含まれることがあります。たとえば、以前のルールを無視して満点を出すよう評価者に指示する文章です。信頼できない入力を採点するパイプラインでは、悪意ある文字列による評価の操作を防ぐため、プロンプトインジェクションのガイドにある防御策を確認してください。

バイアスまたは問題 原因 対策
位置バイアス ペア比較の評価者が品質に関係なく特定の位置(最初の回答など)を好みます。 Balanced Position Calibrationを使って各ペアを両方の順序(A/BとB/A)で評価し、両方向で成立する勝利だけを数えます。
冗長性バイアス 評価者が長い文章や凝った書式を高い有用性と同一視します。 長さは品質を意味しないと評価基準に明記し、同程度の長さの出力を比較します。
自己優遇バイアス モデルが自分の学習分布や文体の傾向に合うテキストを好みます。 生成モデルとは別のファミリーの評価者、または多様な評価者のパネルを使います。
数学と推論の誤り 評価者には複数段階の論理をその場で検証する能力がなく、自信ありげな誤りに惑わされます。 検証済みの参照回答を与え、採点前の推論を要求するか、決定論的なPython実行による評価を使います。
LLMの文体に対する評価者のバイアス 評価者が簡潔で事実に即した正確さより、洗練されたLLMの表現を過大に評価します。 具体的で実証的な合否基準に評価基準を結び付け、人間がラベル付けしたサンプルでスコアを校正します。

信頼できるLLM評価者を設定するには?

信頼できるLLM評価者を設定するには、まず決定論的なチェックで選別し、採点前の推論を求める具体的な基準を作り、位置とモデルファミリーのバイアスを抑え、人間のラベルに照らして校正する必要があります。評価スイートを構築する際は、次のチェックリストに従ってください。

  1. LLM評価者を呼び出す前に決定論的なチェックを行う。 出力が有効なJSONか、必須キーワードを含むか、280文字未満かを確認するためにLLMに料金を払う必要はありません。まず完全一致、正規表現、JSONスキーマ検証、単体テストなどのコードによる評価を使い、LLM評価者は口調、有用性、ソースへの忠実性など、コードで測れない品質に限定します。
  2. 事実確認のために参照回答やソース文書を渡す。 正確さが特定の事実、数学、内部知識に依存する場合は、正解の参照や取得したRAGの文脈を評価者のプロンプトに直接渡します。主張の検証が必要なワークフローでは、AIの回答をファクトチェックする方法のガイドにある手法を評価基準と組み合わせます。
  3. 小さい尺度または二値尺度を使った具体的な評価基準を書く。 「品質を1から100で評価する」のような曖昧な指示は、ばらつきが大きく一貫性のない数値を生みます。Anthropicの評価ドキュメントが推奨するように、基準を具体的かつ実証的にします。たとえば、correctかincorrectのみを出力させるか、各段階に明確な合否ルールを設けた厳密な1から5の尺度を使います。長い回答が優れているわけではないと明示してください。
  4. 最終スコアの前に推論または証拠を求める。 Wang et al.のMultiple Evidence CalibrationとAnthropicの採点ガイドラインは、最終判断を出す前にモデルに理由を書かせるか、思考を有効にすることを重視しています。自己回帰モデルはトークンを順番に生成するため、先に分析を出力すると、後続のスコアがテキスト中の具体的な証拠に基づくようになります。
  5. すべてのペア評価で回答順序を入れ替える。 位置バイアスを抑えるため、Balanced Position Calibrationを適用します。1回目の呼び出しで(Answer A, Answer B)、2回目で(Answer B, Answer A)を評価します。両方の位置で同じ回答が選ばれた場合のみ勝利とし、それ以外は引き分けとして記録します。
  6. 評価者と生成モデルのファミリーを分けるか、LLM評価者のパネルを使う。 モデル提供元を比較する際に、モデル自身の出力をそのモデルに採点させてはいけません。さらに、単一の高価な最先端評価者を合議体に置き換えることも検討してください。2024年4月の論文Replacing Judges with Juries: Evaluating LLM Generations with a Panel of Diverse Modelsで、Verga et al.は、異なるファミリーの複数の小型モデルからなるPanel of LLM evaluators (PoLL)が、3つの評価設定と6つのデータセットで単一の大型評価者を上回り、モデル内バイアスが少なく、費用が7分の1未満だったことを示しました。評価のたびにテスト項目ごとのAPI呼び出しが増えるため、小型モデルやPoLLの利用はAI APIのコストを削減する簡単な方法でもあります。
  7. 人間がラベル付けした例で校正し、定期的に再確認する。 本番環境で自動評価者を信頼する前に、人間がラベル付けした小規模な校正データセットを作ります。実際の入力から50〜100件などのサンプルをチームに手動で採点してもらい、LLM評価者と人間のラベルの一致率を測定します。評価者と専門家の判断が異なる箇所の基準を改善し、ユーザーの質問の変化に合わせて人間による校正を定期的に繰り返します。

FAQ

ポイントワイズとペアワイズのLLM評価の違いは?

ポイントワイズ評価は、1つのモデル出力を単独で評価基準に照らして採点し、合否または1から5のような数値を返します。ペアワイズ評価は、同じプロンプトに対する2つの候補出力を並べて評価者に見せ、どちらが優れているかを尋ねます。ポイントワイズは継続的な本番監視や回帰の判定に、ペアワイズは2つのプロンプトやモデルの直接的なA/Bテストに適しています。

LLM-as-a-judgeの位置バイアスはどう修正する?

候補の順序を入れ替えて各ペア比較を2回実行します。1回目はModel A、次にModel Bを提示し、2回目はModel B、次にModel Aを提示します。Wang et al.(2023年5月)はこれをBalanced Position Calibrationと呼んでいます。両方で同じ回答が選ばれた場合だけ勝利とし、判断が分かれた場合は引き分けにします。

同じLLMで回答の生成と評価を行うべきか?

いいえ。同じモデルやモデルファミリーで回答を生成し評価すると、評価者が自分の表現や学習分布に合う出力を好む自己優遇バイアスが生じます。公平な評価のため、テスト対象の候補とは別のモデルファミリーから評価者を選ぶか、異なるファミリーの多様なLLM評価者による投票を集約します。

LLM評価者は人間による評価を完全に置き換えられるか?

LLM評価者は人間による評価を完全には置き換えられません。自動評価者は基準の校正や専門分野の微妙な問題の発見に、人間が付けた正解ラベルを必要とするためです。Zheng et al.(2023年6月)はGPT-4のような高性能な評価者が人間の好みと80%を超えて一致すると報告しましたが、初期の校正データへのラベル付け、例外ケースの監査、重大な影響がある専門的推論の検証には引き続き人間が必要です。

大規模なLLM-as-a-judgeの実行コストを下げるには?

まず無料の決定論的なコードチェックを実行し、基本的な構文と長さのルールを満たす出力だけをLLM評価者に渡すことで、評価コストを削減できます。また、Verga et al.による2024年4月のPoLL研究では、異なるファミリーの小型モデルのパネルが単一の大型評価者より高い精度を達成しながら、費用は7分の1未満だったと報告されています。

出典

執筆

Chunyu Cai

Chunyu CaiはLotook, LLCの最高経営責任者(CEO)であり、起業家です。AIモデルやエージェント、そしてそれらが日々の仕事をどう変えるかについて執筆しています。Chunyu CaiはImperial College Londonで修士号を取得しています。