ブラインドの人手サンプルでLLMラベルを証明する
ブラインドで集めた人手ラベルのランダムサンプルで誤り率が目標を下回ると示された部分だけLLMのラベルを残し、出現率はモデルで補正した区間とともに報告します。
すべてを確認せずにどのLLMラベルを残すかを決めるには、ブラインドのランダムサンプルに人がラベルを付け、そのサンプルの半分で信頼度のしきい値を選び、残りの半分で、しきい値を超えるラベルの誤り率が目標を下回ることを検定します。出現率の数値については、同じサンプルでのモデルの誤りを使ってモデルの推定値を補正します。そうして得られる区間は、モデルの性能がどうであっても有効です。
LLMラベルを確認するよくある方法は、数十件の出力を読み、問題がなさそうなら「LLMでデータにラベルを付け、抜き取り確認を行った」といった一文を添えてデータセットを公開することです。この一文はラベルがどのくらいの頻度で誤っているかを述べていませんし、その確認で15%の誤り率を見つけられたかどうかも査読者には判断できません。数値を裏付ける確認は、3つの問いに答えます。どの機械ラベルを残すか、機械ラベルから計算した割合がどのくらいずれているか、そしてモデルが人の代わりを務められるかです。
抜き取り確認とレビュー済みの事前ラベルにおけるバイアス
機械ラベルを実際より良く見せてしまう習慣が2つあります。1つ目は、モデルが最も確信を持てなかった項目を確認することです。そうした項目を確認すれば誤りはすぐに見つかりますが、確認した項目はデータセットのサンプルではないため、そこでの誤り率は残りの項目について何も推定しません。2つ目は、モデルの答えが画面に表示された状態で人が付けたラベルで一致度を測ることです。提案は答えをそちらに引き寄せるので、レビュー済みの事前ラベルで測った一致度は、ブラインドで測った一致度より高くなります。この自動化バイアスについてはLLMによるプレアノテーションで詳しく扱っています。
したがって、数値を裏付ける確認には3つの性質が必要です。確認する項目は、既知の包含確率でランダムに抽出すること。ラベルを付ける人はモデルの答えを見られないこと。ルールを選ぶラベルと、それを検定するラベルが別であることです。
選択的予測と選択的リスク
選択的予測とは、モデルが信頼度がしきい値を超える項目にだけラベルを付け、残りについては判断を控えて人に回すことです。制御すべき量は選択的リスク、つまりモデルが残したラベルの中での誤り率です。たとえば、項目の70%を誤り率4%で残すしきい値は、すべてに誤り率12%でラベルを付けるモデルより役に立つことがあります。
しきい値の選択と検定を同じラベルで行うと、その性能を過大評価してしまうので、人手サンプルを分割します。一方の半分(dev分割)でしきい値を選びます。もう半分(cert分割)では、受理したラベルの誤りが目標を上回るという主張について片側二項検定を行います。その主張が棄却されれば、しきい値は記載された信頼度で証明されます。Learn-then-Test(Angelopoulos et al., 2025)は、しきい値の選択を多重検定の問題として扱います。その手続きの1つは、候補のしきい値を固定の順序で検定し、最初に失敗したところで止まります。これにより、保証を失わずに複数のしきい値を試せます。
こうした検定には、たいていの抜き取り確認より大きなサンプルが必要です。目標が「誤りは最大10%、信頼度90%で」であり、これが単一のモデルに対する最初の検定で、クラスごとの分割もないとします。Potatoはこの検定を約0.06の水準で実行します(理由は次の節で説明します)。cert分割に受理したラベルが100件ある場合、検定に通るのは誤りが5件以下のときだけです。目標が5%なら、100件中1件以下、または200件中4件以下でなければなりません。真の誤り率が7%のモデルがこの最初の検定に通る確率は、受理したcertラベルが100件のとき約29%、300件のとき約56%です。
繰り返しの検定と誤りの予算
人は最初の検定の後もラベルを付け続けます。検定に通るまで検定をやり直すと、誤った証明書が出る確率は10%から大きく膨らんでしまいます。対策の1つは、検定ごとに誤りの予算の取り分を減らしていくことです。Potatoはk番目の検定に、許容される誤りのうち6 / (pi^2 k^2)の取り分を与えます。そのため、1回目の検定は61%、2回目は15%を受け取り、取り分はあり得るすべての検定を通じて合計すると予算全体になります。新しいプロンプトや新しいモデルを試すことも新たな検定に数えます。偶然で通る機会がもう1回増えるからです。
prediction-powered inferenceによる出現率
多くの研究では、データセットよりもむしろ割合が必要です。たとえば、有害な投稿の割合や、成功したエージェント実行の割合です。機械ラベルを数えると、モデルの誤りが一方向に偏っている場合は常にバイアスのある割合になります。人手サンプルだけを数えればバイアスのない割合が得られますが、区間は広くなります。
Prediction-powered inference(Angelopoulos et al., 2023)は、この2つを組み合わせます。すべての項目の機械ラベルから割合を計算し、人がラベルを付けたサンプルでのモデルの平均誤差でそれを補正します。この区間はモデルの品質にかかわらず有効です。PPI++は機械ラベルにどれだけの重みを与えるかを調整するので、良いモデルなら人だけの場合より区間が狭くなり、悪いモデルでも区間が広がることはありません。人手サンプルが不均等な確率で抽出された場合は、Horvitz-Thompson型の差分推定量が同じ役割を果たします。
Potatoに付属するエージェントトレースの例では、LLM判定者が、この例のために書かれた参照結果付きの合成エージェントトレース288件を評価し、76%が成功したと判定しました。同じ判定者と人手サンプルから得たprediction-powered区間は0.66 [0.57, 0.76]で、データ中の参照値は0.60でした。判定者は個々のトレースの80%で正しかったにもかかわらず、誤りが「成功」の側に偏っていたため、割合を16ポイント過大に見積もりました。
alternative annotator test
人の意見が分かれる場合、固定の正解率の目標は的外れな問いになりえます。注意深いアノテーター2人が項目の85%で一致するなら、参照自体にもノイズがあるため、どのラベラーについても95%「正しい」とは示せません。alternative annotator test(Calderon et al., 2025)は、代わりに相対的な問いを立てます。1人ずつ順に除外しながら、モデルが残りの人々と一致する頻度が、除外した人のそれと少なくとも同程度であるかを、マージンの範囲内で検定します。この検定には複数の人がラベルを付けた項目が必要で、Potatoの実装では、それぞれ30項目を担当したアノテーターが少なくとも3人そろうまで待ちます。この比較のカッパに基づく版と、判定者の較正を確認する方法についてはLLM判定者と人の一致度で扱っています。
Potatoのラベリングエンジンにおけるコントラクト
バージョン2.11から、Potatoのラベリングエンジンはこれらの検定をコントラクトとして実行します。エンジンはブラインドのランダムサンプルを抽出し、機械の答えをすべて伏せた状態でアノテーターに提示し、サンプルをdevとcertに分割して、ラベルが届くたびに証明を行います。次の設定は、誤りが最大10%であることが信頼度90%で示された部分だけLLMの感情ラベルを残し、各ラベルの出現率を90%区間とともに報告します。
assignment_strategy: engine
labeling_engine:
enabled: true
sources:
- id: llm
kind: llm
endpoint_type: vllm
model: google/gemma-4-12B-it-qat-w4a16-ct
base_url: http://localhost:8001/v1
confidence: {method: logprob}
contracts:
- id: accuracy
kind: selective_risk
schema: sentiment
error: 0.1
confidence: 0.9
- id: prevalence
kind: ppi
schema: sentiment
confidence: 0.9
budgets:
human_labels: 400confidenceの0.9は、すべてのコントラクトに対するPotatoのデフォルトです。このソースがトークンの対数確率から信頼度を読み取るのは、しきい値には正しい答えと誤った答えを分ける信頼度が必要であり、モデルが言葉で述べる信頼度はPotatoが提供する方法の中で最も信頼性が低いためです。Potatoのテキストの例では、Layaを先頭、このLLMを最後の段に置いて481件のレビューを処理します。この実行では、10%のコントラクトは165件の人手ラベルで満たされ、エンジンは316件の機械ラベルを受理しました。Layaのしきい値が一度も確定しなかったため、それらはすべてLLMのものです。参照ラベルに対して測った誤りは7.6%でした。potato label certificate config.yamlは、何を、いくつのラベルで、どのモデルとプロンプトのバージョンで検定したかを出力します。
ブラインドサンプルによる証明の限界
これらの保証はどれも、サンプルにラベルを付けた人々との一致についてのものです。その人々が注意不足だったり十分な訓練を受けていなかったりすれば、満たされたコントラクトは注意不足の人々との一致を証明することになります。証明書を信頼する前に、重複アノテーションと品質管理でアノテーターを確認してください。
まったく変化しない信頼度では、しきい値で分けられるものがありません。エージェントトレースの例の判定者はすべてのトレースに1.0の信頼度を付けたので、どのしきい値も検定に通らず、Potatoはそのコントラクトをすべて受理するのではなくinfeasibleとします。出現率の区間は信頼度に依存しないため、同じデータでも機能しました。
人が意見を分ける理由そのものがデータに含まれるべき主観的なタスクでは、項目ごとに1つの正解が存在しないこともあります。その場合は代わりに、モデルのラベル分布を人の意見の分かれ方と比較してください。Potatoのdistributionalコントラクトは、これを折半法によるノイズの上限と照らして報告します。最初の処理の後にpotato label status config.yamlを実行すると、各コントラクトが検定に通るまでにあといくつ人手ラベルが必要かを確認できます。
参考資料
- ラベリングエンジンのコントラクト:各コントラクトのオプションと失敗のしかた
- LLM判定者と人の一致度とLLMによるプレアノテーション
- エラーバーつきのラベル:人手ラベルそのものの不確実性について
- AI自動ラベリングの比較:6つのアノテーションツールが機械ラベルについて何を報告するか
参考文献
- Angelopoulos, A. N., Bates, S., Candès, E. J., et al. (2025). Learn then test: Calibrating predictive algorithms to achieve risk control. The Annals of Applied Statistics. https://doi.org/10.1214/24-AOAS1998
- Angelopoulos, A. N., Bates, S., Fannjiang, C., et al. (2023). Prediction-powered inference. Science, 382(6671). https://doi.org/10.1126/science.adi6000
- Angelopoulos, A. N., Duchi, J. C., and Zrnic, T. (2023). PPI++: Efficient prediction-powered inference. arXiv. https://arxiv.org/abs/2311.01453
- Calderon, N., Reichart, R., and Dror, R. (2025). The alternative annotator test for LLM-as-a-judge: How to statistically justify replacing human annotators with LLMs. Proceedings of ACL 2025. https://aclanthology.org/2025.acl-long.782/