ルーブリックに基づく LLM 評価
Potato のルーブリック評価タイプを使い、複数の重み付き基準(MT-Bench 方式)に照らして LLM の出力を評価する方法。
ルーブリックは、漠然とした判断(「これは良い回答か?」)を、有用性・正確性・網羅性・トーン・安全性といった具体的で採点可能な基準に分解し、それぞれを尺度で評価します。これにより LLM 評価が再現可能になり、ある回答が別の回答になぜまさるのかが見えてきます。 これは MT-Bench のようなベンチマークの背後にある構造です。
ルーブリック(rubric)は、主観的な品質を、定義された基準と尺度の目盛りからなるグリッドに変換します。これにより一致度が高まり、結果が解釈しやすくなります。
ルーブリックを使うべき場面
- 出力が十分に豊かで、単一のスコアでは情報が失われてしまう。
- 全体的な結論だけでなく、どの次元が弱いのか(正確性かトーンか)を知る必要がある。
- 採点前に、関係者が合意できる基準を用意しておきたい。
「どちらが優れているか」だけが必要なら、ペア比較のほうが安上がりです。ルーブリックは、絶対的で多次元のプロファイルが必要なときに真価を発揮します。
Potato での設定方法
yaml
annotation_schemes:
- annotation_type: rubric_eval
name: answer_quality
description: "Rate the answer on each criterion."
scale_points: 5
criteria:
- {name: Helpfulness, description: "Does it address the user's actual need?"}
- {name: Accuracy, description: "Is it factually correct?"}
- {name: Completeness, description: "Does it cover the important points?"}
- {name: Tone, description: "Is the style appropriate?"}Potato はこれをグリッドとして描画します。基準が縦に並び、尺度の目盛りが横に並びます。アノテーターはすべてのセルを採点します。
良い基準の書き方
- 互いに独立させる。 重なり合う基準(「helpful」と「useful」)は一緒に採点され、ノイズを増やします。
- 尺度にアンカーを置く。 全体としての両端だけでなく、各基準について 1 と 5 がどのようなものかを記述します。
- 短く保つ。 基準は 4〜6 個がたいてい最適です。長いルーブリックはアノテーターを疲れさせ、一致度を下げます。
ルーブリックと LLM-as-judge
人間に渡すのと同じルーブリックを「LLM 裁判官」へのプロンプトに使えば、安価な事前採点ができ、その後に人間が検証できます。これは LLM による事前アノテーションとまったく同じやり方です。裁判官を照合するために人間が採点したサンプルを残しておき、裁判官自身の偏り(長さ、書式、自己選好)に注意してください。