長い間、IT スペシャリストは世間の心配をすることなく働いていました。ソフトウェアの開発、構築、展開をスムーズに行っていました。その後、孤立の時代が到来し、彼らは突然退屈してしまいました (もちろん、これは実際の出来事を冗談めかして解釈したものです)。IT 担当者は、自宅にいる間に仕事を処理できるもの、つまり、定型的な質問に答え、クールなアバターを生成し、膨大な量のデータを数分で分析できるものを作りたいと考えました。彼らは素晴らしい場所への旅行を夢見ていました。そして、ご想像のとおり、AI に革命を起こしたのです。
AI は現在、機能し、答えを提供し、生活を向上させています。AI は優れたアシスタントですが、適切な状況で使用した場合のみ、真に効果を発揮します。
画像や動画の生成から株式市場の予測や暗号通貨の分析まで、AI の応用は急速に進歩しています。しかし、 AI は私たちが求めていない情報を提供したり、明らかに誤った回答をしたりすることもあります。その行動は、飼い猫の行動とよく似ています。静かに座っているのに突然襲い掛かってくる猫です。
私たちの猫も AI も、予測不可能なことを楽しんでいます。
決定論と確率論が何を意味するのか疑問に思うかもしれません。調べてみましょう。
決定論的システムは、同じ入力が与えられると常に同じ結果を生成します。DevOpsエンジニアであれば、べき等性について考えてみてください。現実世界の例としては、ボウルに入れた餌を毎回同じ量食べる猫が挙げられます。これが決定論です。しかし、猫が匂いを嗅いで半分しか食べないと、もはや決定論的ではありません。
確率過程にはランダム性の要素が含まれます。つまり、同じ入力でも結果が異なる場合があります。たとえば、機械学習モデルでは、データセット全体ではなくランダムなデータチャンクを選択してモデルをトレーニングする確率的勾配降下法 (SGD)などの確率的アルゴリズムがよく使用されます。
これらの定義では、AI が幻覚を起こしたり、無秩序な動作をしたりする理由を完全には説明できません。次のような他の要因も関係しています。
もう少し詳しく見てみると、AI モデルの予測不可能な動作に影響を与える他のメカニズムがわかります。
皆さんが使用している AI がさまざまなニューラル ネットワーク アルゴリズムに依存していることは、おそらくご存知でしょう。ニューラル ネットワークの種類は次のとおりです。
最も一般的なモデルである ChatGPT がなぜ幻覚を起こすことが多いのかを理解するには、これらすべてのコンテキストが必要です。
ChatGPT は、 2017 年の論文「Attention Is All You Need」で初めて導入されたTransformerアーキテクチャで動作します。これは、テキスト処理に革命をもたらしたメカニズムそのものです。Transformer は自己注意メカニズムで動作し、古いリカレント ニューラル ネットワーク (LSTM および GRU) のように最も近い単語だけでなく、グローバル コンテキストを考慮することができます。このモデルは GPT (Generative Pre-Trained Transformer) シリーズに属しており、次のことを意味します。
ChatGPT の回答は、厳格なルールではなく確率過程から生まれます。テキストを記憶したり再現したりするのではなく、確率モデルを使用して応答を生成します。
ChatGPT が応答する際、正しい単語を 1 つ選択するのではなく、確率分布を計算します。
P(wi|w1, w2, ..., wi-1)、ただし:
w1、w2、...、wi-1 — 前の単語
たとえば、「今日は何曜日ですか?」と質問すると、ChatGPT は異なる確率を持つ可能性があります。
ほとんどの場合、最も確率の高い単語が選択されますが、生成温度 (ランダム性を制御するパラメーター) により、コンテキストに基づいて可能性の低いオプションが選択されることもあります。
ChatGPT は限られたコンテキスト ウィンドウで動作します。つまり、最後の NN トークンのみを「記憶」します。GPT-4 の場合、コンテキスト ウィンドウは約 128k トークン (約 300 ページのテキスト) です。重要な情報がこのコンテキスト外にある場合、次のことが起こる可能性があります。
ただし、ChatGPT は、確実かどうかを尋ねられた後に回答を修正することがよくあります。ただし、ChatGPT は、確実かどうかを尋ねられた場合に回答を修正することがよくあります。
ChatGPT に「本当にそうでしょうか?」と尋ねると、疑問が存在する新しいコンテキストを使用して回答が再分析されます。その結果は次のようになります。
このプロセスはベイズ確率によって説明できます。
P(A|B) = P(B|A)P(A) / P(B)、ただし、
P(A|B) — フォローアップの質問 B を考慮した場合に、回答 A が正しい確率。
P(B|A) — ChatGPTが最初に正しかったかどうかを尋ねた確率。
P(A) — ChatGPTの回答の初期確率。
P(B) — 質問する全体的な確率。
情報が多すぎて頭がオーバーヒートしていませんか? AI も大量の情報に圧倒されてしまうことを想像してみてください。
ChatGPT のトレーニングには、次のようなノイズや矛盾した情報を含む大量のテキスト データが流入します。
これらはモデルの幻覚の例であり、ChatGPT の重みが厳密なロジックではなく確率的な単語の関連付けに基づいてトレーニングされるために発生します。
このことから学べることは次のとおりです。ChatGPT は次のような理由で幻覚を起こします。
決定論的ではなく確率論的に予測します。
メモリが限られています (コンテキスト ウィンドウ)。
質問された場合は確率を再計算します。
ノイズや矛盾を含むトレーニング データがあります。
とても簡単です。疲れなかったことを願っています。疲れたとしても、それは良い兆候です。なぜなら、それは批判的に考えていることを意味し、AI を扱うときにまさにそうすべきだからです。