大規模言語モデルにおける長文コンテキスト外入力への対処に関する研究動向(By DeepResearch)
了解です。LLMがOut-of-Distribution(OOD)な長さの入力、すなわち訓練時に経験していないコンテキスト長や、会話全体がモデルのコンテキストウィンドウを超えるような状況に直面した際の挙動に関する研究を調査します。
日本語で5000文字以上、査読論文形式のレポートとしてまとめてお届けします。しばらくお待ちください。
大規模言語モデルにおける長文コンテキスト外入力への対処に関する研究動向
はじめに
近年の大規模言語モデル(LLM)は飛躍的な性能向上を遂げているが、その適用範囲にはコンテキスト長という重大な制約が存在する。Transformerベースのモデルは入力系列の長さに上限(コンテキストウィンドウ)を設けて訓練されるため、それを超える長さの入力はモデルにとって訓練時に経験していない分布外(Out-of-Distribution; OOD)の状況となる ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models)。たとえばGPT-3やLLaMAなど多くのLLMは学習時に最大でも数千トークン程度(GPT-3は2048トークン、LLaMAは2048ないし8192トークンなど)の文脈で訓練されており、それ以上の長文を直接与えられることは想定していない。またチャットボットなどマルチターン対話では、対話履歴が増大するとコンテキストウィンドウから溢れた古い発話が切り捨て(トランケーション)られる。こうした状況ではモデルは過去の重要情報を参照できず、長期の文脈依存性が要求されるタスクで性能が低下する可能性が高い。実際、産業界でもコンテキスト長の拡張が競われており、OpenAIのGPT-4では8Kや32Kトークンの文脈長設定が提供され、AnthropicのClaudeでは100Kトークン(約75,000語)の極端に長い文脈に対応したモデルが発表されている。しかし、こうした長文対応モデルであっても真に長大な文脈を扱いきれているかについては慎重な評価が必要とされる ([2404.06654] RULER: What's the Real Context Size of Your Long-Context Language Models?) ()。本稿では、LLMが訓練時の想定を超える長文入力や対話履歴の一部欠落といったOODな文脈状況に直面した際に示す挙動と、その性能・出力品質への影響について、最新の研究知見を整理する。さらに、これらの問題を定量的に評価するためのベンチマークや分析研究の動向(特に2024年後半〜2025年初頭)を紹介し、最後に位置エンコーディングの改良、長文コーパスでの追加学習、外部メモリの活用などによる対応策を概説する。
長文コンテキスト外入力への典型的な挙動
学習時想定以上の長さの入力に対する挙動
LLMにモデルが経験したことのない長大な入力(例:学習時は最大2048トークンだったモデルに5000トークンのテキストを与える)が与えられた場合、内部挙動の異常や出力の破綻が報告されている。Hanら ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models)は、最先端のLLM(相対位置エンコーディングを用いたモデル)でも訓練長を超える文脈に対しては流暢さが損なわれ、極端な場合には入力を正しく認識できず無意味な語の羅列(ギブリッシュ)を生成し始めることがあると報告している ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models)。例えばKaiokendev(2023)の指摘するように、学習時以上の位置に対する内部の注意重み計算で非数値(NaN)が発生しモデル出力が壊れるケースさえ観察されている ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models)。このような挙動不良の根本原因として、位置エンコーディングや注意機構が訓練範囲外の長距離に対して不安定になることが挙げられる ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models) ([2306.15595] Extending Context Window of Large Language Models via Position Interpolation)。
([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models)図1: 非常に長い文脈に対する注意機構の内部挙動解析 ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models) ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models)。(a)は相対位置エンコーディングを用いたTransformerで、距離が訓練範囲を超えたトークン間の注意ロジット(注意スコアの生の値)が大きく振動・発散している様子を示す ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models)。(b)は注意重みのエントロピー(乱雑さ)を文脈長に沿ってプロットしたもので、系列長の増大に伴い注意分布が平坦化しエントロピーが単調増加している ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models)。これは長距離のトークンを区別できず注意が拡散する現象を示唆している。Hanらの解析によれば、入力長が訓練時より長くなると、モデルの注意機構は「未知の距離」を区別しようとして注意ロジットが発散するか、逆に区別をあきらめて注意重みが一様に近くなるかのジレンマに陥る ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models) ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models)。前者の場合は内部の活性が極端な値となりモデルにとって「不慣れな状態」となって破綻した出力(文法無視の無意味文など)を生みやすい ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models)。後者の場合は一見安定しているように見えても、注意が入力全体に拡散するため重要情報の取捨選択ができずに結果的に異常応答や失敗につながる ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models)。このように、LLMは未学習の長大文脈に直面すると内部表現が訓練分布から大きく逸脱し、テキスト生成の品質が著しく悪化する。
コンテキスト切り捨て(履歴欠落)時の挙動
対話型LLMでは、長い会話履歴がコンテキストウィンドウから溢れた際に古い発話を削除することが一般に行われている。この過去履歴の欠落はモデルの整合性や記憶に影響を与える。ユーザが以前に提供した情報(例えば事前に伝えた名前や設定)をモデルが忘れてしまい、後の応答で矛盾した内容を述べたり、一貫しない回答をしたりすることがある。Maharanaら (Evaluating Very Long-Term Conversational Memory of LLM Agents)は300ターン・平均9000トークンにも及ぶ超長時間の対話データセットLoCoMoを用いてLLMの長期会話メモリを評価し、モデルが長大な会話の理解や時間的・因果的な一貫性の維持に課題を示すことを明らかにした (Evaluating Very Long-Term Conversational Memory of LLM Agents)。具体的には、話者の人物設定や過去の出来事に基づく発話の一貫性テストにおいて、人間に比べモデルの性能が大きく劣り、長い対話履歴を持つ場合に因果関係の取り違えや重要な過去事実の喪失が頻発する (Evaluating Very Long-Term Conversational Memory of LLM Agents)。長い文脈長に対応するLLMや外部知識の検索(Retrieval-Augmented Generation, RAG)手法を用いることで多少の改善は見られたが、それでも数百ターンに及ぶ長期対話では整合性維持が難しいと報告されている (Evaluating Very Long-Term Conversational Memory of LLM Agents)。これは、単純にコンテキストウィンドウを拡大するだけではなく、過去情報を圧縮要約したり再参照したりする高度なメモリ機構が必要であることを示唆している。実際、多くのチャットシステムでは長い対話の途中でモデルに対し重要事項の要約を与え直す、あるいは過去の会話内容を検索して参照させる工夫が行われる。しかし、これらの処理が不十分だとモデルは過去の発話を忘れ、文脈を見失って見当違いの回答をしたり、矛盾をきたしたりする。長期対話における挙動として報告されている典型例は、登場人物や設定の再説明要求(モデルが過去に提示された情報を失念し再度尋ねる)や、過去に下した結論と食い違う回答を生成する一貫性崩壊である (Evaluating Very Long-Term Conversational Memory of LLM Agents)。このように、文脈トランケーション下ではLLMの記憶保持能力の限界が露呈し、長期依存関係を要する応答の品質低下が避けられない。
長文入力による性能・出力品質への影響
上述のようなOOD長文や文脈欠落状態は、LLMの性能指標や応答品質に明確な悪影響を及ぼすことが様々な研究で定量的に示されている。まず、タスク性能の劣化という観点では、長いコンテキストが必要な質問応答や推論タスクで正解率が急低下する傾向が報告された ([2404.06654] RULER: What's the Real Context Size of Your Long-Context Language Models?)。Hsiehら ([2404.06654] RULER: What's the Real Context Size of Your Long-Context Language Models?)は長文理解ベンチマークRULERにおいて、32Kトークン以上の文脈長をうたう17種の長文対応LLMを評価し、そのほぼ全てが文脈長の増大に伴って大幅な性能低下を示すことを明らかにした ([2404.06654] RULER: What's the Real Context Size of Your Long-Context Language Models?)。単純な長文中からキーワード(“針”)を探すタスクでは高精度を維持できるモデルも、多数の不要文(“干し草”)が混在する複雑な設定や、複数の情報源をたどるマルチホップ推論になると文脈長の影響を強く受けた ([2404.06654] RULER: What's the Real Context Size of Your Long-Context Language Models?)。宣伝上は32K以上のコンテキストを扱えるとされるモデルでも、実際に32Kトークン長の入力で満足な性能を維持できたのは約半数に過ぎなかったと報告されている ([2404.06654] RULER: What's the Real Context Size of Your Long-Context Language Models?)。特に200Kという超長コンテキストに対応するYi-34Bモデルでさえ、入力長とタスク複雑性の増大に対しては大きな改善余地がある(性能が大きく低下する)ことが示されている ([2404.06654] RULER: What's the Real Context Size of Your Long-Context Language Models?)。このような結果は、長い入力ではモデルが有用な情報を適切に保持・想起できなくなることを意味し、事実上有効文脈長が公称値より短いモデルが多いことを示唆する ([2404.06654] RULER: What's the Real Context Size of Your Long-Context Language Models?)。同様に、Liら ()はLongEvalという評価スイートでオープンソースの長文LLMを検証し、多くのモデルが仕様上の最大コンテキスト長通りには動作せず破綻することを明らかにした ()。たとえばMPT-7B-StoryWriter(訓練コンテキスト65K)やChatGLM2-6B(8K)といったモデルも、16Kトークン程度で既に性能が急落し、モデルによっては約2倍程度の訓練長を超えた辺りで性能がほぼゼロに近づくケースも報告されている ()。これは、多くのLLMが訓練外の長さに対して事実上は一般化に失敗していることを定量的に裏付けるものである。
出力テキストの品質面でも、長文文脈はしばしば悪影響を及ぼす。学習時を超える位置で注意重みが異常になる現象は前述したが、それに起因して文章のまとまりや論理的一貫性が損なわれることが知られる ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models) ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models)。学習済みLLMに本来の文脈長上限を超える入力を与えると、突然同じ文の繰り返しや支離滅裂な文生成が生じることがある。Chenらの実験でも、RoPEベースのモデルにおいて訓練範囲外の位置で注意スコアが極端な値をとった場合に自己注意機構が崩壊し、無関係な単語のランダム列挙といった破綻出力が生成される例が確認されている ([2306.15595] Extending Context Window of Large Language Models via Position Interpolation)。一方、注意重みがフラットになって重要情報を拾えなくなる場合、モデルは文脈全体を把握できず要点を外した冗長な応答や中途半端な要約しか返せなくなる。対話における文脈切り捨ての場合は、モデルの知識や記憶の抜け落ちが原因で出力品質が低下する。LoCoMoベンチマークでは、長い会話の後半でモデルが以前に共有された事実を忘れ、誤った回答をする割合が大幅に増加した (Evaluating Very Long-Term Conversational Memory of LLM Agents)。たとえば序盤で「ある人物はペットアレルギーを持つ」という設定を与えたのに、会話が進んだ後半ではモデルがその人物に動物と触れ合わせるような矛盾した提案をする、といったケースである (Evaluating Very Long-Term Conversational Memory of LLM Agents)。このような情報の矛盾や伏線の回収漏れは、物語生成や長編対話など長期整合性が重要な応用で深刻な問題となる。また過去の発話を忘れたモデルは、ユーザの質問に対し既に以前答えた内容をまた答えてしまう重複や、あるいは「その話は初耳です」といった不適切な応答をすることもあり得る。要するに、文脈長が極端に延びるとLLMのタスク遂行能力は定量的に悪化し、生成されるテキストの質(一貫性・正確性・情報網羅性)が低下することが、近年の研究で実証されている ([2404.06654] RULER: What's the Real Context Size of Your Long-Context Language Models?) (Evaluating Very Long-Term Conversational Memory of LLM Agents)。
長文文脈問題の評価に関する最新動向
2024年後半から2025年初頭にかけて、LLMの長文コンテキスト処理能力を精密に測定するベンチマークや評価手法がいくつか提案されている。前述のRULER ([2404.06654] RULER: What's the Real Context Size of Your Long-Context Language Models?)はその一例であり、単純な長文中の情報検索(needle in a haystackテスト)だけでなく、複数のneedleを含む設定や長距離の推論・集約問題を含む総合的なテストスイートとなっている (RULER: What’s the Real Context Size of Your Long-Context Language Models? | OpenReview)。RULERでは文脈長を自在に変えられる合成データ上でモデル性能を比較でき、文脈長が長くなるほど性能がどう劣化するかを詳細に分析できる (RULER: What’s the Real Context Size of Your Long-Context Language Models? | OpenReview)。Hsiehらの分析は「カタログ上は32K以上の長文対応を謳うモデルでも、性能が実用的に維持できる文脈長はそれ以下である」ことを浮き彫りにし、今後の長文LLM評価には単なる検索タスク以上の複雑な指標が必要であると指摘している ([2404.06654] RULER: What's the Real Context Size of Your Long-Context Language Models?)。
さらに大規模な長文評価として、Zhangら (∞Bench: Extending Long Context Evaluation Beyond 100K Tokens - ACL Anthology) (∞Bench: Extending Long Context Evaluation Beyond 100K Tokens - ACL Anthology)は**∞Bench(InfinityBench)と呼ばれる平均10万トークン超の長大な文脈を含むベンチマークを提案した (∞Bench: Extending Long Context Evaluation Beyond 100K Tokens - ACL Anthology)。∞Benchには英語・中国語の多様なドメインにまたがる合成・実世界タスクが含まれ、単に長文中の一部を検索すれば解けるような問題ではなく広範囲に散在する情報を関連付けて理解することが要求される (∞Bench: Extending Long Context Evaluation Beyond 100K Tokens - ACL Anthology)。このベンチマークにより、現在の最先端長文LLMでも100Kトークン級の文脈を効果的に処理するには大きな改良が必要であることが示された (∞Bench: Extending Long Context Evaluation Beyond 100K Tokens - ACL Anthology)。一部のモデルでは文脈長を延ばすと後半のトークンをほとんど無視して直近のコンテキストだけで応答してしまう傾向も観察され、事実上長文の大半を活用できていない**可能性が示唆されている。このような評価を通じて、モデルが本当に長距離の依存関係を捉えて推論できているのか、それともハードウェア的に長い入力を通しているだけで有効活用できていないのかを区別することが可能になる。
対話の観点では、MaharanaらによるLoCoMo (Evaluating Very Long-Term Conversational Memory of LLM Agents)のように極端に長い対話の中での質問応答や要約タスクによって長期記憶性能を測る試みがなされている。LoCoMo評価では、モデルが会話の前半部分に基づく質問にどれだけ正確に答えられるか、会話全体を要約させて一貫したストーリーを生成できるか、画像を交えたマルチモーダル対話で過去画像の内容と言動の脈絡を維持できるか、といった多角的な観点で検証が行われた (Evaluating Very Long-Term Conversational Memory of LLM Agents) (Evaluating Very Long-Term Conversational Memory of LLM Agents)。結果は前述の通り厳しいもので、既存のLLMは長期の会話履歴をほとんど保持できず、人間の長期記憶能力に大きく及ばないことが確認された (Evaluating Very Long-Term Conversational Memory of LLM Agents)。この分野では、対話履歴を検索エンジンのように索引化して必要に応じて読み込むRAG的手法や、一定ターンごとに要約を挿入してモデルに過去を思い出させる手法など、長期メモリ評価とセットでメモリ支援策の効果検証も進んでいる (LIFT: Improving Long Context Understanding of Large Language Models through Long Input Fine-Tuning)。
総じて、長文コンテキストに関する評価研究の最新動向は、モデルが単に長い入力を処理可能と謳われているだけでなく実際にどの程度まで性能を維持できるかを客観的に測定し、ボトルネックを分析することに焦点が移りつつある ([2404.06654] RULER: What's the Real Context Size of Your Long-Context Language Models?) ()。これは、今後のモデル改良や新手法の効果を厳密に比較し、真に実用的な長文理解能力を備えたLLMを開発する上で不可欠なステップである。
長文文脈問題への主な対策手法
上述の課題に対処するため、研究者や企業はモデルアーキテクチャから学習戦略、外部支援まで様々なアプローチを提案している。本節では特に (1) 位置エンコーディングの改良、(2) 長文へのロバストな学習法、(3) コンテキスト外部記憶の活用という観点から主な手法を概観する。
位置エンコーディングの改良による長さ外挿
Transformerにおける位置エンコーディングは、系列中の各単語の位置情報をモデルに与える仕組みであり、これがモデルの文脈長制限や長さ一般化能力に直結する ([2312.17044] Length Extrapolation of Transformers: A Survey from the Perspective of Position Encoding)。Length Extrapolation(長さの外挿)を向上させる研究の多くは、この位置エンコーディングを工夫することで訓練時より長い系列への対応力を高めようとしている ([2312.17044] Length Extrapolation of Transformers: A Survey from the Perspective of Position Encoding)。代表的な手法としては、相対位置エンコーディング(例えばTransformer-XLの手法やRoPE: Rotary Position Embedding ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models))がある。これは位置そのものではなくトークン間の距離に基づいて注意計算を行うもので、理論上は系列長に依らず動作可能とされる。しかし実際には、RoPEなど多くのLLMで採用されている手法は未学習領域での外挿性が弱いことが指摘されている ([2306.15595] Extending Context Window of Large Language Models via Position Interpolation)。Pressらの提案したALiBi(Attention with Linear Bias) ([2306.15595] Extending Context Window of Large Language Models via Position Interpolation)は距離に比例した単純なバイアス項を付与することで長さ外挿性を持たせる試みであり、一定の効果を上げた。加えてSunら(2022)のXPosや、Kaiokendev(2023)のNTKスケーリングといったコミュニティ主導の改良も登場しつつある ()。Chenら ([2306.15595] Extending Context Window of Large Language Models via Position Interpolation) ([2306.15595] Extending Context Window of Large Language Models via Position Interpolation)はPosition Interpolation (PI)という手法を提案し、RoPEベースのLLM(LLaMAなど)の文脈長をわずかな追加学習で32Kに拡張することに成功している ([2306.15595] Extending Context Window of Large Language Models via Position Interpolation)。PIの要旨は「外挿ではなく内挿」であり、新たな位置でのエンコーディング値を既存の範囲内に押し込める点にある ([2306.15595] Extending Context Window of Large Language Models via Position Interpolation)。具体的には、位置インデックスを元の最大長で線形縮尺し、例えば元は2048トークン長で訓練されたモデルに4096トークン目を与える際は、その4096を2048未満の実効位置にスケーリングして計算する ([2306.15595] Extending Context Window of Large Language Models via Position Interpolation) ([2306.15595] Extending Context Window of Large Language Models via Position Interpolation)。こうすることで訓練時と同程度の値幅の位置表現に収め、注意スコアが**破滅的な大きさ(catastrophic values)**になるのを防ぐ ([2306.15595] Extending Context Window of Large Language Models via Position Interpolation)。Chenらの報告では、この方法によりモデルの元の性能を大きく損なうことなくLLaMAやLLaMA-2の文脈長を16倍(2048→32768)に延ばせている ([2306.15595] Extending Context Window of Large Language Models via Position Interpolation) ([2306.15595] Extending Context Window of Large Language Models via Position Interpolation)。またPalら ([2308.10882] Giraffe: Adventures in Expanding Context Lengths in LLMs) ([2308.10882] Giraffe: Adventures in Expanding Context Lengths in LLMs)の包括的調査(Giraffeプロジェクト)では、既存の長さ拡張手法を比較した結果、線形なスケーリング(位置インデックスや周波数を一定比率でスケールさせる手法)が最も安定して良好な長文性能を示したと報告されている ([2308.10882] Giraffe: Adventures in Expanding Context Lengths in LLMs)。加えて、周波数ベースのRoPEにおいてスケール係数を訓練時より大きく取ることで更なる外挿が可能になることや、行列の基底を切り捨てることで意外と良い外挿性が得られる可能性(truncated basis法)が示唆されている ([2308.10882] Giraffe: Adventures in Expanding Context Lengths in LLMs)。Zhaoらのサーベイ ([2312.17044] Length Extrapolation of Transformers: A Survey from the Perspective of Position Encoding)も指摘するように、位置エンコーディングを工夫するアプローチは現在も盛んであり、Transformerの長さ一般化問題における中心的な研究テーマとなっている。
長文へのロバスト学習・ファインチューニング
モデルが長大な文脈に対応できるようにする最も確実な方法は、そのような長文を使ってモデルを訓練することである。実際、GPT-4やClaudeなどの大規模モデルでは、事前学習や追加のファインチューニングにおいて長大なシーケンスを含むデータが用いられたと考えられている(詳細な訓練過程は非公開だが、32K版GPT-4が8K版に比べ長文入力への精度を高めていることから推測される)。しかし、Transformerの計算量・メモリ量は系列長の2乗に比例するため、コンテキスト長を倍増させるには単純計算で4倍の計算資源が必要となり、訓練コストは莫大になる (LIFT: Improving Long Context Understanding of Large Language Models through Long Input Fine-Tuning)。実際、Cerebras社のブログによれば、ある8B規模モデルのコンテキスト長を128Kに拡張するには通常8000億トークンにも及ぶ追加学習が必要だが、同社の工夫により100億トークン程度(従来比1%)で同等性能に達した例が報告されている (Extending LLM context with 99% less training tokens - Cerebras) (Extending LLM context with 99% less training tokens - Cerebras)。この手法の鍵は高品質な人工長文データによる指示追従型の追加学習であり、特にRetrieval-augmented Fine-tuning (RAFT)と呼ばれる難易度を上げた訓練データ生成が有効だった (Extending LLM context with 99% less training tokens - Cerebras)。RAFTでは、単一文脈・質問・回答のペアからなる既存のQAデータを拡張し、質問に無関係な紛らわしい文章(distractor)を多数混入させた長文コンテキストを合成する (Extending LLM context with 99% less training tokens - Cerebras)。これによりモデルは与えられた全コンテキストを隅々まで活用しないと正解に辿り着けない訓練を積むことになり、限られた学習ステップでも効率的に長文への適応力を獲得できる (Extending LLM context with 99% less training tokens - Cerebras)。Zhangら(2024)はこのRAFTを提唱し、実際に長文訓練データへ不要文を挿入することでモデルが与えられた文脈全体をフル活用するよう誘導できると述べている (Extending LLM context with 99% less training tokens - Cerebras) (Extending LLM context with 99% less training tokens - Cerebras)。他にも、既存モデルを長文で微調整する際に逐次的に文脈長を延伸してカリキュラム学習する手法や、混雑した長文から要約を作るタスクを学習させることで長距離依存の耐性を付ける手法などが模索されている (LIFT: Improving Long Context Understanding of Large Language Models through Long Input Fine-Tuning)。Tianらは「Untie the Knots」というデータ拡張戦略を提案し、長文中の話題転換点を意図的に生成してモデルに対処させることで、長い入力内での文脈シフトに頑健な学習を達成している。もっと直接的には、LIFT (LIFT: Improving Long Context Understanding of Large Language Models through Long Input Fine-Tuning) (LIFT: Improving Long Context Understanding of Large Language Models through Long Input Fine-Tuning)のように長文入力そのものに適応する微調整をオンザフライで行う枠組みも提案されている。LIFTではベースとなる短文対応LLMに対し、新たに与える長文をいくつかのオーバーラップする断片に分割し、それらを順次モデルに入力して追加の微調整(オンザフライ学習)を行う (LIFT: Improving Long Context Understanding of Large Language Models through Long Input Fine-Tuning)。これにより、オフラインで莫大な長文コーパスを用意しなくともモデルが個々の長文入力をメモリに刻み込むよう適応できる (LIFT: Improving Long Context Understanding of Large Language Models through Long Input Fine-Tuning)。総じて、学習面のアプローチは計算コストとトレードオフであるものの、モデルに長文を経験させておくことが最も確実な解決策であり、各種のデータ構築・訓練手法の工夫によって必要な追加コストを削減しつつ性能向上を図る研究が進められている。
メモリ補助・外部知識の活用
モデル自身の改良や学習以外に、外部のメモリリソースや別のメカニズムを組み合わせて長文問題に対処するアプローチも多く検討されている。これは広義の「システム面での工夫」とも言え、代表的にはリトリーバル(検索)強化と長期メモリ機構の導入が挙げられる (LIFT: Improving Long Context Understanding of Large Language Models through Long Input Fine-Tuning)。
Retrieval-Augmented Generation (RAG)は、モデルに全情報を詰め込むのではなく、一旦外部のデータベースやベクトルインデックスに知識や過去文脈を保存し、モデルへの入力時に関連部分を検索して追加コンテキストとして与える手法である (LIFT: Improving Long Context Understanding of Large Language Models through Long Input Fine-Tuning)。対話システムでは、対話履歴全体をベクトル埋め込みに変換して格納し、現在のユーザ発話に近い過去発話や関連知識を検索してモデルに与える会話メモリが試みられている。この方法では、モデルの固定のコンテキストウィンドウ以上に過去を遡ることが可能になり、一部の長期依存問題を解決できる。しかし、LIFTの研究が指摘するように、RAGの効果は検索されたコンテキストの品質と適切さに大きく依存し、ノイズや曖昧な情報を誤って渡すと却ってモデルに混乱や虚偽(ハルシネーション)を招くリスクがある (LIFT: Improving Long Context Understanding of Large Language Models through Long Input Fine-Tuning)。したがって、RAGを用いる場合でもモデル側で長文を扱う能力を高めることや、検索戦略をチューニングすることが重要となる。
メモリネットワークや再帰型のアーキテクチャも長文対処に有用なアイデアである。Transformerとは異なる再帰構造を用いるRecurrent Memory Transformer (TokenSelect: Efficient Long-Context Inference and Length Extrapolation for LLMs via Dynamic Token-Level KV Cache Selection)やTransformer-XL (TokenSelect: Efficient Long-Context Inference and Length Extrapolation for LLMs via Dynamic Token-Level KV Cache Selection)、Compressive Transformer (TokenSelect: Efficient Long-Context Inference and Length Extrapolation for LLMs via Dynamic Token-Level KV Cache Selection)では、長い系列を分割しつつ過去の隠れ状態をメモリとして保持して次のセグメントに伝播する仕組みを備えている。これにより、明示的なコンテキストウィンドウ外にも情報を保持し、事実上無限長の文脈を扱うことを目指している (TokenSelect: Efficient Long-Context Inference and Length Extrapolation for LLMs via Dynamic Token-Level KV Cache Selection) (TokenSelect: Efficient Long-Context Inference and Length Extrapolation for LLMs via Dynamic Token-Level KV Cache Selection)。例えばTransformer-XLはセグメント間で隠れ状態をキャッシュし、学習時以上の長さの依存関係も保持できることを示した (TokenSelect: Efficient Long-Context Inference and Length Extrapolation for LLMs via Dynamic Token-Level KV Cache Selection)。もっとも、この手法ではメモリに残す情報量を減らすため適宜過去を圧縮・要約する必要があり (TokenSelect: Efficient Long-Context Inference and Length Extrapolation for LLMs via Dynamic Token-Level KV Cache Selection)、圧縮率によっては細部の欠落が生じるジレンマがある。Raeら (TokenSelect: Efficient Long-Context Inference and Length Extrapolation for LLMs via Dynamic Token-Level KV Cache Selection)のCompressive Transformerは古いメモリほど低次元に圧縮する戦略で長期依存とメモリ節約のバランスを図っている。
対話アプリケーションでは、一定ターンごとに会話の要約を生成して古い履歴の代替とする実装も見られる。モデル自身に対話履歴を要約させ、それを次の入力に含めることでコンテキストウィンドウ内に収める手法である。要約内容が適切であればモデルは長時間の対話も要約を辿って話を継続できるが、要約の質次第では重要な細部が落ちてしまい、結果的にユーザの真意を外す恐れがある。このように人手要約ないしモデル要約を随時フィードバックする運用は実務的な解決策として用いられるが、モデルの長期記憶能力そのものを高めるものではないため限界がある。
もう一つのアプローチは、モデル内部の記憶(KVキャッシュ)を圧縮・管理する手法である。通常、Transformerのデコーダでは過去トークンのキー・バリュー(KV)ペアをすべて保存しておくが、長文ではこのメモリが膨大になる。最近の研究では、このKVキャッシュ内の情報を取捨選択したり量子化したりして圧縮し、より長い文脈を維持しようという試みが多数報告されている (TokenSelect: Efficient Long-Context Inference and Length Extrapolation for LLMs via Dynamic Token-Level KV Cache Selection) (TokenSelect: Efficient Long-Context Inference and Length Extrapolation for LLMs via Dynamic Token-Level KV Cache Selection)。たとえばGeら (TokenSelect: Efficient Long-Context Inference and Length Extrapolation for LLMs via Dynamic Token-Level KV Cache Selection)は重要度の低いKVペアを間引く適応KVキャッシュ圧縮を提案し、精度をほとんど損なわずメモリ使用量を削減できることを示した。Yangら (TokenSelect: Efficient Long-Context Inference and Length Extrapolation for LLMs via Dynamic Token-Level KV Cache Selection)の“No Token Left Behind”はトークンごとに混合精度で情報を保存し、重要なトークンは高精度に、そうでないものは低精度に圧縮することでKVキャッシュを信頼度に応じて整理する手法である。同様に、KVペア同士をマージして要約表現にする試み (TokenSelect: Efficient Long-Context Inference and Length Extrapolation for LLMs via Dynamic Token-Level KV Cache Selection)や、Attention計算時に重要トークンだけを抽出して計算するスパース化手法 (TokenSelect: Efficient Long-Context Inference and Length Extrapolation for LLMs via Dynamic Token-Level KV Cache Selection)(TokenSelect等)も提案されている。これらはいずれもモデル内部で扱える情報量を増やす工夫であり、モデルの暗記容量を実質的に拡張するものとみなせる。もっと直接的には、モデル自体を階層化して長文を分割統治するHierarchical Transformerの研究もある。これはまず長文を複数のチャンクに分けて各チャンクをエンコードし、その要約をさらに上位のTransformerに入力する、といった多段処理で長大文書を理解させようとするアプローチである ([2312.17044] Length Extrapolation of Transformers: A Survey from the Perspective of Position Encoding)。この場合、モデルは一度に全トークンを見るわけではないが、構造的に長距離の要約情報を保持することになるため、長文に対する一貫した応答が期待できる。
最後に、システム全体での工夫とトレードオフについて触れておく。長文コンテキスト問題への対応策は、(a)モデルに長文耐性を直接持たせるか、(b)モデルに与える入力を何らかの形で短縮・整形するか、の二軸に大別できる (LIFT: Improving Long Context Understanding of Large Language Models through Long Input Fine-Tuning) (LIFT: Improving Long Context Understanding of Large Language Models through Long Input Fine-Tuning)。前者は前述した位置エンコーディング改良や長文学習、メモリ拡張などモデルアーキテクチャ・パラメータ側の対策であり、後者は外部知識や前処理(検索・要約など)による対応である。現状では両者を組み合わせるのが現実的であり、例えばモデルのコンテキスト長を適度に拡張しつつ、超えた部分は検索・要約で補うといったハイブリッド戦略が用いられる。OpenAIやAnthropicの最新モデルが32K・100Kといった文脈長を実現している背景には、位置エンコーディングやモデルサイズの工夫に加え、大量の長文データでの微調整、さらには長文入力時の応答品質を高めるためのプロンプト設計(重要事項を冒頭に集約する等)など、多方面の改良が投入されている ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models) (Extending LLM context with 99% less training tokens - Cerebras)。今後も、ハードウェアの進展による計算資源増大と相まって、LLMの長文処理能力は総合的な改善が進むと予想される。
おわりに
本稿では、大規模言語モデル(LLM)が訓練時の想定を超える長文入力やコンテキスト欠落状況に直面した際に生じる課題と、その解決に向けた最新研究について概観した。LLMは従来、数千トークン程度の文脈で最適化されてきたため、より長い文脈に対しては性能劣化や出力崩壊が顕著になる ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models) ([2404.06654] RULER: What's the Real Context Size of Your Long-Context Language Models?)。長距離の依存関係を捉え損ね、一貫性のない回答や矛盾を含む回答を生成してしまう問題は、モデル内部の注意機構や表現空間が訓練分布から外れることに起因する ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models) ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models)。こうした問題を定量的に把握するため、近年はRULERや∞Bench、LoCoMoといったベンチマークによる評価研究が活発化し、モデルの有効文脈長の限界や長文タスクでのボトルネックが明らかにされつつある ([2404.06654] RULER: What's the Real Context Size of Your Long-Context Language Models?) (∞Bench: Extending Long Context Evaluation Beyond 100K Tokens - ACL Anthology) (Evaluating Very Long-Term Conversational Memory of LLM Agents)。その知見を踏まえ、研究者らは位置エンコーディング手法の工夫(RoPEのスケーリングや学習不要なALiBiの導入等)、長文コーパスでの追加事前学習やデータ拡張(RAFTによる効率的学習など)、外部メモリ・検索の併用(RAGや圧縮メモリによる長期記憶保持)といった多角的な解決策を追求している。 ([2306.15595] Extending Context Window of Large Language Models via Position Interpolation) (Extending LLM context with 99% less training tokens - Cerebras) (LIFT: Improving Long Context Understanding of Large Language Models through Long Input Fine-Tuning) 特に2024年末から2025年初頭にかけては、長文対応モデルの競争が激化しており、Metaの研究チームはLlama系列で128K文脈に対応するモデル群を公開しつつある (Extending LLM context with 99% less training tokens - Cerebras)ほか、NAACL 2024では学習なしで200M長まで一般化可能とする手法がOutstanding Paperに選ばれるなど ([2308.16137] LM-Infinite: Zero-Shot Extreme Length Generalization for Large Language Models)、学術界でも急速に知見が蓄積されている。今後の展望として、モデル自身の改良とシステム面での工夫を融合させることで真に長大なコンテキストを理解・活用できるAIに近づいていくことが期待される。人間が小説や長編対話を理解できるように、LLMも有限のリソースで無限長の文脈を扱えるようにすることはAI研究の一つの究極目標である ([2312.17044] Length Extrapolation of Transformers: A Survey from the Perspective of Position Encoding)。その実現に向け、ここで紹介したような多方面の研究努力が続けられていくだろう。
参考文献(一部抜粋)
【20】 Han et al. 2024. “LM-Infinite: Zero-Shot Extreme Length Generalization for Large Language Models.” NAACL 2024 Outstanding Paper ([2308.16137] LM-Infinite: Zero-Shot Extreme Length Generalization for Large Language Models) ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models)
【31】 Hsieh et al. 2024. “RULER: What’s the Real Context Size of Your Long-Context Language Models?” COLM 2024 ([2404.06654] RULER: What's the Real Context Size of Your Long-Context Language Models?)
【34】 Maharana et al. 2024. “Evaluating Very Long-Term Conversational Memory of LLM Agents.” arXiv 2402.17753 (Evaluating Very Long-Term Conversational Memory of LLM Agents)
【38】 Chen et al. 2023. “Extending Context Window of Large Language Models via Position Interpolation.” arXiv 2306.15595 ([2306.15595] Extending Context Window of Large Language Models via Position Interpolation)
【35】 Lazarevich et al. 2024. “Extending LLM context with 99% less training tokens.” Cerebras Blog (Nov 2024) (Extending LLM context with 99% less training tokens - Cerebras)
【36】 Xu et al. 2025. “LIFT: Improving Long Context Understanding of LLMs through Long Input Fine-Tuning.” arXiv 2502.14644 (LIFT: Improving Long Context Understanding of Large Language Models through Long Input Fine-Tuning)
【29】 Pal et al. 2023. “Giraffe: Adventures in Expanding Context Lengths in LLMs.” arXiv 2308.10882 ([2308.10882] Giraffe: Adventures in Expanding Context Lengths in LLMs)
【17】 Zhang et al. 2024. “∞Bench: Extending Long Context Evaluation Beyond 100K Tokens.” ACL 2024 (∞Bench: Extending Long Context Evaluation Beyond 100K Tokens - ACL Anthology)
【24】 Han et al. 2024. (上掲LM-Infinite論文より) 内部解析 Fig.1 の説明 ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models) ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models)
【27】 Han et al. 2024. (上掲LM-Infinite論文より) 長文での出力劣化に関する指摘 ([2308.16137] \model: Simple On-the-Fly Length Generalization for Large Language Models)
【43】 Li et al. 2023. “LongChat: An Instruction-following Long-context Chatbot.” NeurIPS 2023 Workshop ()
【39】 Hsieh et al. 2024. (上掲RULER論文OpenReview要旨) (RULER: What’s the Real Context Size of Your Long-Context Language Models? | OpenReview)
【8】 Ge et al. 2024. “Model Tells You What to Discard: Adaptive KV Cache Compression for LLMs.” ICLR 2024 (TokenSelect: Efficient Long-Context Inference and Length Extrapolation for LLMs via Dynamic Token-Level KV Cache Selection)
【12】 Yang et al. 2024b. “No Token Left Behind: Reliable KV Cache Compression via Importance-Aware Mixed Precision.” arXiv 2402.18096 (TokenSelect: Efficient Long-Context Inference and Length Extrapolation for LLMs via Dynamic Token-Level KV Cache Selection)
【3】 Wu et al. 2024. “TokenSelect: Efficient Long-Context Inference and Length Extrapolation for LLMs via Dynamic Token-Level KV Cache Selection.” arXiv 2411.02886 (TokenSelect: Efficient Long-Context Inference and Length Extrapolation for LLMs via Dynamic Token-Level KV Cache Selection)
(その他多数)
