AI・機械学習
LLMに信頼度スコアを尋ねないでください
Don't ask an LLM for a confidence score (justinflick.com)
要約
この記事は、大規模言語モデル(LLM)に自身の回答に対する信頼度スコアを生成させることは、現状ではほとんど無用であると主張しています。LLMは内部状態をある程度持つものの、その信頼度を定量化する能力は信頼性が低く、文脈依存性が高いと指摘されています。また、回答の正確性、一貫性、要求の充足といった異なる側面を単一のスコアに集約することの曖昧さや、従来の機械学習における信頼度評価手法との根本的な違いについても解説しています。真に信頼できるスコアを得るには、外部からの評価や明確なヒューリスティック定義といった、より高度な作業が必要だと論じています。
全文翻訳
LLMに信頼度スコアを尋ねないでください
読者の皆様へ
もしこの記事が誰かから送られてきたのであれば、あなたはLLMから信頼度スコアを引き出そうとしたことがあるかもしれません。私は複数の会社で複数の人々とこの会話をしてきましたが、それは私が6ヶ月ごとにスレッドで何度も議論し直すほど頻繁に起こるので、より広範な誤解があるようです。ですから、この投稿を送ることで、何度も同じ議論を繰り返す代わりに済むことを願っています。短いバージョン:LLMに、自身の応答に対する信頼度をどれだけ確信しているかのスコアを生成させることは、私が知る限り、完全に無用です。この点について間違っていることを願っていると、前もって申し上げたいです。この分野では私よりもはるかに賢い人々が働いています(そして私はその多くと一緒に働いています!)。もし以下の議論のいずれかに反論できる、あるいは私がまだ読んでいない研究を指摘できるなら、私は本当にその会話を楽しみたいと思います。しかし、それがなければ、これらは私の現在の考えです。
私が常に目にすること
このパターンはどこにでも現れます。チャットベースの出力、構造化された出力、エージェントタスクの結果です。誰かがモデルに、応答キーと信頼度キーを持つJSONオブジェクトを返すように求めています。そして、ほとんどの場合、その信頼度キーは0から100までの連続的なスコアです。この連続的なスケールが私の神経を逆なでするのですが、その理由については後で説明します。しかし、より広範な問題は、それらのいずれにも科学的な妥当性が欠けているということです。あなたが構築したのは心理的な安全トリックです。それは、出力をより信頼できるようにするのではなく、より信頼できるように見せかけており、この体験を出荷している人々は、自分たちが何を出荷したのかについて、ほとんど自分自身に嘘をついていると私は主張します。
LLMは自身の信頼度を確実に定量化できない
Anthropicなどが、モデルが生成中に何らかの潜在的な内部状態を維持していると主張する研究を発表していることは認識しています。Anthropicの解釈可能性に関する研究では、言語モデルの思考を追跡した結果、Claudeは韻を踏む対句を書く際に数語先まで計画していることが発見されました。これは、ナイーブな次トークン予測から予測される行動ではありません。そして、彼らのより最近の創発的な内省的認識に関する研究では、モデルがアクティベーションに注入された概念に気づき、それを正確に報告できる場合があることが発見されました。それは本物であり、興味深いものです。しかし、研究者自身が付けた注意書きを読んでください:その能力は非常に信頼性が低く、文脈に大きく依存します。私たちは現在、モデルが自身の正しさを評価する実用的な能力を持っていると断言できるほど、その内部状態を十分に理解していません。実験条件下でアクティベーションに何かが注入されたことに気づくことは、顧客の返金ポリシーに関する段落が正しい可能性を定量化することとは非常にかけ離れています。
もし、何が裏で行われているかを考えると、言語の側面間の象徴的な関係という意味で、ある種の準認知が行われています。推論モデルでは、そのプロセスの一部が観察されています。しかし、ここで私にとってすべてが崩壊するのは、それがすぐに「誰が監視者を見るのか」という問題に逆行するからです。応答の自己修正を評価するために思考トレースにアクセスしたいとしましょう。結構です。そのアプローチは実際のパフォーマンス上の利点をもたらしており、私はそれらを否定しません。しかし、信頼度を実際に定量化することについて話している場合、思考ステップは私たちを救うことはできません。なぜなら、明白な次の質問は、「思考ステップによって生成された信頼度スコアの信頼度は?」となるからです。そして、その信頼度は?それは、どこまでも信頼度です。モデルが自身の誤りをいくつか捉えるのに、反射的な推論パターンが役立つと思いますか?はい。モデルがその状態を十分に理解してそれを定量化できると、現時点で思いますか?いいえ。この点に関して、内在的な自己修正に関する研究があまり励ましくないことも注目に値します。DeepMindの論文「Large Language Models Cannot Self-Correct Reasoning Yet」は、モデルが外部フィードバックなしに、自身の固有の能力のみを使用して最初の応答を修正しようとすると、パフォーマンスが低下することが多いと発見しました。
何に対して自信があるのか?
誰かが信頼度スコアを要求するたびに、私がすぐに尋ねる質問はこれです:あなたの信頼度のヒューリスティックは何ですか?なぜなら、「信頼度」は非常に早く曖昧になるからです。少し曖昧なのではなく、非常に曖昧なのです。モデルは応答の正しさに自信がありますか?応答の一貫性に自信がありますか?ユーザーのリクエストの目標を満たそうとしたことに自信がありますか?これらはすべて完全に異なる質問であり、それぞれ異なる失敗モードを持ち、0から100までの単一の浮動小数点数はそれらすべてを同じ数値に平坦化します。概念を制限するヒューリスティックがない限り、これらのスコアは事実上無用です。
信頼度は応答全体で均一ではない
これを単一の数値として扱うもう一つの問題があり、それは内部状態に戻ります。従来の機械学習では、これに対する実際のメカニズムがあります。分類器は、少なくとも信頼度の正当な代理として機能するスコアを出力できますし、回帰設定では推定値の周りに予測区間を置くことができます。この比較には注意したいのですが、古典的なモデルも信頼できる数値を無料で提供してくれるわけではありません。Guoらによる「On Calibration of Modern Neural Networks」の研究では、最新のニューラルネットワークは体系的に過度に自信があり、生のソフトマックス出力には事後修正が必要であることが示されています。違いは、その修正を行うための合意された方法論があることです。Plattスケーリング、アイソトニック回帰、温度スケーリングはすべて、保持された正解データに対して適合され、信頼度ダイアグラムとBrierスコアでチェックされます。数値が信頼を得るのは、現実に対して測定されることによってであり、その測定がまだ有効であるかどうかを確認する方法があります。その仕組みは、まさに誰かがJSONスキーマに信頼度キーを追加したときに欠けているものです。
LLMがネイティブに持つ最も近い類似物は、各次トークンの予測確率です。補足として、「LLMは単に次トークンを損失的に予測する」という考えは、これらのシステムがどこにあるかについての真の単純化になりすぎていると思います。特に推論、適応的思考、事後トレーニング、応答上で実行される分類器を考慮すると。しかし、それを脇に置いて、最も単純なバージョンを取りましょう。それでも問題は、トークンは均一ではないということです。もし私が応答の最初の100語を生成しているなら、すべてのトークンに独自の確率値があります。それらのいくつかは、ほぼ確実な確率を持つ構造的な接着剤です。それらのいくつかは、段落全体の事実上の主張を支えるものです。その分布をモデルが口頭で表現する単一の数値に圧縮することは、測定ではありません。それは雰囲気です。
これは私の直感だけではありません。トークンレベルの確率が「私はこれを5つの異なる方法で表現できた」と「私は実際にはこれを知らない」を混同する理由です。そして、その方法が何を必要とするかに注意してください:複数のサンプルと外部比較ステップ。それはモデルに対して外部から行われる測定であり、モデルが自身について報告する数値ではありません。
私は探し回りましたが、見つけられたすべての研究から、これらの自己報告スコアが、人々がJSONスキーマに入れるときに想定しているような妥当性を示すシナリオを見つけることができませんでした。
もし本当にそれが欲しいなら、ここにその仕事があります
私は、LLMから信頼度の信頼できる兆候を得ることが不可能であると主張しているわけではありません。私が会った誰も、必要な作業を行うほどそれを強く望んでいないと主張しています。その作業は次のようになります。モデルが自己分類するための実際のヒューリスティックを定義する、強力なプロンプトキャリブレーションプロセスが必要になります。できれば、複数の