AIは記憶も学習もしない
特に非エンジニアへの説明に苦労するので、まとめておきます。
よくある誤解
- AIは会話を記憶しているから、会話が成り立っている。
- AIはリアルタイムで学習しているから、読ませた資料に対する質問に答えられる。
実際には、AIは記憶もしませんし、(少なくともリアルタイムでは)学習もしていません。
記憶しない
では記憶しないのなら、なぜ会話が成り立つのでしょうか。
You: 今日は暑い
AI: はい、そうですね
You: 長袖しか持ってない
AI: それはツライですね、熱中症に気をつけてください
一見すると、AIはユーザーの発言を記憶しながら自然にやり取りしているように見えます。
しかし実際には、AIは記憶をしていません。
そもそもChatGPTのようなフロンティアモデルを動かすコストは膨大で、セッションごとにインスタンスを立ち上げるようなことは現実的ではありません。
実際には、一つのAIインスタンスに多くの人間が接続して利用する仕組みになっています。
多くの人に共有されているAIは、誰かの書き込みによって状態が変化してはいけません。
その制約の中で会話を成り立たせるには、ステートレスでありながら状態があるかのように振る舞わせる必要があります。
そう、ステートレスなのです。
それも、メッセージレベルで。
ですので、実際に起きているのは次のようなことです。
You: 今日は暑いね
AI: はい、そうですね
You: (You: 今日は暑いね AI: はい、そうですね)長袖しか持ってない
AI: それはツライですね、熱中症に気をつけてください
というように、送信メッセージには今までのやり取りすべてが含まれています。
使い勝手のために過去の会話は自動で付与され、ユーザーには見えませんが、確かに存在しています。
(もっともそこまで単純ではなく、キャッシュなどを使ってコストを下げる工夫を各社行っています)
学習していない
特に非エンジニアによくある誤解として、AIに話すと学習されてしまう、というものがあります。
しかし、上記の仕組みで記憶しているかのように見せかけている通り、そもそもAIは会話を覚えていません。
覚えてすらいないので、学習などできるはずもないのです。
You: 私はラーメンが好き
AI: はい、あなたはラーメンが好きなのですね
You: (You: 私はラーメンが好き AI: はい、あなたはラーメンが好きなのですね)私が好きなものは?
AI: あなたはラーメンが好きです
AIは覚えているからラーメンと答えたわけではなく、いま送信されたメッセージに書かれている内容をもとに、返信を生成しただけです。
「私はラーメンが好き」がPDFファイルに変わっても、本質的なところは変わりません。
AIはPDFファイルを読みはしますが、覚えはしません。
You: プレゼン資料.pdf これを見て
AI: [内容を見る]内容を確認しました
You: (You: プレゼン資料.pdf これを見て AI: [内容を見る]内容を確認しました) どう?
AI: 素晴らしい資料です
[内容を見る]の部分には、PDFの中身がそのまま入っていると考えて差し支えありません。
(実際には効率よく必要な情報だけを抜き出すなど、いくつか工夫がされています)
長期記憶はどうか
少し工夫はされていますが、基本的にはまったく同じです。
# 会話1
You: 私はラーメンが好き
AI: 覚えました
# システム
「ユーザーはラーメンが好き」という情報をデータベースなどに保存する
# 会話2
You: (ユーザーはラーメンが好き)私が好きなものは?
AI: ラーメンです。
やはりメッセージの中に、必要な情報はすべて含まれています。
効率が悪いのでは
先述の通り、セッションごとにAIインスタンスを立てることが現実的でない以上、ステートレスな方式を取らざるを得ません。
やりとりのたびに送信内容は増え、AIが読む量も増えていきます。
増える量に従って、AIの回答精度は落ちていき、やがて使い物にならなくなります。
これを回避するために必要なのが、コンテキストの圧縮です。
今までの会話をAIで要約することで、メッセージの総文字数を減らします。
要約してもまだ内容が大きければ引き続きコンテキストは圧迫されますし、圧縮によって失われた情報の分だけ、その後の会話の精度は落ちます。
では、まったく学習されないのか
リアルタイムには学習されていません。
ただし、後から学習される可能性は十分にあります。
たいていの場合、オプトアウト式になっているオプションをオフにしなければ、入力した情報はログとしてサーバーに残り、次回のトレーニング時に使用される可能性があるでしょう。
結局振る舞いとしては記憶してるし、学習してるじゃん
確かに外から見た振る舞いとしては、記憶しているし、学習しているように見えます。
しかし、具体的な振る舞いを知っておくことは、よりAIを使いこなすことに繋がるはずです。
この仕組みを知っていることで、新しいセッションを始めるべきタイミングや、AIに「さっき言ったことを忘れて」ということがどういうことを意味するのかがわかるはずです。
Discussion