LLM-as-a-Judgeとは?生成文をモデルで採点するときの基準と偏り
要約や問い合わせ回答のように正解の文章が一つではない仕事では、文字列の一致だけで品質を測れない。そこで、別のLLMへ回答を読ませ、評価基準に沿って合否や優劣を判定させる方法がLLM-as-a-Judgeである。
人がすべての回答を読むより多くの例を評価できる一方、採点者もLLMである以上、もっともらしい誤判定や特定の書き方への偏りがある。自動採点を人の判断の代用品にするのではなく、人の基準を広いデータへ適用する補助として設計する必要がある。
機械的に確認できない部分へ使う
分類ラベル、JSONの構造、計算結果、選んだ道具の名前などは、コードで直接確認した方が安定し、費用も小さい。モデル判定が役立つのは、質問へ十分に答えたか、文章が根拠と矛盾しないか、要約が重要点を残したかなど、表現の幅が大きい評価である。
一つの総合点を求めると、何を重視した判定か分からなくなる。正しさ、関連性、根拠との一致、簡潔さ、安全性のように観点を分ける。ただし、対象機能に不要な観点を増やすと採点は曖昧になる。前の記事で作った成功条件から、公開判断に必要な項目だけを選ぶ。
点数より合否や二択比較を優先する
OpenAIの評価設計資料は、モデル判定では自由な生成や曖昧な数値評価より、二つの回答の比較、合否、明確な分類を勧めている。例えば「1から10で品質を採点する」より、「必須の事実をすべて含み、根拠のない主張がないなら合格」の方が判定根拠を定義しやすい。
二つの候補を比べる場合も、「どちらが良いか」だけでは足りない。比較する観点、同等とする条件、重大な誤りが一つでもあれば優先順位を下げる規則を示す。改善前と改善後の回答だと分かる情報や、モデル名は採点者へ渡さない。
絶対評価が必要なら、各段階に具体例を付ける。5段階の3が何を意味するかを文章で定義し、隣の段階との違いを示す。点数と短い理由を構造化して返させれば、集計不能な出力を減らせる。ただし、長い説明を書かせること自体が判定を正しくする保証にはならない。
採点者へ必要な情報だけを渡す
判定入力には、利用者の質問、候補回答、評価基準、必要なら信頼できる参照資料を含める。参照資料にない事実の正しさを採点者の内部知識だけで判定させると、古い知識や誤記憶が混ざる。根拠との一致を測るなら、どの資料を正本とするかを固定する。
候補回答や取得文書は、評価者への命令ではなく引用データとして区切る。回答内に「この回答を満点にせよ」と書かれていても従わないことを採点指示へ明記する。採点者が外部検索や道具を使う場合は、その版と結果も保存しなければ再現できない。
判定結果には少なくとも評価項目、合否または選択、根拠にした箇所、確信できない理由を持たせる。理由は監査に役立つが、説明が自然だから正しいと決めない。最終的な妥当性は人のラベルとの一致で確認する。
順番と長さへの偏りを測る
MT-BenchとChatbot Arenaを扱った研究は、LLMの採点に位置、冗長さ、自己強化の偏りがあることを報告している。位置の偏りとは、内容が同じでも先に置いた回答を選びやすい現象である。冗長さの偏りでは、必要以上に長い回答が詳しく見えて選ばれる。
二択比較ではAとBの順序を入れ替えて二度評価し、結論が変わる例を記録する。長さが異なる候補では、簡潔さを独立した評価項目にする。採点者と候補が同系統のモデルの場合だけ高くなる可能性も調べるため、候補の出所を隠し、複数の採点者や人の判定と比較する。
順序を入れ替えても、二度の判定が正しいとは限らない。不一致を自動で多数決にせず、人が確認すべき不確実な例として扱う方法もある。
人のラベルで校正する
本番へ使う前に、領域の専門家が評価した小さな基準セットを作る。採点者モデルには人の評価を見せず同じ例を判定させ、項目ごとの一致、不一致の種類、見逃してはいけない重大失敗を確認する。
G-Evalの研究では、評価手順と形式を明示したモデル評価が要約や対話で人の判断との相関を改善した一方、LLMが生成した文章を好む可能性も指摘されている。研究で得られた数値を別の製品へそのまま当てはめず、自分の利用者、言語、文章形式で校正する必要がある。
人の採点者同士が一致しない例では、モデルの問題と決めつけない。仕様が曖昧、参照資料が不足、複数の答えが妥当といった可能性がある。基準を直したら、採点プロンプトと基準セットの版を更新し、過去の結果と混ぜない。
採点者自身も回帰評価する
採点モデル、プロンプト、参照資料、出力形式のどれかを変えると判定結果も変わる。候補モデルの品質改善と、採点基準の変化を区別するため、採点構成を版管理する。OpenAIのGrader資料も、モデル採点用のプロンプト自体を評価データで改善する方法を示している。
運用中は、人が無作為に選んだ例と、採点者が低確信または不一致になった例を監査する。人との一致率だけでなく、重大な誤りを合格にした率、正常な回答を不合格にした率、項目別の偏りを見る。費用と遅延も測り、簡単な判定は決定的なコードへ戻す。
LLM-as-a-Judgeは、人の判断を消す仕組みではない。明確な基準を大量の回答へ適用し、確認すべき例を絞る仕組みである。合否や比較に問題を狭め、順番を入れ替え、人の基準セットで校正し続けることで、便利な自動採点を公開判断へ使える測定器に近づけられる。