Contextual forgetting — コンテキストの忘却

From Systems analysis wiki
Jump to navigation Jump to search

大規模言語モデルにおけるコンテキストの忘却とは、大規模言語モデル(LLM)が、単一の対話セッション内で以前に提供された情報を失ったり、無視したり、非効率的に使用したりする多面的な現象である[1]。人間の記憶とは異なり、LLMは長期的な状態保存領域を持たず、モデルが一度に処理できるテキストの限られた量(トークン単位)であるコンテキストウィンドウのみに依存する。このウィンドウは、モデルの短期記憶またはワーキングメモリとして機能する[2]

この制約の最もよく知られた現れが、「中間での喪失」(Lost in the Middle)問題である。これは、モデルが長いコンテキストの最初と最後に位置する情報をより良く処理し、中間の情報を処理しにくくなる傾向を指す[2]。この現象は不具合ではなく、トランスフォーマーアーキテクチャとその学習原理に起因する基本的な特性である。

2種類の忘却:コンテキスト忘却と破滅的忘却

LLMにおける「忘却」には、コンテキスト内忘却と破滅的忘却という、根本的に異なる2つのタイプを区別することが重要である。

コンテキスト内忘却(中間での喪失)

このタイプの忘却は、学習済みモデルとの単一の対話セッション中(推論中)に発生する。これはコンテキストウィンドウの制約に関連している。対話や文書の量がウィンドウサイズを超えると、モデルは新しい情報のためのスペースを確保するために最も古い部分を「忘れる」。ウィンドウ内であっても、コンテキストの中間にある情報は効率的に利用されないことがある。これはモデルのワーキングメモリの制約である[3]。一般向けの文章では、この現象は「コンテキスト劣化症候群」(Context Degradation Syndrome, CDS)とも呼ばれる[1]

破滅的忘却(モデルドリフト)

「モデルドリフト」(model drift)としても知られるこのタイプの忘却は、モデルを新しいデータでファインチューニングする過程で発生する。巨大な一般知識コーパスで事前学習されたモデルを、特定の専門データセット(例えば医療テキスト)で追加学習させると、その重みが変化する。これにより、新しいタスクとは無関係な、以前に学習した知識やスキルが劣化したり「消去」されたりする可能性がある[4]

原因とメカニズム

コンテキストの忘却は、トランスフォーマーアーキテクチャとベクトル空間の幾何学的性質の直接的な結果である。

「中間での喪失」(Lost in the Middle)効果

2023年に行われたスタンフォード大学の研究「Lost in the Middle」は、長いコンテキストから情報を抽出する際のLLMの性能がU字型の曲線を描くことを明確に示した[2]。回答の精度は、関連情報がコンテキストの最初(初頭効果)または最後(新近性効果)にある場合に最も高くなり、中間に「隠されて」いる場合には著しく低下する。 この現象の原因は以下の通りである:

  • アテンション機構: トランスフォーマーアーキテクチャは、その性質上、全体的な一貫性を維持するために最初のトークン(「アテンションシンク」またはattention sinksと呼ばれる)に不釣り合いに多くの注意を払い、また局所的なコンテキストにも注意を払うため、中間部分への「焦点」が弱まる[5]
  • 事前学習データ: モデルはほとんどの場合、比較的短いテキストで学習される。そのようなテキストでは、重要な情報が開始点から数万トークンも離れた場所にあることは稀であり、このことが非常に長いコンテキストを効果的に利用する妨げとなっている[6]

兆候と結果

  • コンテキスト劣化症候群: 長時間の対話において、モデルは「話の筋を見失い」始め、回答を繰り返したり、以前に確立された事実に矛盾したり、ますます一般的で曖昧な回答をするようになる[1]
  • 多段階タスクでの失敗: 複数のやり取りを通じて条件が уточされるタスクにおいて、モデルは誤った初期の仮定に「固執」し、その後の уточを無視することがある。これにより、タスクを完全に解決できなくなる[7]
  • 文書分析の信頼性の欠如: 長い報告書や法的文書を分析する際、LLMは中央のセクションに位置する重要な事実を見落とす可能性があり、そのようなタスクにおいては信頼性の低いツールとなる。

緩和策と防止策

研究者や開発者は、コンテキストの忘却問題に対処するために、いくつかのアプローチを採用している。

コンテキストウィンドウの拡大

最も直接的なアプローチは、コンテキストウィンドウのサイズを拡大することである。Claude 3(20万トークン)やGemini 1.5 Pro(最大200万トークン)のような最新モデルは、この上限を大幅に拡大した[8][9]。しかし、研究によれば、単にウィンドウを拡大するだけではその効果的な利用が保証されず、「中間での喪失」問題は依然として残ることが示されている[2]

高度なプロンプトエンジニアリング

プロンプトを巧みに構成することで、パフォーマンスを大幅に向上させることができる。Anthropic社は以下の実践方法を提案している[10]

  • 文書を先頭に配置する: 長いテキストを、指示や質問の前に、プロンプトの冒頭に配置する。
  • XMLタグの使用: 文書を`<document>`タグで囲み、明確に区別する。
  • 引用による回答の根拠付け: モデルに対し、まず関連する引用を抽出し、それに基づいて回答を生成するように指示する。

メモリの外部化:Retrieval-Augmented Generation (RAG)

根本的に異なるアプローチは、すべての情報をコンテキストウィンドウに含めるのではなく、外部システム(ベクトルデータベース)に情報を格納し、要求に応じて提供することである。

  1. 検索 (Retrieve): クエリが入力されると、システムは外部データベースで関連情報を検索する。
  2. 拡張 (Augment): 見つかった断片が元のクエリに追加される。
  3. 生成 (Generate): LLMは提供されたコンテキストに基づいて回答を生成する。

RAGは、実質的に無制限のデータ量を扱うことを可能にし、最新かつ検証済みの情報へのアクセスを提供するため、ハルシネーションのリスクを低減し、今日最も信頼性の高い解決策とされている[11]

関連リンク

参考文献

  • Liu, N. F. et al. (2023). Lost in the Middle: How Language Models Use Long Contexts. arXiv:2307.03172.
  • An, C. et al. (2024). Why Does the Effective Context Length of LLMs Fall Short?. arXiv:2410.18745.
  • Ding, J. et al. (2023). LongNet: Scaling Transformers to 1,000,000,000 Tokens. arXiv:2307.02486.
  • Yang, A. et al. (2024). Context Parallelism for Scalable Million-Token Inference. arXiv:2411.01783.
  • Chen, S. et al. (2023). Extending Context Window of Large Language Models via Positional Interpolation. arXiv:2306.15595.
  • Ding, Y. et al. (2024). LongRoPE: Extending LLM Context Window Beyond 2 Million Tokens. arXiv:2402.13753.
  • Li, S. et al. (2023). Functional Interpolation for Relative Positions Improves Long Context Transformers. arXiv:2310.04418.
  • Dong, Z. et al. (2024). Exploring Context Window of Large Language Models via Decomposed Positional Vectors. arXiv:2405.18009.
  • Laban, P. et al. (2025). LLMs Get Lost in Multi-Turn Conversation. arXiv:2505.06120.
  • Li, R. et al. (2024). Extending Context Window in Large Language Models with Segmented Base Adjustment for Rotary Position Embeddings. Applied Sciences, 14(7), 3076. DOI:10.3390/app14073076.
  • Yang, A. & Reizenstein, J. (2024). Exploring Context Window of LLMs via Decomposed Positional Vectors (NeurIPS Poster). NeurIPS 2024.


脚注

  1. 1.0 1.1 1.2 Howard, James. “Context Degradation Syndrome: When Large Language Models Lose the Plot”. jameshoward.us. [1]
  2. 2.0 2.1 2.2 2.3 Liu, Nelson F.; et al. “Lost in the Middle: How Language Models Use Long Contexts”. arXiv. [2]
  3. Liu, Nelson F.; et al. “Lost in the Middle: How Language Models Use Long Contexts”. ACL Anthology. [3]
  4. Greyling, Cobus. “Catastrophic Forgetting In LLMs”. Medium. [4]
  5. “Exploring Context Window of Large Language Models via Decomposed Positional Vectors”. NeurIPS Proceedings. [5]
  6. An, Chenxin; et al. “Why Does the Effective Context Length of LLMs Fall Short?”. arXiv. [6]
  7. “LLMs Get Lost In Multi-Turn Conversation”. arXiv. [7]
  8. “Introducing the next generation of Claude”. Anthropic. [8]
  9. “Google's Gemini 1.5 Pro - Revolutionizing AI with a 1M Token Context Window”. Medium. [9]
  10. “Long context prompting tips”. Anthropic Documentation. [10]
  11. “What is Retrieval-Augmented Generation (RAG)?”. Google Cloud. [11]