Dev Study
← AIを部品として組み込む仕組み
レッスン 5 / 12·約 9 分·第20期 AIを部品として組み込む仕組み

採点役も分布から引いている — 順序を入れ替えて確かめる

リクエストがアプリケーションに届くまで
  1. ブラウザURL入力
  2. DNS名前→IP
  3. ルータ経路選択
  4. ロードバランサ振り分け
  5. Nginx受け口
  6. アプリ処理今ここ
  7. DB保存

確率で答える部品の確かさは、部品の外側にしか書けません。今回はその部品が採点役に回ったとき、確かさをどこに書くかを見ます。

まず結論

LLM に別の LLM の出力を採点させるとき、採点役も確率で答える部品です。2つの回答を並べる順序を入れ替えただけで、判定が変わることがあります。

対策は採点役の外側に書けます。両方の順序で聞き、両方で勝ったときだけ勝ちとし、割れたら引き分けにする。ただし両順序で一致しても、その判定が正しいとは限りません。

? 読む前に予測

0.5B パラメータの小さな LLM に「A と B のどちらが正しいか」を10問聞いた。正答を A に置く順と B に置く順の両方で聞くと、どうなったでしょうか。

当てることが目的ではありません。外した予測ほど記憶に残るので、直感で選んでください。

抽象原理

採点役も、同じ部品である

生成結果が良いかどうかを、人が全部読むのは高くつきます。そこで別の LLM に評価基準を渡して採点させます(LLM-as-a-judge)。

ここで見落としやすいのは、採点役も、採点される側と同じ種類の部品だという点です。2026-09 時点の Anthropic の API 文書は temperature を Amount of randomness injected into the response. と説明し、既定値を 1.0 として、こう注記します。

Note that even with temperature of 0.0, the results will not be fully deterministic.

(第1回で見たとおり、同じ項目によれば Opus 4.6 より後のモデルでは 1.0 以外は400で拒否されます。)API 越しに呼ぶ採点役の判定も、分布から引いた1つです。

そして分布を決める入力には、回答の中身だけでなく並べた順序も含まれます。Zheng ら(2023)は採点役の偏りとして position, verbosity, and self-enhancement biases を挙げ、位置の偏りをこう測りました。

Consistency is the percentage of cases where a judge gives consistent results when swapping the order of two assistants.

順序を入れ替えても同じ結果を返す割合です。中身が同じなら、並べ方で判定は変わらないはずです。

同じ2回答を、順序だけ変えて採点役に渡す
質問 + 回答X + 回答Y中身は変えない
並べ方だけ変える
X を先に置く1回目の入力
Y を先に置く2回目の入力
採点役(LLM)は分布を出す
判定1X か Y か
判定2X か Y か
採点役の外側で突き合わせる
両方で同じ側が勝ち勝ちと数える
割れた引き分けにする
  • ・一番下の段の突き合わせは Zheng ら §3.4 の保守的な対策
  • ・両方で同じ側を選んでも、その判定が正しいとは限らない
具体実物

0.5B の採点役に、10問を2つの順序で聞く

Docker 上で Qwen/Qwen2.5-0.5B-Instruct(revision 固定、torch 2.14.0+cpu・transformers 5.17.0)に、自明な10問を採点させました。各問に正答と誤答を1つずつ用意し(7×8 なら 56 と 54)、Which answer is correct? Reply with a single letter, A or B. と聞きます。正答を A に置く順(good-first)と B に置く順(good-second)の両方です。

判定は、最後の位置で「A」と「B」それぞれに付いた点数(ロジット)を比べ、大きい方を採ります。括弧内はその差 logit(A)−logit(B) です。

$ python l5-judge-pinned.py(1回目。先頭の日時の行は省略。2回目も同一)コマンド出力
torch 2.14.0+cpu transformers 5.17.0 threads 10
What is 7*8? good-first->A(+7.83) good-second->A(+7.57)
Capital of France? good-first->A(+8.10) good-second->A(+2.85)
Is 17 prime? good-first->A(+7.17) good-second->A(+7.24)
Boiling point of water at sea good-first->A(+7.29) good-second->A(+6.53)
How many days in a week? good-first->A(+7.12) good-second->A(+5.03)
2+2? good-first->A(+5.98) good-second->A(+5.86)
Largest planet in the Solar Sy good-first->A(+5.79) good-second->A(+4.00)
Chemical symbol for gold? good-first->A(+4.28) good-second->A(+4.19)
What does HTTP status 404 mean good-first->A(+7.58) good-second->A(+6.15)
How many bits in a byte? good-first->A(+6.76) good-second->A(+6.34)
correct in both orders: 0/10; 'A' chosen 20/20 times

最終行のとおり、20回すべて A です。正答を A に置けば10問とも正解扱い、B に置けば10問とも誤り。差が最も小さい Capital of France? の good-second でも +2.85 で、A 側に寄っています。

✓ ここまでの確認

手元の実演(最終位置の A と B の点数を比べ、大きい方を採る方式)が示したことはどれですか。

抽象原理

入れ替えても変わらないはずの関係

採点役の正しい判定を、人は前もって全部は書けません。書けるなら採点役は要りません。

別コース「開発の実務」の『期待する出力が書けないとき、何と比べるか』では、正しい出力の代わりに複数回の実行の間の関係(メタモルフィック関係)と比べる手を見ました。順序の入れ替えはその一例です。「回答を入れ替えたら、勝つ回答も入れ替わった位置に付いていく」という関係を、採点役の外側で確かめます。

Zheng らは対策をこう書き、以降の実験で使いました。

A conservative approach is to call a judge twice by swapping the order of two answers and only declare a win when an answer is preferred in both orders. If the results are inconsistent after swapping, we can call it a tie.

同じ節には、位置を乱数で決める more aggressive approach も並びます。

ただし、この関係も部分的な判定手順です。同じ論文は、few-shot で GPT-4 の一貫性が65.0%から77.5%に上がったと報告しつつ、high consistency may not imply high accuracy と書きます。両方の順序で同じ誤った回答を選ぶ採点役は、この検査を通ります。

具体実物

強い採点役でも、似た2回答では割れる

Zheng らは MT-bench の1ターン目の各問に、GPT-3.5 を temperature 0.7 で2回呼んでよく似た2回答を作り、順序を入れ替えて採点させました。

Zheng et al. Table 2(既定のプロンプトの行、2023年のモデル)表
採点役 Consistency Biased toward first Biased toward second Error
Claude-v1 23.8% 75.0% 0.0% 1.2%
GPT-3.5 46.2% 50.0% 1.2% 2.5%
GPT-4 65.0% 30.0% 5.0% 0.0%

最も一貫した GPT-4 でも、35.0%は入れ替えで判定が変わりました。著者は Only GPT-4 outputs consistent results in more than 60% of cases. と書く一方、この検査は回答が似ていて人にも区別しにくいことがある難しい条件だとも断っています。値は2023年のモデルのもので、今の強いモデルの偏りの大きさは、この論文からは分かりません。

同じ論文の要旨は、GPT-4 の採点が人間と over 80% agreement だと書きます。この80%は、勝敗が付いた票だけを数える S2 の値です。MT-bench の1ターン目で、GPT-4 対人間は S2 で85%、引き分けと順序で割れた票も含める S1 では66%(人間同士は S2 81%・S1 63%)。しかも一致率の実験は、上の保守的な対策を入れた後の数字です。

✓ ここまでの確認

Zheng らの要旨にある「GPT-4 の採点は人間と80%超一致」を引くとき、添えるべき条件はどれですか。

⇄ 2つを見比べる
具体例 A

LLM 採点の順序入れ替え

同じ2回答を逆順でも採点し、勝つ回答が位置に付いていくかを見ます。割れた組は引き分けにします。両順序で同じ誤答を選ぶ採点役は通ります。

関係と、通るもの・落ちるもの表
採点役のふるまい 関係「勝者は位置に付いていく」
常に先頭を選ぶ 破る(割れて引き分けになる)
両順序で同じ誤答を選ぶ 満たす(勝ちと数えられる)
具体例 B

絞り込み検索のメタモルフィック関係

条件を1つ足した結果が、足す前の結果に含まれるかを見ます。正しい件数は書きません。空は何の部分集合でもあるので、常に空を返す実装は通ります。

関係と、通るもの・落ちるもの表
実装のふるまい 関係「足した結果 ⊆ 足す前の結果」
条件を OR で扱う 破る(条件を足すと増えうる)
常に空を返す 満たす(空は何の部分集合でもある)

採点役の判定と、検索の結果。検査の相手は違いますが、共通する仕組みと限界は何でしょうか。

それぞれの表で「満たす」と書かれた行が、なぜ通るのかを見てください。

この章のまとめ

  • 採点役も確率で答える部品。2026-09 時点の Anthropic の文書は temperature 0.0 でも not be fully deterministic と書く。
  • 判定は回答の中身だけでなく並べた順序にも左右される。0.5B の実演では20回すべて A。サンプリングせず一番上を採っても割れた。
  • Zheng らの Table 2(似た2回答・2023年)で GPT-4 の一貫性は65.0%。「80%超の一致」は引き分けを除く S2 の値で、S1 では66%。
  • 対策は外側に書く。両順序で勝てば勝ち、割れたら引き分け。これはメタモルフィック関係の一例。
  • ただし high consistency may not imply high accuracy。両順序で同じ誤りを選べば通る。

自分の現場で確かめる

読んだだけでは身につきません。手元の環境で実際に見てみてください。

理解度チェック

読んだ直後は「分かった」と感じやすいものです。実際に解いて確かめてください。

問題 1 / 3正解: 0

Zheng らが位置の偏りへの「保守的な」対策として書き、以降の実験で採用したのはどれですか。

用語集(4語)
LLM-as-a-judge
LLM に評価基準を与え、別の LLM の出力を採点させる評価の方法。採点役も確率で答える部品なので、偏りを持つ。
位置の偏り(position bias)
回答を並べた位置によって判定が偏ること。Zheng らは verbosity(長さ)・self-enhancement(自己の出力への偏り)と並べて挙げる。
一貫性(Consistency)
Zheng らの Table 2 の指標。2つの回答の順序を入れ替えても同じ結果を返した割合。正確さとは別の量。
S1 / S2
Zheng らの一致率の2つの数え方。S1 は引き分けと順序で割れた票も含め、割れた票を引き分けとする。S2 は勝敗が付いた票だけ。