10月9日、Sietse Schelpeが「Real Long-Term Memory for AI: A 50-Million-Token Window That Is Faster and Cheaper Than Recompute」と題した論文を公開した。LLMのKey-Value(KV)状態をNVMe SSDに保存・再利用することで、5000万トークン規模の長期メモリを単一GPUで実現する手法が提案されている。
「再計算しない」という発想
LLMの長文対応を巡っては、ここ数年でGPT-4oの128kトークン、Geminiの100万トークンと、コンテキストウィンドウの拡大競争が続いてきた。しかし単純なウィンドウ拡張は推論コストの爆発と隣り合わせだ。一方、RAG(Retrieval-Augmented Generation)はコストを抑えられるが、外部検索を挟む分、厳密な「全文を読んだ上での回答」とは異なる。
この論文が提案する手法は、その中間を狙う。LLMはプロンプトを受け取るたびにKV状態を一から計算し直すが、その計算結果をそのままSSDに保存しておき、次回以降はディスクから読み戻すというアプローチだ。約16,000トークン単位のブロックごとにKV状態をローカルのNVMe SSDに保存し、必要なときにバイト単位で完全一致の状態を復元する。実装には公開パッケージgalahad-kvが使われており、シングルGPUで再現可能な手順が提供されている。
実験の規模と結果
実験は5000万トークンの実際の公開テキストを対象に実施された。環境は以下のとおりだ。
- モデル:Gemma 4 12B / 31B(Googleのオープンモデルシリーズ)
- 推論サーバー:vLLM
- ハードウェア:NVIDIA H100 × 1枚
検証したブロック100個すべて(深さ0〜5000万トークン)でKV状態の再利用に成功した(100/100)。
パフォーマンスの数字は以下のとおりだ。
| 指標 | 結果 |
|---|---|
| ブロック読み込み速度 | 再計算比 2.8〜4.3倍高速 |
| GPU消費エネルギー | 再計算比 8.8〜12.3倍削減 |
| GPUメモリ使用量 | 5000万トークン通じてフラット(増加なし) |
GPUメモリが増えないのは実用上重要な特性だ。コンテキストウィンドウを拡張する手法では通常メモリが線形に増えるが、この手法では1ブロックずつ読み込む設計のため、メモリ使用量が一定に保たれる。
「数百万トークン前の事実」を正しく答えられるか
長期記憶の実用性を測る最も直感的な問いは「ずっと前に与えた情報を正確に引き出せるか」だ。
この論文ではそれを直接検証している。数百万トークン以上前に埋め込んだ事実を問う質問に対し、
- 12Bモデル:100問中82問正解
- 31Bモデル:100問中98問正解
そして特筆すべきは、どちらのモデルも「でたらめな答え(ハルシネーション)」を生成しなかった点だ。答えられないときは答えないという挙動を示した。
なお、評価プロトコルには長文コンテキストベンチマークで問題視されてきた「抜け道」——たとえばモデルがコンテキストを実際には参照せずに答えを当てられるような設計上の穴——を塞いだ設計が採用されており、ベンチマーク操作への耐性も意識されている。
制約と現実的なコスト
論文自体が正直に制約を列挙している。
- 注意機構(Attention)の拡張ではない。 一度に読み込めるのは1ブロック(約16,000トークン)のみ。どのブロックを読むかは別途決定が必要で、質問への回答精度はモデルの能力に依存する。
- ストレージがテラバイト規模になる。 KV状態の書き込みは一度きりのコストだが、5000万トークン分を保存するにはローカルNVMe SSDがテラバイト単位で必要だ。
- ローカルNVMe前提。 ネットワーク越しのストレージでは速度優位が消える可能性がある。
「RAGより厳密だが、ウィンドウ拡張より安い」という位置付けを求めるユースケース——たとえば大規模コードベースの継続的な理解や、長期にわたるドキュメント管理——では実用的な選択肢になり得る。一方、リアルタイム性が求められるサービスや、ネットワークストレージしか使えない環境では現時点では適用が難しい。
詳細はReal Long-Term Memory for AI: A 50-Million-Token Window That Is Faster and Cheaper Than Recomputeを参照していただきたい。