【AIエージェント】Planning の「記憶拡張計画」とは
この記事の概要
AIエージェントは、「Profile」「Memory」「Planning」「Action」から構成されます。
引用:A Survey on Large Language Model based Autonomous Agents (2023)
その内の「Planning(計画)」は、次の5つのカテゴリに分類できます。
- タスク分解
- マルチプラン選択
- 外部プランナー支援計画
- 反省と洗練
- 記憶拡張計画
この記事では、AIエージェントのPlanningのうち、「記憶拡張計画」について説明します。
復習:Planningとは
概要
AIエージェントの「計画」とは、目標達成のために一連の行動を構成・選択するプロセスです。
具体的には、タスクや目標に応じて、必要なステップを論理的・時系列的に整理し、エージェントがその通りに行動できるようにすることを指します。
なぜLLMベースのエージェントにPlanningが必要か?
- LLMは非常に強力な推論能力を持っていますが、そのままでは「複雑なタスクの段階的実行」には不向きです。
- 単発の出力だけでタスクを完了できない場面では、事前に「どんなステップで進めるか」を考えるPlanningが重要になります。
記憶拡張計画とは
概要
AIエージェントの計画能力を向上させるために、追加の記憶モジュールを利用する手法です。
このアプローチの目的は、過去の経験、常識的知識、ドメイン固有の知識などの「価値ある情報」を計画時に補助的なシグナルとして活用し、より効果的で堅牢な計画を生成することです。
この手法は次の2つに分類できます。
- RAGを用いた手法
- ファインチューニングを用いた手法
RAGを用いた手法
RAGベースの記憶は、外部の知識や過去の経験を検索してLLMのテキスト生成を支援する手法です。LLMエージェントの場合、過去の経験を記憶に保存し、必要に応じてそれらを検索・利用します。
(引用:AIが切り開く人間の新たな可能性、アクセンチュアの「Technology Vision 2024」)
記憶の保存と検索:
- 記憶は通常、追加のストレージに保存され、その形式はテキスト、表形式、知識グラフなど多岐にわたります。主に自然言語テキストで処理されます。
- タスク関連の経験は、タスク計画中に記憶から検索されます。
- 多くの手法では、各記憶をテキストエンコーディングモデルを使用してベクトルに符号化し、FAISSライブラリのようなインデックス構造を構築します。
- 検索時には、現在の状態の記述をクエリとして使用し、記憶から関連する記憶を検索します。
利点
リアルタイムで低コストの外部記憶更新が可能です。
限界
検索アルゴリズムの精度に依存します。
ファインチューニングを用いた手法
この記憶手法は、エンボディード記憶(Embodied Memory)と言います。
エンボディード記憶は、エージェントの過去の経験的サンプルを用いてLLMをファインチューニングし、記憶をモデルのパラメータに埋め込むアプローチです。
数十億以上のパラメータを持つ言語モデルのトレーニングコストは大きいため、LoRA、QLoRA、P-tuningなどのパラメータ効率の良いファインチューニング(PEFT)技術の活用により、コスト削減と高速化も図られています。
(引用:AIが切り開く人間の新たな可能性、アクセンチュアの「Technology Vision 2024」)
利点
パラメータの変更を通じて、通常のメモリモジュール単体よりも大きな記憶容量を実現します。
限界
記憶の更新コストが大きく、細かい詳細を保持するのに課題があります。
アーキテクチャ紹介①:MemoryBank
概要
RAGベースの記憶拡張計画の例です。
MemoryBankは、LLMが関連する記憶を呼び出し、継続的な記憶更新を通じて進化し、過去の対話から情報を統合することで、時間の経過とともにユーザーのパーソナリティを理解し適応することを可能にします。
MemoryBankを搭載した対話型AIが、長期的なコンパニオンシップにおいて、関連する記憶を想起し、ユーザーのパーソナリティを理解し、共感的な応答を提供する強力な能力を持つことが示されました。
アーキテクチャ
(引用:MemoryBank: Enhancing Large Language Models with Long-Term Memory, Fig1)
MemoryBankは次の3つの構成で成り立ちます。
- メモリ貯蔵庫(Memory Storage)
主要なデータリポジトリです。
「Past Conversations」(過去の会話記録)、「Event Summary」(イベントの要約)、および「User Portrait」(ユーザーの人物像)が保存されます。
具体的には、時系列に記録された詳細な対話、日々の会話を要約した階層的なイベント概要、そして長期的な対話から継続的に評価・更新されるユーザーのパーソナリティ(i.e. 動的プロファイル)が格納されます。 - メモリ検索器(Memory Retrieval)
文脈に特化したメモリの想起を行うメカニズムです。ユーザーの現在の会話コンテキストがクエリとして使用され、Memory Storageから最も関連性の高いメモリを検索します(i.e. RAG)。検索された関連メモリ、グローバルなユーザーの人物像、およびグローバルなイベント概要が会話プロンプトとして整理されます。 - メモリ更新メカニズム(Memory Updating Mechanism)
記憶の保持と忘却に関する確立された心理学的原則である「エビングハウスの忘却曲線理論」から着想を得ています。
このメカニズムは、AIが時間を経て記憶を選択的に忘却し、重要度に応じて記憶を強化することで、人間のような記憶挙動を模倣することを可能にします。
記憶アイテムが会話中に想起されると、記憶の強さが増加し、忘却確率が小さくなります。
アーキテクチャ紹介②:AgentTuning
概要
ファインチューニングベースの記憶拡張計画の例です。
既存のオープンなLLMが、GPT-3.5やGPT-4のような商用モデルに比べてエージェント能力で大きく劣るという課題があり、AgentTuningはこのギャップを埋め、LLM自体に汎用的なエージェント能力を付与することを目的としています。
アーキテクチャ
このアーキテクチャの肝は、「学習データの生成方法」です。
下記方法で用意した学習データを、LoRAなどのPEFTを利用せず、ファインチューニングすることで、GPT-3.5やGPT-4に劣るLlama2などのモデルの性能が向上することが示されています。
学習データは、次の2種類を利用します。
-
AgentInstruct
- このデータセットは、GPT-3.5とGPT-4を使用して生成されます。
- 「マルチターンチャットボット形式」にデータが整形されています。
- データを高品質にするために、次のステップを採用しています。
フェーズ名 | 目的 | 方法 | 結果 |
---|---|---|---|
1. Instruction Construction | エージェントタスクに即したプロンプト要件を作成すること | タスクごとに A. ユーザーが何を要求するか B. エージェントがどう返答するか、ツールをどう呼び出すか |
エージェントの Multi-turn対話形式の指示ペア が得られる |
2. Trajectory Interaction | Instruction に対応する実際の対話を収集すること | GPT-4 など高精度 LLM を使い、 Thought → Action → Observation → Reward の形式で一連のやり取りを生成 |
各ステップに 思考・行動・環境応答・報酬 が付いた、高品質な軌跡データが蓄積される |
3. Trajectory Filtering | 低品質または不適切な軌跡を除外し、教師データの精度を担保すること | 軌跡ごとの「報酬」を評価し、成果が高いもの(目標達成・正確な操作手順)だけを選別 | 報酬により 自動フィルタリング された、高信頼な軌跡群 がデータセットとして収録される |
-
汎用ドメインの命令データ
- ShareGPTなどのオープンソースの汎用的な対話データが含まれます。GPT-3.5とGPT-4との会話データが使用されています。
- ShareGPTとは、ChatGPTとユーザーとの会話が保存されたデータセットです。
上記の学習データの割合は、グリッドサーチにより、20%:80% が最適であることが示されています。
まとめ
AIエージェントのコンポーネントの1つである「Planning」における、「記憶拡張計画」について説明しました。
さらに、具体的なアーキテクチャを、RAGベースのものとファインチューニングベースのものの2つを解説しました。
参考
Understanding the planning of LLM agents: A survey (2024)
A Survey on the Memory Mechanism of Large Language Model based Agents (2024)
MemoryBank: Enhancing Large Language Models with Long-Term Memory (2023)
AgentTuning: Enabling Generalized Agent Abilities for LLMs (2023)
Discussion