AI Fundamentals for AI-Assisted Development · Chapter 7

第7章 Context・Memory・Training Dataを分ける

Type
Book
Edition
Version 1
Language
Japanese
Format
Web
Author
mars70
Chapter 7

「AIが知っている情報」は一種類ではない

AIを使っていると、

  • 今この会話で伝えた情報
  • 前の会話で話した情報
  • 保存された情報
  • AIが学習に使った情報
  • 検索やファイルから取得した情報

が、すべて一つの「AIの記憶」のように感じられることがあります。しかし、これらを同じものとして扱うと、AIの挙動を正しく判断しにくくなります。この章では特に、次の四つを分けます。

Context
Memory / saved information
Training Data
learned model state

Context

Contextは、現在の処理でモデルやAIサービスが利用できる情報に関係する概念です。たとえば会話の中で、少し前に伝えた条件が後の回答にも使われる場合があります。しかし、一度話した = いつでもContextとして利用できる とは限りません。どこまでの情報が現在利用可能かは、サービスや条件によって異なる可能性があります。公開されていない具体的なcontext assemblyの仕組みは推測しません。

「以前話した」と「今使える」は別

以前の会話である情報を伝えたとします。その事実から分かるのは「以前、その情報を会話した」ということです。そこから自動的に「現在のinteractionでも利用可能」とは言えません。

現在利用可能なのか、保存機能によって参照されているのか、別の仕組みなのか、確認できなければ区別して残します。

Memory / saved information

AIサービスによっては、Memoryなどの名前で、利用者に関する情報を保存する機能が提供される場合があります。そのような機能によって保存された情報は、saved / persistent information として考えることができます。ただし、saved information = model parameter ではありません。

保存された情報が、内部でどのように保持され、どのように現在のinteractionへ使われるかは、公開情報以上には推測しません。

Training Data

Training Dataは、モデルのTrainingに使われるデータです。Trainingでは、データを使ってmodel parameterや学習された状態が調整されます。ここで重要なのは、Training Data != 現在のinput という区別です。

今モデルへ入力した文章は、現在のInferenceで使われるinputです。それがTraining Dataになるかどうかは別の問いです。

Learned model state

Trainingを終えたモデルには、学習によって形成されたparameterやlearned stateがあります。これは、

  • current context
  • saved information
  • runtime retrieval
  • 現在のinput

とは区別して考えます。

たとえばAIがある一般知識について回答できたとしても、その一つの出力だけから、「この文章をTraining Dataとして学習した」と特定することはできません。

Retrievalされた情報も別

後の第8章ではRetrievalを扱います。Retrievalによって外部のdocumentやfileから情報を取得し、それを生成に利用する仕組みがあります。その情報も、Training Data と自動的に同一視しません。

概念的には、

Training Data
    ↓
Training
    ↓
learned model state

現在のinput ──────┐
Current Context ──┤
Saved Information ┤
Retrieved Info ───┤
                  ↓
              Inference
                  ↓
                output

と分けて考えることができます。

この図は、情報の役割を混同しないための概念図です。

「覚えている」という言葉だけでは判定できない

AIが「覚えています」と答えたとします。その文章だけでは、

  • current contextに残っている
  • saved informationを参照している
  • retrievalされた
  • learned model stateに関係する
  • 別のservice-side mechanismが関係する

のどれなのかを一意に決めることはできません。

この文章が生成されたことと、どのtechnical mechanismが使われたかは別です。

会話が自動的にTraining Dataになるとは決めない

利用者がAIへ入力した情報が、将来のTrainingにどう扱われるかは、サービスの公開情報や条件を確認する必要があります。この本では、会話した → 自動的にTraining Dataになった という推論をしません。

反対に、絶対にTraining Dataにはならない とも、Evidenceなしには断定しません。

確認できない場合は、確認できない状態として扱います。

4つを並べる

概念 主な役割
Current Context 現在のinteractionで利用可能な情報
Saved / Persistent Information サービス等によって保存された情報
Training Data Trainingに使われるデータ
Learned Model State Trainingによって形成されたmodel parameter等の状態

これらは、完全なAI情報分類体系ではありません。この本で混同を避けるために重要な四つを並べたものです。

この章のまとめ

Context != Memory != Training Data
Saved information != learned model state
Inference input != Training Data
Retrieved information != Training Data
「覚えている」output != memory mechanismの証明
  • Contextは現在利用可能な情報に関係する
  • 過去に話したことと、現在利用可能であることは同じではない
  • Memoryなどで保存された情報とmodel parameterは同じものではない
  • Training DataはTrainingに使われるデータ
  • 現在のinputやretrieved informationを自動的にTraining Dataとみなさない
  • learned model stateとcurrent contextを分ける
  • 保存・context assembly・trainingへの利用などの未公開内部処理は推測で埋めない

次の章では、Search、Retrieval、RAG、Tool、Agentがモデル単体の能力をどのように広げるのかを整理します。