Skip to Content
Docs04. 評価信頼度と較正(calibration)

この記事の音声は準備中です。

音声の一覧・再生リストへ

信頼度と較正(calibration)

この記事の目的

「モデルがどれくらい確信しているか(信頼度)」を取り出し・検証し、確信が低いときに縮退する(「わからない」と言わせる・人へ回す)設計ができるようになります。すべての質問に等しく答えさせるのではなく、自信のなさを行動に変えることで、失敗の高いケースを人に委ねられる状態がゴールです。

対象読者

  • 誤答のコストが高い Agent(金融・医療・法務・サポート)で、確信の低い回答を止めたいエンジニア
  • 「モデルは間違っていても自信満々」という問題に、測定と縮退で対処したいエンジニア

前提知識

本文

概要: 分担と「確信を行動に変える」

対象正本本記事
何を測るか(評価対象・採点)Agent 評価の基礎—
過信・幻覚の由来(なぜ「知らない」と言えないか)LLM の学習パイプライン—
低信頼時に人へ回す運用Human-in-the-Loop 設計—
信頼度の取り出し・較正・選択的予測本記事取り出し方・較正の測定・棄権・閾値・再較正

LLM は間違っていても自信満々な傾向があります。その由来(学習の目的が「正直に不確実性を申告する」ことではない)は LLM の学習パイプライン が扱います。本記事は、それを前提に「確信度をどう取り出し、どう検証し、低いときにどう縮退するか」を扱います。

信頼度の取り出し方

「モデルの確信度」を得る手段は複数あり、それぞれ信頼性が違います。

取り出し方仕組み注意点
自己申告「確信度を 0〜100 で答えて」と聞く最も手軽だが、過信しやすく較正が悪いことが多い。数値そのものを信じない
対数確率(logprob)出力トークンの確率を使う使えるモデル・用途が限られる。長い生成では解釈が難しい
複数回実行の一致度同じ入力を複数回実行し、答えのばらつきを見る答えが割れる = 不確実、というシグナル。汎用的で実装しやすい

実務では複数回実行の一致度が扱いやすいシグナルです(Agent 評価の基礎の複数回実行を、精度だけでなく確信度の推定にも使います)。ただしどの手段も「そのまま正しい確率」ではないため、較正して初めて意味を持ちます(後述)。

較正の測定: 確信 80% は本当に 8 割正しいか

較正(calibration)とは、モデルの言う確信度と、実際の正解率が一致している性質です。「確信度 80% と言ったケースが、実際に 8 割正解している」なら較正が良く、「80% と言うのに実際は 5 割しか当たらない」なら過信しています。

  • 測り方: 確信度でケースをビン分け(50%台・60%台…)し、各ビンの実際の正解率を出します。理想は「確信度 = 正解率」の対角線に乗ることです
  • 過信が普通: LLM の自己申告は過信に寄りがちです。加えて、迎合(ユーザーに同調する)傾向が確信度をさらに歪めます(LLM の学習パイプライン)
  • 絶対値でなく順序でも使える: 完全な較正が難しくても、「確信度が高いケースのほうが低いケースより正解率が高い」という順序が保たれていれば、閾値による縮退には使えます

選択的予測: 低信頼なら棄権する

較正した信頼度の使いどころが**選択的予測(selective prediction)**です。確信度が閾値を下回ったら、答えずに棄権する(「わからない」と言う)か、人へエスカレーションする設計です。

  • 「わからない」と言わせる: 確信が低いときに無理に答えさせず、不明と答える経路を用意します。誤答のコストが高いほど、この経路の価値が上がります
  • 人へ回す: 棄権を Human-in-the-Loop 設計 のエスカレーションにつなぎます。信頼度は「いつ人に渡すか」の入力信号になります(例外エスカレーションの発火条件)
  • カバレッジと精度のトレードオフ: 棄権を増やすほど、答えたケースの精度は上がりますが、答える割合(カバレッジ)は下がります。「9 割のケースに答えて精度 85%」と「7 割に答えて精度 97%、残りは人へ」のどちらが良いかは、タスクの失敗コストで決めます

閾値の設計: 失敗コストとの関係

棄権の閾値は、誤答のコストと棄権のコストのバランスで決めます。

  • 誤答が高くつくタスク(医療・金融・不可逆操作)では、閾値を高くし、少しでも怪しければ人へ回します
  • 誤答が安いタスク(下書き生成・候補提示)では、閾値を低くし、多少怪しくても答えさせます
  • 閾値は評価セットで決めます。閾値を変えながら「棄権率」と「答えたケースの精度」を測り、失敗コストに見合う点を選びます
  • 「常に答える(閾値なし)」は、誤答コストが高いタスクでは危険な既定です

運用での再較正

較正はモデル更新でずれます。モデルを新しくすると、確信度と正解率の対応が変わり、以前の閾値が合わなくなります。

  • モデル更新(バージョニングとモデル更新追従)のたびに、較正を測り直し、閾値を再調整します
  • プロンプトの大きな変更でも較正はずれます。確信度に依存する縮退を入れているなら、較正の再測定を回帰評価に含めます
  • 「一度較正したら固定」ではなく、定期的に較正を監視します。較正が崩れると、棄権が効かなくなり、過信した誤答が素通りします

実務での注意点

アンチパターン

  • 自己申告の確信度をそのまま信じる → 過信・迎合で数値が歪み、危険な誤答を「高信頼」として通す → 較正を測り、順序が保たれる範囲で使う
  • 較正を測らずに閾値を決める → 「確信 80%」の実際の正解率を知らずに縮退を設計し、効かない → ビン分けで確信度と正解率の対応を測ってから閾値を決める
  • すべてに等しく答えさせる(棄権経路がない) → 誤答コストの高いケースでも自信満々に間違える → 選択的予測で低信頼を棄権・エスカレーションに回す
  • 閾値をタスクの失敗コストと無関係に決める → 高リスクタスクで怪しい回答が通る/低リスクで棄権しすぎる → 誤答コストと棄権コストのバランスで閾値を設計する
  • モデル更新後に再較正しない → 較正がずれて閾値が合わなくなり、縮退が機能しない → 更新時に較正を測り直し閾値を再調整する

チェックリスト

関連トピック

参考資料

TODO・未確認事項

なし