ページ作成日時:2026-06-25 11:52 JST
最終更新日時:2026-06-25 14:43 JST
はじめに
平易版では、生成AIの記憶を「保存された過去」ではなく、「現在に再投入される条件」として説明した。では、技術的には何が起きているのか。
ChatGPTのような大規模言語モデルは、知識をカードのように一枚ずつ保存しているわけではない。「フランスの首都はパリ」という知識カードが、モデルのどこかにそのまま入っているわけではない。「このユーザーはこういう文体が好きだ」という個別メモが、モデル本体の中に直接書き込まれているわけでもない。
そこにあるのは、学習によって形成された膨大な数値の構造である。この数値の構造が、言葉の出やすさ、つながりやすさ、文脈への反応の仕方を決めている。平易版で「AIの中にしみこんだ言葉の傾き」と呼んだものは、技術的には、パラメータ(parameters)やモデルの重み(model weights)と呼ばれる。
この回では、LLMの「記憶」を、保存ではなく、反応可能性の地形として見直す。
1. LLMとは何か
まず、LLMという言葉から確認する。LLM(Large Language Model)とは、日本語では大規模言語モデルと呼ばれる。大量のテキストを学習し、与えられた文脈に続く言葉を生成するモデルである。
ここで重要なのは、LLMが「文章を検索して返している」わけではない、という点である。もちろん、ChatGPTのような製品は、必要に応じてWeb検索やファイル検索、外部ツールを使うことがある。しかし、LLMそのものの基本的な働きは、外部の文章をそのまま取り出すことではない。
LLMは、入力された文脈をもとに、次にどのようなトークンが続きやすいかを計算し、その結果として文章を生成する。ここでいうトークン(tokens)とは、モデルが処理するテキストの単位である。人間にとっては一つの単語に見えるものでも、モデル内部では複数のトークンに分かれることがある。逆に、短い語や記号、空白、句読点もトークンとして扱われることがある。
人間は文章を「意味のまとまり」として読む。モデルは文章を、まずトークンの列として受け取る。この違いを押さえると、LLMの記憶が、人間の記憶とはかなり違うことが見えてくる。
2. LLMは「次のトークン」を予測する
LLMの基本的な訓練は、単純化して言えば、次に来るトークンを予測することにある。たとえば、「フランスの首都は」という文脈があれば、この後には「パリ」が続きやすい。
もちろん実際のモデルは、単純に一語だけを丸暗記しているわけではない。膨大なテキストの中で、どのような文脈のあとにどのような言葉が来やすいかを学習している。「フランス」「首都」「パリ」「都市」「国」「ヨーロッパ」「政治」「観光」といった言葉の関係が、単語帳のように一対一で保存されているのではない。多数の文脈の中で、出現の仕方、近さ、使われ方、説明のされ方が、数値の構造として学習されている。
だから、LLMの応答は、固定された文章の再生ではない。その場で与えられた文脈に対して、もっともありそうな続きを生成している。ただし、「ありそうな続き」と言うと、単なるオートコンプリートのように聞こえるかもしれない。しかし、大規模化された言語モデルでは、この「ありそうな続き」の中に、文法、事実らしさ、説明の型、推論のパターン、文体、ジャンル、比喩、議論構造が含まれる。
つまり、次のトークンを予測するという仕組みは単純に見えるが、その中で獲得される反応の構造は非常に複雑である。
3. パラメータとは何か
LLMの中核には、膨大なパラメータ(parameters)がある。パラメータとは、モデルが学習を通じて調整してきた数値の集合である。この数値が、入力されたトークンに対して、どのような出力が生まれやすいかを決める。
ここで注意したいのは、パラメータを「変数」と訳さない方がよいという点である。数学やプログラミングでは、変数という言葉は別の意味で使われる。英語の variable と parameters は区別される。そのため、このシリーズでは parameters を「パラメータ」と呼ぶ。
パラメータは、モデルが訓練される前から完成しているわけではない。最初は、ほとんど意味のない数値から始まる。大量のテキストを使って訓練される中で、モデルは予測の誤りを少しずつ減らすように、内部の数値を調整していく。この調整された数値の集合が、モデルの能力の土台になる。
人間が何かを覚えるときには、「経験が自分の中に残る」という感覚がある。LLMの場合、その残り方は、具体的な思い出ではなく、数値の調整である。言い換えれば、LLMの記憶は、出来事の保存ではなく、反応の仕方の変化として残る。
4. モデルの重みとは何か
パラメータの中でも、よく使われる言葉が重み(weights)である。重みとは、入力された情報が次の層や計算にどのくらい影響するかを決める数値だと考えればよい。
「重み」という言葉は、日本語としても少し比喩的に読める。ある情報を重く見る。ある関係を軽く見る。ある方向へ強く引っ張る。あるつながりを弱くする。ニューラルネットワークの重みは、もちろん人間の判断のように意識的に「重く見る」わけではない。しかし、計算上は、どの入力がどの出力へどの程度影響するかを決める役割を持つ。
平易版で使った「坂道」という比喩は、ここに対応している。モデルの中には、知識のカードがしまわれているのではない。むしろ、入力された言葉が、ある方向へ転がりやすくなるような地形ができている。
「フランスの首都は」と入力されると、「パリ」へ向かう傾きが強い。「昔々あるところに」と入力されると、物語の語り口へ向かいやすい。「以下をビジネスメールに直して」と入力されると、敬語や定型表現へ向かいやすい。この傾きは、一つの重みだけで決まるわけではない。膨大な重みの組み合わせによって決まる。
だから、モデルの重みは、単独の知識ではなく、反応可能性の地形である。
5. 知識カードではなく、分散した表現である
LLMの記憶を考える上で重要なのが、分散表現(distributed representation)である。分散表現とは、ある意味や特徴が、モデル内部の一か所にだけ保存されているのではなく、多数の数値の関係として広がって表現されている、という考え方である。
たとえば、「犬」という概念を考える。人間なら、「犬」という単語を聞いたとき、姿、鳴き声、飼い犬の記憶、匂い、散歩、犬種、感情などが一緒に浮かぶかもしれない。LLMの場合、「犬」という意味が、モデルのどこか一つの箱に入っているわけではない。「犬」がどのような文脈で使われるか、どの言葉と近いか、どの説明と結びつきやすいか、どの比喩に使われるかといった関係が、広く分散した数値構造として表現されている。
似た考え方は、埋め込み(embeddings)という技術にも現れる。埋め込みとは、テキストなどを数値ベクトルとして表す方法である。ベクトルとは、ざっくり言えば、たくさんの数値を並べたものだ。似た意味を持つテキストは、ベクトル空間の中で近い位置に置かれやすい。
ただし、ここで注意が必要である。埋め込みは、LLM本体の内部表現そのものと完全に同じものではない。検索や分類、類似度計算のために使われる埋め込みモデルもあれば、LLM内部でトークンを処理するための表現もある。しかし、いずれにせよ重要なのは、意味が一つのラベルとして保存されるのではなく、数値の関係として表されるという点である。
LLMの記憶は、単語帳ではない。意味の網目である。
6. 暗記と一般化は違う
LLMは、大量のテキストを学習している。そのため、ときには訓練データに含まれていた表現や事実を、そのまま再現するように見えることがある。このような現象は、暗記(memorization)として議論される。
一方で、LLMの能力の多くは、単純な暗記だけでは説明できない。見たことのない文章を要約する。新しい例に合わせて説明する。異なる文体に変換する。複数の概念を組み合わせる。抽象的な構造を別の場面へ応用する。こうした働きは、一般化(generalization)と呼ばれる。
暗記と一般化は、完全に切り離せるものではない。学習したデータの中にあるパターンを使うからこそ、未知の入力にも対応できる。しかし、両者を混同すると、LLMの記憶を誤解する。
「LLMは学習データを全部丸暗記している」わけではない。また、「LLMは何も覚えていない」わけでもない。より正確には、LLMは学習データから、言葉の使われ方、概念の関係、説明の型、推論らしい流れを形成している。その結果として、ある場面では暗記のように見え、別の場面では一般化のように見える。
ここに、LLMの記憶の難しさがある。
7. モデルの記憶と、ChatGPTの保存メモリは違う
ここで、重要な区別をしておく必要がある。LLMのモデル本体にあるものと、ChatGPTの保存メモリは違う。
モデル本体にあるのは、学習によって形成されたパラメータや重みである。これは、そのモデル全体の反応傾向を決める。一方、ChatGPTの保存メモリ(saved memories)は、特定のユーザーに関する情報を、応答生成時の文脈として使うための仕組みである。
たとえば、ユーザーが「私は短い箇条書きより、文脈のある説明を好む」と伝え、それが保存メモリとして使われるとする。このとき、モデル本体がそのユーザー専用に訓練し直されているわけではない。むしろ、そのユーザーについての情報が、次回以降の応答を作るときの文脈として加わる、と考えた方がよい。
この違いは非常に重要である。モデルの重みは、訓練によって作られた大きな地形である。保存メモリは、いまの応答に追加される個別の手がかりである。地形そのものが変わることと、作業台にメモが置かれることは違う。
平易版で「記憶は現在に再投入される条件である」と言ったとき、保存メモリはまさにこの「再投入される条件」の一つである。
8. 会話文脈は、モデル本体の記憶ではない
会話文脈も、モデル本体の記憶ではない。同じチャットの中で前に話した内容を踏まえて返してくれると、AIが覚えているように感じる。しかし、技術的には、過去の会話内容が現在の入力文脈に含まれているから、それを参照できるのである。
これは、モデル本体の重みが変わったという意味ではない。前の発言が、今回の応答を作る材料として渡されている。だから、AIはそれを使える。逆に、その情報が文脈に入っていなければ、AIは使えない。入っていても、他の情報に埋もれていれば弱くなることがある。長い会話では、古い前提と新しい指示が同時に残ることもある。
この点で、会話文脈は「記憶」というより、現在の作業台に広げられた資料に近い。モデルの重みは、作業者の体にしみこんだ技能のようなもの。会話文脈は、いま机の上に置かれている資料のようなもの。保存メモリは、毎回参照されやすい付箋のようなもの。外部ツールは、必要に応じて開く本棚や道具箱のようなもの。これらを同じ「記憶」と呼ぶと、混乱する。
9. コンテキスト注入という見方
LLMの応答を理解するには、コンテキスト注入(context injection)という見方が役に立つ。これは、モデル本体に知識を保存し直すのではなく、応答生成の直前に必要な情報を文脈として渡す、という考え方である。
たとえば、ある会社の社内規程について答えさせたいとする。モデル本体は、その会社の最新規程を知らないかもしれない。しかし、質問と一緒に社内規程の該当箇所を渡せば、モデルはそれを文脈として読んで応答できる。これは、モデルがその規程を恒久的に覚えたという意味ではない。その時点の応答材料として与えられたという意味である。
検索拡張生成、つまり検索拡張生成(RAG)も、この考え方に近い。外部の文書を検索し、関連する部分を取り出し、それをモデルへの入力文脈に加える。すると、モデルは自分の重みだけに頼るのではなく、外部から渡された情報を踏まえて答えることができる。
ここでも、「記憶」は保存場所ではなく、応答生成時に何が文脈へ入ってくるかの問題になる。LLMの記憶を考えるとは、モデルの内側だけを見ることではない。応答の直前に、何が文脈として注入されているかを見ることでもある。
10. なぜ「知っているのに間違える」のか
LLMを使っていると、「これは知っているはずなのに、なぜ間違えるのか」と感じることがある。有名な事実を間違える。日付を取り違える。人名を混ぜる。存在しない文献を挙げる。それらしい説明をするが、細部が違う。
これは、LLMが知識カードを正確に取り出しているわけではないことと関係している。モデルは、文脈に続くもっともらしい応答を生成する。そのため、文脈が曖昧だったり、似た情報が多かったり、確認すべき外部情報が与えられていなかったりすると、もっともらしいが誤った応答が生まれることがある。この現象は、ハルシネーション(hallucination、もっともらしい誤生成)と呼ばれる。
ハルシネーションは、「モデルが何も知らないから起きる」というより、モデルの知識が保存カードではなく、反応傾向として存在していることから生じる。つまり、LLMは知識を持っているように見える。しかし、その知識は、常に出典付きの記録として取り出されるわけではない。
だから、事実性が重要な場面では、外部資料、検索、引用、検証の仕組みが必要になる。
11. LLMの記憶は、内部と外部の合成である
ここまで見てきたように、LLMの記憶は一つではない。モデルの内部には、学習によって形成されたパラメータや重みがある。それは、言葉の反応傾向であり、反応可能性の地形である。
一方で、現在の応答には、モデルの外側からも多くの条件が入ってくる。会話履歴、保存メモリ、カスタム指示、プロジェクト設定、アップロードファイル、検索結果、外部ツールから取得した情報。これらは、モデル本体の重みではない。しかし、応答生成時には強く作用することがある。
だから、ChatGPTの「記憶」を理解するには、LLM本体だけを見ても足りない。製品としてのChatGPTが、どの情報を文脈に入れているかも見る必要がある。
モデル内部の重み。外部から注入される文脈。保存メモリ。検索やツールで取得される情報。これらが合成されて、ひとつの応答が生まれる。
12. 記憶とは、反応可能性の地形である
LLMの記憶を、保存された知識カードとして見ると、いろいろなことが分かりにくくなる。なぜ、知っているように見えるのに間違えるのか。なぜ、同じ質問でも文脈によって答えが変わるのか。なぜ、保存メモリにあるはずのことが出てこないことがあるのか。なぜ、外部資料を渡すと急に正確になるのか。なぜ、古い文脈が新しい指示を邪魔するのか。これらは、記憶を「保存」として見ると、ただの不具合に見える。
しかし、記憶を「反応可能性の地形」として見ると、構造が見えてくる。モデル本体には、学習によって作られた言葉の傾きがある。会話文脈には、現在の作業台に広げられた材料がある。保存メモリには、個別ユーザーに関する参照情報がある。外部ツールには、読みに行ける資料や実行できる行為がある。
LLMの記憶とは、これらが一つに混ざったものではない。それぞれ違う層で、応答に作用する条件である。したがって、技術的に見ても、平易版の中心フレーズはそのまま成立する。
生成AIの記憶とは、保存された過去ではなく、現在に再投入される条件である。
ただし、詳解版では、そこにもう一つの言い方を加えたい。
LLMの記憶とは、保存された知識カードではなく、学習によって形成された反応可能性の地形である。
中心フレーズ
LLMの記憶とは、保存された知識カードではなく、学習によって形成された反応可能性の地形である。
用語メモ
LLM(Large Language Model)
大規模言語モデル。大量のテキストを学習し、与えられた文脈に続く言葉を生成するモデル。
トークン(tokens)
モデルが処理するテキストの単位。単語、単語の一部、記号、空白などがトークンとして扱われることがある。
パラメータ(parameters)
モデルが学習を通じて調整してきた数値の集合。モデルの反応傾向を決める。
重み(weights)
パラメータの一種。入力された情報が次の計算にどのくらい影響するかを決める数値。
埋め込み(embeddings)
テキストなどを数値ベクトルとして表す方法。意味的に近いものは、ベクトル空間上でも近くなるように表現される。
分散表現(distributed representation)
意味や特徴が一か所に保存されるのではなく、多数の数値の関係として広がって表されること。
暗記(memorization)
訓練データに含まれていた情報や表現を、モデルがそのまま再現するように見える現象。
一般化(generalization)
訓練データで得たパターンを、未知の入力や新しい場面に適用できること。
コンテキスト注入(context injection)
モデル本体を再訓練するのではなく、応答生成時に必要な情報を文脈として渡すこと。
検索拡張生成(RAG)
外部文書を検索し、関連部分を文脈に加えたうえで、モデルに応答を生成させる方法。
ハルシネーション(hallucination)
もっともらしいが、事実と異なる内容を生成すること。