モデルのペア比較
2 つのモデルや 2 つの回答を人間のアノテーターに一対一で比較してもらう方法。多次元比較やバイアス対策も含めて、Potato で解説します。
2 つのモデルのどちらが優れているかを判断するには、アノテーターにプロンプトと両方の回答を見せて、どちらが勝つかを尋ねます。多数のプロンプトにわたって集計すれば、こうした一対一の判定は絶対スコアよりも信頼できる形でモデルを順位付けします。 これは人間の投票に基づく公開モデルリーダーボードを支える手法です。
これはペア比較をモデル出力に応用したものです。多くの比較は Elo や Bradley–Terry モデルによって単一の順位に変換できます。
基本の一対一
yaml
annotation_schemes:
- annotation_type: pairwise
name: which_better
description: "Which response is better overall?"
mode: binary
allow_tie: true多次元の比較
単一の「より良い」はトレードオフを覆い隠します。モデル A はより正確だが、モデル B はより明快、というように。複数の次元を同時に比較しましょう。
yaml
annotation_schemes:
- annotation_type: pairwise
name: comparison
description: "Compare the two responses on each dimension."
mode: multi_dimension
dimensions: [accuracy, helpfulness, safety]
require_justification: true理由の記入を必須にすると、データが検証可能になり、アノテーターが誤った点を評価してしまったケースが浮かび上がります。
バイアスの制御
一対一のデータは、そのバイアス対策の質に見合った価値しか持ちません。
- 位置バイアス:どちらのモデルを「A」として表示するかをランダム化する。そうしないとアノテーターは一方の側を好みます。
- 長さ・文体のバイアス:アノテーターは品質に関わらず、より長い、あるいはより自信ありげな文章を好みがちです。ガイドラインで明示しましょう。
- 冗長さ ≠ 品質:長さが勝敗を左右していないか確認できるよう、長さを記録することを検討してください。
- 一致度:重複を収集し、アノテーター間一致度を追跡しましょう。
比較 vs. ルーブリック
順位が必要で高い一致度を求める場合はペア比較を使います。各モデルの絶対的かつ次元ごとのプロファイルが必要な場合はルーブリックを使います。多くの評価では両方を実施します。