はじめに
「LLMは確率的だから信用できない」という言葉がなんとなーく引っかかるのでまとめてみた。
「LLMって確率でしょ?さいころ投げてるようなもん」
「LLMって確率論で動いてるし、決定論的じゃないから実務じゃ使えないよね」
みたいな言論がまぁありますね。
LLM内部では多層的に「確率」が絡んでいます。
だからこそ、「確率だから信用できない」という批判は雑すぎるよね、と思っています。
ただし、この批判が完全に的外れかというとそうでもないとも思ってます。
実際には、
- 同じ入力でも出力が変わる(再現性の問題)
- なぜその答えになったか分かりにくい(説明可能性の問題)
- 事実として正しいか保証されない(信頼性の問題)
といった、実務上の懸念が背景にあることが多いです。
なので重要なのは、「確率かどうか」ではなく、 どの性質が問題になっているのかを切り分けること だと考えています。
なので、この記事では、そもそもその「確率」が何を指しているのかっていうところですね。
そこを整理して理解すれば、LLMとのより良い付き合い方が見えてくるのではないか、という話をしていきます。
ここからは、概念的な部分を整理していきます。
具体の話は以下の記事が詳しいので、ぜひそちらを参照してください。
LLMとは何なのか
表面的な見え方
ユーザーから見たLLMは、以下のような多面的な顔を持っていると考えています。
- 万能感: 言語を解し、数学的推論もこなし、どんな無茶振りにも文句を言わず応える「賢い相棒」
- 危うさ: たまに間違える。もっともらしい嘘(ハルシネーション)をついたり、ユーザーに媚びるような「おべっか」を使ったりする
- 不確実性: 同じ問いに対しても、時と場合によって挙動が変わる「確率的な存在」
ここで、そもそも「確率的な挙動」の中身とは何なのかを深掘りしてみたいですね。
中身を掘り下げる:AIにおける「確率」とは何か
LLMの推論を構成する「確率」には、いくつかの層があると思っています。
-
次単語予測(統計的妥当性): 膨大な学習データから「文脈的に次にくるのはこれ」という単語を、多次元ベクトル空間上の距離(重み)から算出する
- 例:「おはよう」という入力に対し、「朝の挨拶」という概念が近いベクトルにあるため、統計的に「朝」に紐づく言葉の重みが高くなります
-
サンプリング(意図的な揺らぎ):
あえて100%の正解(最大確率)だけを選ばず、少し確率の低い言葉も混ぜることで、回答に多様性を持たせるものです -
データ内の出現頻度(バイアス):
学習データの中にどの程度そのパターンが含まれていたかによる、データの偏りがあります -
ハードウェア・計算上の誤差:
プロセッサの実装による浮動小数点数の微細な数値誤差もあります
「確率」とうまく付き合う方法
LLM内部ではこれほど多層的に確率が絡んでいます。だからこそ、単に「確率だから」という一言で片付けてしまうと、本質がどこにあるか迷子になりそうだなと思ってるところではあります。
「確率だから信用できない」という批判に対し、俺個人的な意見だけど 「それは、どのレイヤーの確率を指しているのか?」 と問いたいなと思ってます。
その区分けがないと、感情は電気信号だから人間の感情は無意味って言っているのと、ほぼ同義だと思います。
例えば、「次単語予測」における確率を否定することは、いわば「人類の営みの集積(歪みも含む)」を否定することに近いのではないかとも思うわけです。
例えばですが
「あなたはどこか居た堪れない雰囲気の場所にいます。その場の空気について、他者と一字一句変わらない絶対的な正解(文言)はありますか?もしあれば、一言で表してください」
という問いに対し、大体の人は「そんなものはない」と答えることでしょう(老若男女全員が一字一句全く同じ回答をするということ自体が現実問題として不可能であるためです)
このとき、我々は経験則(=自分の中の統計データ)から「大体こう返すべきだ」と判断しています。
LLMが文脈を判断するキーとして確率を使っているのは、この 「人間の経験則」を数学的に再現している状態だと言えます。
「絶対の正解がない文脈理解」において、確率(妥当性のスコア)を用いるのはむしろ合理的だと思います。
なので、どこの確率の話をしているのかを明示しないことには、LLMに対する正しい批判や肯定というのは、正直難しいのではないだろうかなーと思ってるんですよね。
統計学ってあるじゃないですか、あれも「大多数には当てはまるもの」という感じですよね。統計的な正しさは全国各地からランダムに選定された1000人以上みたいなのがあった気がします。
でもエッジケースには当てはまらないから調整が必要だと思うんです。(なぜなら、平均値・中央値だし、そもそも全人類を対象としているわけではないから)
例えばですよ、「LLMは統計学の塊だから一般的なものばかり返す」という批判ならまだしも「確率だから」という一言で切り捨てちゃうのは「統計学」というLLMを支えている一つの学問に対しても矛を向けているように思えちゃうんですよね。
(ただし、統計学には不確実性を可視化する方法もあるので、LLMの実装とイコールではない所も注意すべきポイントかと思います)
それってどうなんかなぁって思うところはあります。
偏見的な奴は?
LLMは学習の過程で
- データの偏り(文化・言語・時代)
- フィルタリングや学習プロセスの影響
- モデル構造による歪み
これらの影響を受けるので、純粋な人類の総意ではないです。
ただ一方で、多少なりとも人間自身も学習データに偏りがあるので、その経験則にも「偏見」が入っていると思います。
とはいえですよ、完全に中立公正な意見を言える私人というのはどこにいるかなぁというのも疑問です。
誤差が積み重なって大きくなる?
小さい誤差が積み重なって、大きな誤差になる可能性もあって、我々がLLMの出力で苦しむ大半はおそらくこれだと思います。
例えば
「今日の朝」に続く言葉を考えて
というプロンプトを伝えたとしても、次に来るトークンの確率が常に100%でない限りはほかのトークンが選ばれる可能性があって
コーヒーだったりパンだったりになることもまぁ有って、そういう誤差の積み上げが大きい誤差の結果を生むみたいなのもありそうですよね。
でもそれを補正するトークンの生成方法としてRAGだったり、サブエージェントに分けたりする技法があるわけですね。
まとめ
LLMを単なる「サイコロを振る機械」と見るか、「膨大な人類の知恵から妥当な解を導く推論機」と見るか、はたまた「サイコロではないが、決定論的な推論機でもないまた別の推論器」と見るかだと思ってます。
その境界線は、情報の受け手側が「確率」という言葉の裏にある「文脈理解の仕組み」をどこまで解像度高く捉えているかにかかっているのかなー、と思うわけです。
LLMの出力は 正解ではなく、妥当性の高い仮説であって、事実の精査は受け手の人間がやらなければならないだけの話である。だと思います。
「メディアリテラシー」の拡張みたいな感じですね。
というか、人間同士の会話だってそうじゃないですか、絶対の正解を話してる人間ってどれほどいますか?って。
この記事だってそれっぽい話をしてるけど、唯一解ではないですからね。
はい、そんじゃこんなところで。