LLM を信頼度スコアリングに使うのは悪い考えだ
Using LLM for confidence scoring is a bad idea (rumple.github.io)
要約
大規模言語モデル(LLM)は、あたかも確信度を数値化できるかのように振る舞いますが、その数値は信頼できません。LLM が生成する確信度は、実際の情報に基づいた計算ではなく、単なるテキストの続きとして生成されるため、過去のデータとの照合や情報量との相関が保証されないからです。信頼できる確信度スコアを得るには、LLM ではなく、外部のルールベースのアプローチと実績データの蓄積が必要です。
全文翻訳
Asking LLM for confidence
LLMベースのエージェントは多くのタスクを実行できます。少なくとも、実行しているように見せかけることができます。例えば、コードを書いたり、論文を要約したり、旅行を計画したり、フォームに記入したりします。確率や確信度スコアを尋ねると、それも提供してくれます。私は多くのエージェント設計者がこのようにLLMを使用して確信度スコアを生成しているのを見てきました。問題は、その数値を信頼する良い理由がないことです。この記事は、なぜLLMが確信度スコアを生成することに頼れないのかについてです。
確信度とは何か
LLMが信頼できる確信度スコアを提供できない理由を理解する前に、確信度が実際に何を意味するのかを理解する必要があります。
例えば、天気予報士が「明日は雨が降る確率70%です」と言う場合を考えてみましょう。
予報士は雨が降ると予測しています。70%はその予測に対する自信の度合いです。明日、雨が降るか降らないかはどちらかですが、今日の自信の度合いは、彼らが何を知っているかに依存します。
彼らの確信度は、彼らが使用する情報から来ています。その一部は明日についてです:気圧、湿度、風、そしてレーダー上の雲。一部は過去からです:長年の気象記録、そしてこのような日々の後にどれくらいの頻度で雨が降ったか。彼らが持つ情報が多いほど、そしてそれが一方に強く示唆するほど、彼らの確信度は100%または0%に近づくことができます。
理論的には、この情報を確信度に変換することは、意見ではなく計算です。この計算は仮説的なルールで表せるとしましょう。過去から得た情報から始め、明日の情報でそれを更新します。もし2人の予報士が全く同じ情報を持っており、両方ともルールを正しく適用した場合、彼らは全く同じ確信度に到達しなければなりません。予報士が意見が異なるのは、彼らが異なる情報を持っているか、あるいはどちらかがルールを悪く適用したからです。
ここで、予報士が2週間後の日について尋ねられたとします。彼らはまだその日に関する情報を持っていません。彼らが持っているのは過去だけです。この時期、約30%の日が雨が降ると仮定しましょう。その場合、彼らが言える最善のことは「明日は雨が降る確率30%です」ということです。日が近づくにつれて、彼らはより多くの情報を得て、確信度は100%に近づいたり、0%に近づいたりすることができます。
確信度スコアの精度をどのように測定するか
確信度の意味がわかったところで、確信度スコアが正確かどうかをどのように判断できるかを見てみましょう。
単一の日では、予報士の70%が正しかったかどうかを示すことはできません。なぜなら、雨が降ったか降らなかったかのどちらかだからです。多くの日についてのみ、彼らの確信度をチェックできます。
予報士が雨が降ると70%の確信を持っていると言ったすべての日を挙げてください。もしそれらの日の約70%で雨が降ったなら、彼らの70%は正確です。もしそれらの日の40%しか雨が降らなかったなら、彼らは過信していました。もしそれらの日の90%で雨が降ったなら、彼らは過小評価していました。各確信度レベルについても同様に行うことができます。この表は、ある年の予報士の記録です。
| 彼らが言ったこと | 日数 | 雨が降った日数 | 割合 |
|---|---|---|---|
| 10% | 120 | 13 | 11% |
| 30% | 90 | 26 | 29% |
| 70% | 80 | 57 | 71% |
| 90% | 75 | 67 | 89% |
すべてのレベルで、雨の割合は彼らが言ったことに近いです。確信度が実際の割合とこのように一致する場合、それは校正済み(calibrated)です。これは、予報士がルールにどれだけ従っているかを知る方法でもあります。
校正だけでは十分ではありません。明日の天気を無視して、常にそのシーズンの平均的な割合である30%と言う予報士も、校正されています。一年を通して、彼らの30%の日に約30%の雨が降るでしょう。しかし、彼らは明日の情報を全く使わないので、彼らの確信度は何も教えてくれません。表の予報士はより良いです。なぜなら、彼らの日のほとんどが10%または90%に近いからです。彼らは情報を使用しており、それでも校正されています。
もう一つの条件があります。それは見落としやすいものです。これを行うには、誰かがすべての予測と実際に起こったことを書き留める必要があります。その記録なしには、確信度スコアが正確かどうかを知る方法はありません。
したがって、信頼できる確信度スコアには2つのものが必要です。
- 予測がどれだけ多くの情報に基づいているかを反映していること。
- 同じ種類の質問に対して、実際の結果と比較してチェックされていること。
LLMはどのように確信度スコアを与えるか
LLMは一度に1つのトークンを生成します。各トークンは、それ以前のトークンに基づいて選択されます。これが「自己回帰型」(autoregressive)の意味するところです。例えば、「あなたはどれくらい確信していますか?」と尋ねると、「0.85」という答えはモデル内部のゲージから読み取られるのではありません。モデルは、他のテキストを書くのと同じように、トークンごとにそれを書きます。「0.85」は、会話のありうる続きです。それは何かの測定ではありません。
前のセクションの用語で言えば、その数値はどちらの特性も持っていません。それはモデルがどれだけの情報を持っていたかを反映していません。なぜなら、それはテキストの続きであり、証拠の要約ではないからです。そして、それは校正されていません。事前学習はモデルを結果に対してスコアリングしますが、結果は次のテキストトークンです。したがって、モデルは「次にどのテキストが来るか?」という質問に対して、ある程度校正されています。モデルは、それが書くスコアがその正確さと一致するように調整されるように学習したわけではありません。
これには、自分で確認できるいくつかの結果があります。
- もう一度尋ねると、数値が変わります。 例えば、同じ質問に対して、ある時は0.85、別の時は0.7になることがあります。情報が変わっていないので、もしモデルがルールを適用していたなら、確信度も変わらないはずです。
- 言葉遣いを変えると、数値が変わります。 例えば、「確信していますか?」と尋ねると、問題に関する何も変わっていないのに、スコアは通常動きます。異なる言葉遣いは新しい情報ではありません。
- 数値の前のテキストが数値を決定します。 例えば、モデルがすでに「これは明らかに正しい答えです」と書いている場合、高いスコアは自然な続きです。スコアは証拠からではなく、言葉から派生します。
モデルは常に数値を提供します。それは正確に見えるでしょう。そして、私の前の投稿の論文の要約と同様に、間違った数値は正しい数値と同じように見えます。数値が信頼できるかどうかは、多くの数値を解答集と比較して採点することによってのみ知ることができます。LLMに確信度スコアを尋ねる人のほとんどは、それをしません。
LLMなしで確信度を測定する方法
LLMに確信度を尋ねることができない場合、どこからそれを取得するのでしょうか?予報士が行うことと同じことができます。情報を確信度に変換するルールを構築し、実際の結果と照らし合わせて常にチェックします。LLMは、回答を書くなどのタスクを引き続き実行できます。しかし、確信度スコアはLLMからではなく、ルールから来ます。
例えば、ヘルプセンターを検索して返信を書くことで顧客サポートの質問に答えるエージェントを考えてみましょう。各返信の確信度スコアが欲しいので、不確かな返信は送信前に人に確認されるようにします。
1. 情報の選択。 各返信について、LLMにその気分を尋ねることなく観察できる事柄をリストアップします。検索でトピックに関する記事が見つかりましたか?いくつ?エージェントが以前に回答したことのある種類の質問ですか?エージェントに同じ質問を2回尋ねた場合、2つの返信は一致しますか?これはエージェント版の気圧、湿度、風です。
2. 過去から始める。 他のデータがない場合、最も良い確信度は通常の割合です。これは、2週間後の天気予報と同じです。もし人が過去200件の返信をチェックし、そのうち150件が正しかった場合、すべての返信は75%から始まります。
3. すべての返信と結果を記録する。 各返信について、ステップ1からの情報、ルールが与えた確信度、そして返信が正しかったかどうかを保存します。返信が正しいとは、レビュー担当者が承認したか、顧客が再度尋ねる必要がなかった場合です。これは、前のセクションで述べた、私たちが必要とする記録です。
4. 記録からルールを更新する。 過去の返信をその情報でグループ化し、各グループがどれくらいの頻度で正しかったかを確認します。一致する記事があり、2つの回答が一致する返信が95%の確率で正しかった場合、ルールは次の同様の返信に対して95%と言うべきです。一致する記事がない返信が40%の確率でしか正しくなかった場合、ルールは40%と言うべきです。最初は、グループは小さく、ルールは粗いです。より多くのデータがあれば、グループは大きくなり、ルールはより多くの情報を使用できます。
5. チェックを続ける。 毎週程度、予報士のために作成したのと同じ表を作成します。各確信度レベルについて、返信はどれくらいの頻度で正しかったですか?もし90%の返信が70%の確率でしか正しくなかった場合、ルールは過信しており、新しい記録がそれを修正する方法を示しています。
このようなルールは、LLMの数値が持っていない特性を持っています。同じ情報が常に同じ確信度を与えます。確信度は情報に依存し、言葉遣いには依存しません。そして、それは私たち自身の質問に対して校正されています。なぜなら、それは私たち自身の記録から構築されたからです。また、使用するにつれて改善されます。なぜなら、すべての返信が記録に追加されるからです。
ただし、ルールは記録と同じくらいしか良くありません。もし返信が正しかったかどうかを誰もチェックしなければ、学ぶべきことは何もありません。そして、私たちは誰も測定していない数値に戻ってしまいます。