カミナシ エンジニアブログ

株式会社カミナシのエンジニアが色々書くブログです

【AWS re:Invent 2025】初のLv.500セッション参加!AWSにおけるLLMの未知の未知を評価する試み

はじめに

カミナシの認証認可チームのmanaty(@manaty226)です。今年もラスベガスにて12月1日から12月5日まで開催されているre:Inventに参加しています。この記事では、2日目に参加した以下のセッションについて記載します。私が初めて参加するLv. 500のセッションです。

  • Known Unknowns: Bayesian Multi-Path Framework for Uncertainty in LLMs (INV506)

LLMにおける未知の未知

普段からコーディングエージェントやサービスへの組み込みで利用されている方はよく知っているとおり、LLMの出力は確率的な振る舞いをして不確実性が伴います。中でも、誤った答えを自信満々に回答してしまったり、ハルシネーションを起こすのは本番アプリケーションにおける運用の難しさにつながります。発表者らは、LLMの回答を以下のように整理しています。

  • known-known:正しい回答を返す
  • unknown-known:知っているはずの内容を忘れてしまう
  • known-unknown:自分がわからないことを回答できる
  • unknown-unknown:知らないことを自信満々に誤って回答してしまう(e.g. ハルシネーション)

発表者は、モデルXにおける回答Yの不確実性について、相互情報量の定義を使って以下のように表現します。

 \displaystyle
H(Y)=I(X,Y)+H(Y|X)

情報理論的に考えると、 I(X,Y)はモデル Xを知ったときにどれくらい Yを知ることができるかという量であり、 H(Y|X)はモデル Xを知ったとしても残存する回答 Yの不確かさの量を表します。つまり、回答の不確かさ H(Y)は、モデルによって引き起こされる不確かさ(Epistemic Uncertainty) I(X,Y)と、データによって引き起こされる不確かさ(Aleatoric Uncertainty) H(Y|X)で構成されているという主張です。

どのように不確実性を計算するか

モデル自身が未知の不確かさという量をどのように計測するのか、これが発表者らの貢献です。大きくは次のような流れで計算します。まずStep1では、ある問いに対する複数のプロンプトを用意して、同じモデルから異なる回答を複数生成します。

つぎにStep2では、各回答に対して、モデル自身がある回答 jに対する回答  iの相対的信頼度を出力します。ただし、全ての回答間の組み合わせについて相対的信頼度を出力するのは計算量が膨大となる(例えば5つの回答における2つの回答の組み合わせは10個となる)ため、最小スパニングツリーを使って最低限の回答間の相対的信頼度を計算します。つぎに、Bradley-Terry Modelをつかって、回答間の相対的信頼度(  i番目の回答の信頼度  C_iより j番目の回答の信頼度  C_j が高い確率)を以下のようにモデル化します。

 
P(C_i > C_j) = \frac{e^{r_i}}{e^{r_i}+e^{r_j}}

このとき、  r_i i番目の回答の強さを表しており、先程最小スパニングツリーで計算した結果を利用して r_iを求めることで、全ての回答の組み合わせの相対的信頼度を効率的に求めることができます。発表者らは計算結果を勝利確率行列とよんでいます。

その後、勝利確率行列を重み付き有向グラフと考えて、ページランクアルゴリズムを使って各回答の信頼度の高さをランク付けおよびスコアリングします。これは各回答の信頼度を要素とした、都合のよく正規化されたベクトルを得るための手段と考えてよいでしょう。他の効率的または効果的なアルゴリズムでもよいはずです。Step1とStep2を何回か試行して各回答の信頼度ランクとスコアを収集していきます。

最後にStep3では、試行ごとに生成される各回答の正規化された信頼度確率をもとに、モデルによって発生する不確かさ(Epistemic Uncertainty)と、当該プロンプト自体がもつ不確かさ(Aleatoric Uncertainty)を計算して、回答の不確かさを一つのスカラー値として出力します。このようにして、LLMの回答の不確かさという量の計測だけでなく、それらがモデル自身によって発生するものかデータによって発生するものか計測できるようになっています。

未知の未知を知るとなにが嬉しいか

さて、上述のように計算される不確かさを知ることで、私たちはどんな事ができるでしょうか。まず発表者らは、不確かさと正確性の相関について評価しています。モデルの不確かさが大きいほど、正確性は下がります。これは直感的にも当たり前で、モデルが知らないことは答えられないということです。一方で、データの不確かさが上がるほど正確性も上がっています。これは発表者らの当初予想も裏切る結果だったようですが、「複数の正解に至る道筋があり得る(正解の回答が複数ありうる)場合、今回のアルゴリズムでは同程度の信頼度の回答が複数発生するため、エントロピーは大きくなる(つまり不確実性が高くなる)がいずれも正解であり正確性もまた高くなる」という解釈をしていました。この結果について質疑応答の時間で重要な示唆を与える質問が聴講者から出ていたのですが、私は聞き取れませんでした…

また、LLMの適応的なツール呼び出しにも利用できると発表者らは言います。つまり、モデル不確実性は低いがデータ不確実性が高い場合、ツールを使って補足情報を得ることによって回答の不確実性を下げられる可能性を期待できます。逆に、モデル不確実性が高く改善の余地が小さい場合はツールを呼び出すことを避けられます。毎回やみくもにツールを呼び出す場合に比べて、回答の不確かさを測定した結果に基づく適応的なツール呼び出しが正確性とコストのトレードオフをどのように改善するか実験しています。

DeepSeek-R1、DeepSeek-V3、GPT-OSS 20B、Qwen 3 32BといったOSSのモデルをAmazon Nova Premierと比較したところ、Amazon Nova PremierはQwen 3に比べておよそ1.4倍コストと回答正確性のトレードオフを改善できているとのことでした(DeepSeekはめちゃくちゃ強いと言っていました)。

おわりに

Lv.500のセッションは発表者がSolution ArchitectでなくSenior Applied Scientistという肩書だったり、スライドの構成や話し方が学会発表のようで、かつ発表内容はまだ論文になっていないとのことでしたので、研究室のインターナルなゼミに参加しているようなワクワク感を思い出しました。発表終了後にいくつか質問して、「複数生成した各回答の正確性や信頼度を事前確率として利用し、それをもとにエントロピーを計算をしたらよさそうなのでは」と話したら面白く受け止めてもらったようで、いいアイデアなので是非考えたいと話していました。実際に発表者とその場で議論できるのもre:Inventのいいところですね。

カミナシでは60枚のデッキにおいて3枚採用のカードと4枚採用のカードがそれぞれ、最初の番の手札8枚にくる確率を覚えているソフトウェアエンジニアも募集しています。興味がある方はカジュアル面談から応募して下さい。