今回の論文
今回取り上げるのは、Ali Behrouz、Peilin Zhong、Vahab Mirrokni による論文「Titans: Learning to Memorize at Test Time」です。2024年12月31日に arXiv で公開されました。公開元は arXiv、研究分野は長文系列モデリング、メモリ拡張アーキテクチャ、LLM 基盤モデルです。URL は https://arxiv.org/abs/2501.00663 です。
この論文を選んだ理由は、長文対応を「コンテキストをただ広げる競争」で終わらせず、短期記憶と長期記憶を役割分担させる設計として提案しているからです。長文 RAG、長期対話エージェント、ログ解析、時系列解析などに応用の発想が広がりやすく、開発上のヒントが多い論文です。
どんな技術か
Titans は、Transformer の attention を短期記憶として残しつつ、別のニューラルメモリを長期記憶として追加するアーキテクチャです。
通常の Transformer は、現在のコンテキストウィンドウ内にあるトークン同士の関係を非常にうまく扱えます。一方で、文脈が長くなるほど計算量は重くなり、しかもウィンドウ外の過去は直接参照できません。逆に RNN や状態空間モデルのような再帰系は長く流せますが、すべてを小さな状態に圧縮する必要があり、細かい依存関係を落としやすいです。
Titans はこの中間を狙っています。今見えている近い文脈は attention で精密に処理し、遠い過去は「推論時にも更新される長期メモリ」に保存して必要に応じて取り出します。言い換えると、Transformer の得意な局所理解は残しつつ、長距離の記憶だけ別モジュールに逃がす設計です。
課題
この技術が解決しようとしているのは、長い文脈を扱いたい AI システムで、Transformer だけでも再帰モデルだけでも不十分になりやすいという課題です。
何が難しいのかというと、長文タスクには2種類の要求が同時にあるからです。ひとつは、直近の数百から数千トークンの細かい依存関係を精密に見ることです。もうひとつは、かなり前に出てきた情報を忘れず保持し、必要なときに呼び戻すことです。この2つは似ているようで、実際には求められるメモリ構造がかなり違います。
既存の方法ではどこに限界があるのかというと、Transformer は長くなるほど計算とメモリ消費が重くなりますし、線形 attention や RNN 系は長さに強くても、情報を固定サイズの状態に押し込めるぶん、細かい想起や複雑な状態追跡で苦しくなりやすいです。単純にコンテキスト長を伸ばすだけでは、効率と実効性能が両立しない場面があります。
なぜこの課題を解く必要があるのかというと、実際の AI アプリでは「長い入力」はむしろ普通になってきているからです。社内ドキュメント検索、コードベース読解、長い対話履歴、複数ツールをまたぐエージェント、時系列監視、DNA やセンサーデータ処理などでは、長距離依存を扱えないと品質がすぐ頭打ちになります。
実際の AI システムでは、長文 RAG で序盤に出た定義を終盤の質問で使えない、エージェントが以前見た中間結果をうまく保持できない、時系列モデルが遠い周期性や異常の前兆を取り逃がす、といった形で問題になります。Titans はこの問題に対して、「すべてを attention で持つ」のでも「全部を圧縮状態へ押し込む」のでもない第三の選択肢を出しています。
用語解説
- 短期記憶(short-term memory)
- この記事では主に attention が担う役割です。現在のコンテキスト内の細かい依存関係を精密に扱う部分で、Titans はこれを捨てずに残している点が重要です。
- 長期記憶(long-term memory)
- 遠い過去の情報を圧縮しつつ保持するための記憶です。Titans では、これを固定の hidden state ではなく、推論時にも重み更新されるニューラルモジュールとして実装しています。
- Test-time learning
- 学習済みモデルを推論時にまったく固定せず、その場で一部を更新しながら使う考え方です。Titans の核心で、過去文脈をメモリの重みに書き込む発想につながっています。
- Sliding Window Attention
- すべての過去を見る代わりに、近い範囲だけ attention する方式です。Titans はこの局所 attention と長期メモリを組み合わせることで、計算量と想起性能の両立を狙います。
- Needle-in-a-Haystack
- 長いノイズ文書の中から必要な情報を取り出せるかを測る長文評価です。Titans が本当に長距離情報を保持できているかを見るうえで重要なベンチマークです。
技術の仕組み
Titans の面白さは、長期記憶を単なるキャッシュや外部DBではなく、モデル内部のニューラルメモリとして持たせ、そのメモリを推論時に更新するところです。
基本アイデア
論文の中心的な見方は、attention は「短期記憶」として優秀だが、長い過去を抱え続ける仕組みとしては重い、というものです。そこで Titans は、attention とは別に長期記憶専用のニューラルメモリを用意します。
この長期メモリは、過去情報をただ蓄積するのではなく、今入ってきた情報がどれだけ「驚き」を持つかに応じて更新されます。つまり、予想どおりのありふれた入力より、現在の記憶ではうまく説明しきれない入力を強く覚える設計です。
長期メモリは「重み」に書き込まれる
Titans の長期メモリは、外部メモリバンクというより小さなニューラルネットワークです。過去の情報はこのネットワークの重みに書き込まれます。新しい入力が来るたびに、連想記憶の損失に対する勾配を使ってメモリを更新します。
論文では、この更新量を surprise とみなしています。メモリがその入力をうまく再現できないほど勾配が大きくなり、その入力は「覚える価値が高い」と判断されます。これは人間が予想外の出来事を覚えやすい、という発想に近いです。
重要なのは「その場の驚き」だけではなく「過去の驚きの残り」
更新式には、現在の勾配だけでなく、過去の surprise を引きずる momentum が入っています。これにより、単発で大きい入力だけでなく、連続して重要な流れ全体を保持しやすくしています。
さらに weight decay に相当する忘却も入っています。覚えるだけではメモリがすぐ飽和するので、古くなったり重要度が下がったりしたものは徐々に薄めます。論文では、この仕組みが modern recurrent model の forgetting を一般化したものだと位置づけられています。
3つの Titans 変種
論文では、長期メモリを組み込む方法として主に3つの変種を提案しています。
Memory as a Context(MAC)
MAC は、現在の入力セグメントをクエリとして長期メモリから関連情報を取り出し、その retrieved memory と persistent memory を現在の入力と一緒に attention に渡す方式です。短期の精密な理解と、過去から取り出した関連記憶を同じ文脈で統合できるのが強みです。
Memory as a Gate(MAG)
MAG は、sliding window attention の出力と長期メモリの出力をゲートで混ぜる方式です。現在の局所文脈を見る branch と、長期記憶を見る branch を並列に走らせ、その場でどちらをどれだけ使うか調整します。実装感覚としては、長期メモリをもうひとつの head のように扱うイメージに近いです。
Memory as a Layer(MAL)
MAL は、長期メモリを attention の前段レイヤーとして挿入する方式です。構造は比較的わかりやすいですが、attention と長期メモリが逐次にしか作用しないため、論文では MAC や MAG より表現力の面でやや不利だと議論されています。
Persistent Memory も加える
Titans には、入力依存で更新される長期メモリとは別に、persistent memory という固定パラメータ群もあります。これはタスクに関する安定した知識を持つ領域で、言い換えると「その場で覚える記憶」と「事前学習で身につけた知識」を分けています。
この分離は実務的にも重要です。毎回の入力から得る一時的な知見と、モデルが元から持っている一般知識を別扱いにすることで、過去文脈の保存先が明確になります。
処理の流れ
全体の流れは次のように理解するとわかりやすいです。まず現在の入力近傍は sliding window attention で細かく処理します。同時に、現在の入力を手がかりに長期メモリから過去情報を取り出します。そのうえで両者を統合して出力を作り、さらにその出力や入力に基づいて長期メモリ自体を更新します。
つまり Titans は、読む、思い出す、統合する、また覚える、という循環を1つのアーキテクチャに埋め込んでいます。RAG のように外部検索を明示的に回すわけではありませんが、発想としては「内部に学習型のメモリ層を持つ」モデルです。
実験と結果
論文では、言語モデリング、常識推論、Needle-in-a-Haystack、BABILong、DNA モデリング、時系列予測で評価しています。単一タスク専用ではなく、長距離依存が効く複数領域で性能を見ている点が特徴です。
何を検証したのか
主に検証しているのは3点です。ひとつは、通常の Transformer や Mamba 系、TTT 系よりも言語 modeling と reasoning が改善するか。ふたつ目は、長文で本当に必要な情報を取り出せるか。三つ目は、長期メモリの入れ方によって性能と効率のトレードオフがどう変わるかです。
どんなデータセットや評価指標を使ったのか
言語モデリングでは WikiText や long-range 系の perplexity を見ています。常識推論では PIQA、HellaSwag、WinoGrande、ARC、SIQA、BoolQ などを使っています。長文記憶では RULER の Single Needle-in-a-Haystack と BABILong を使い、時系列では SiMBA 系のベンチマーク、DNA ではエンハンサーやプロモーター関連の分類タスクを評価しています。
指標は、言語モデリングでは perplexity、推論では accuracy、長文 retrieval でも accuracy が中心です。つまり「速そうか」ではなく、「長文で実際に思い出せるか」をかなり直接に測っています。
言語モデリングと常識推論で既存再帰系を上回った
400M パラメータ帯では、Titans (MAG) が WikiText perplexity 23.59、Long-range 側 perplexity 27.81、総合 reasoning 平均 48.60 を出しています。Titans (MAC) も reasoning 平均 48.65 と高く、Mamba2 の 46.91、Gated DeltaNet-H2 の 47.69 を上回っています。
760M パラメータ帯でも、Titans (MAC) は reasoning 平均 52.51、Titans (MAG) は 52.50 で、Samba の 51.08 や Gated DeltaNet-H2 の 51.49 を上回っています。ここから言えるのは、Titans は「長文専用の特殊モデル」というより、通常の言語理解や推論でも競争力を保っているということです。
Needle-in-a-Haystack では長さが伸びても精度低下が小さい
RULER の S-NIAH では、長さが 16K に伸びた条件でも Titans がかなり安定しています。たとえば S-NIAH-N で Titans (MAC) は 97.4%、Titans (MAG) は 98.6% でした。一方、TTT は 4.4%、Mamba2 は 0.0%、DeltaNet は 5.4% まで落ちています。
S-NIAH-W でも 16K 時点で Titans (MAC) は 95.2%、Titans (MAL) は 90.4% を維持していますが、TTT と Mamba2 は 0.0% でした。長文での retrieval が伸びるほど効く、というより、長くしても壊れにくいのが Titans の強みだと読めます。
BABILong では大きなモデル群とも競争できた
論文では、より難しい BABILong でも Titans (MAC) が few-shot 設定で既存ベースラインや GPT-4 などを上回ったと報告しています。本文中では、より大きなモデルより少ないパラメータ数でも良い結果が出たと述べています。
この部分は図中心の提示で、本文にすべての数値が細かく並んでいるわけではありません。ただ、著者の主張としては「単純な一発 retrieval より、長期メモリ込みの状態追跡が複雑な長文 reasoning に効く」という点がかなり強いです。
変種ごとの差も見えた
アブレーションでは、400M 帯で MAC が reasoning 48.65、長文 97.95、MAG が reasoning 48.60、長文 96.70、MAL が reasoning 47.87、長文 96.91 でした。単独の長期メモリ LMM は 46.97、85.34 にとどまっています。
この結果から、長期メモリだけを持てばよいのではなく、attention との組み合わせ方がかなり重要だとわかります。特に MAC は、現在文脈に関連した過去記憶をコンテキストとして読み込む設計が効いていると考えられます。
何に使える?
Titans は「2M トークンをそのまま読む巨大モデルを作る」以外の道として、かなり多くの応用可能性があります。
長文 RAG の内部モデル
長文 RAG では、取得した文書群の中に重要情報が散らばっていることが多いです。Titans 的なメモリ設計を使えば、全部を常時 attention で保持しなくても、重要な過去情報だけを長期メモリ側へ残しながら読めます。外部検索のあとに大量文書を読む reader モデルとして相性がよさそうです。
長期対話エージェント
対話エージェントでは、過去の会話履歴を毎回全部プロンプトへ入れるのは高コストです。Titans の考え方は、最近の数ターンは短期記憶で精密に見て、古い履歴は長期メモリへ圧縮保持する設計に近いです。実際に商用エージェントでそのまま Titans を使うかは別として、メモリ階層化の発想はかなり参考になります。
コード読解やログ解析
大きいコードベースや長い障害ログでは、かなり前の定義やイベントが後の判断に効きます。Titans のように「近い局所構造は attention、遠い因果は長期メモリ」で処理する設計は、複数ファイル解析や長い実行ログ追跡と相性がよいはずです。ここは論文の直接実験ではないため推測を含みますが、構造的にはかなり自然な応用先です。
時系列やセンサーデータ
論文自体が時系列予測でも評価しているので、周期性や異常前兆のような遠い依存が効く問題にも向いています。IoT、需要予測、設備監視など、長い履歴を持つが毎回全履歴を重く見たくない領域で特に応用しやすいです。
開発や事業へのヒント
この論文から得られるヒントは、長文対応を「もっと長い context を積む」だけで考えないことです。記憶の役割分担を設計するだけでも、プロダクトのアーキテクチャはかなり変わります。
短期文脈と長期記憶を別モジュールで考える
自分で AI アプリを作るなら、最近のやり取りと古い履歴を同じ扱いで送る設計は見直す価値があります。直近は高精度に見る、遠い過去は要約や状態として保持する、という分離は、プロンプト設計やメモリ設計にもそのまま応用できます。
重要情報だけを残す仕組みが差別化になる
Titans は surprise の大きい情報をより強く記憶します。プロダクト側でも、すべてを保存して毎回参照するのではなく、変化点、例外、ユーザー固有情報、未解決タスクのような「後で効く情報」だけを昇格保存する設計が有効です。
RAG の次は「メモリ付き Reader」
既存サービスの改善という観点では、検索器ばかり強くしても、読解器が長文をうまく扱えなければ頭打ちになります。今後は retrieve のあとでどう読み、何を残し、次にどう使うかという reader 側のメモリ設計が重要になるはずです。
小規模プロダクトでも考え方だけ取り込める
Titans をそのまま再現学習しなくても、階層メモリの思想は使えます。たとえば、直近履歴はそのまま、重要な古い事実は structured memory に保存し、残りは検索可能ストアへ逃がすといった構成です。これは小規模 SaaS や社内ツールでも十分実装可能です。
限界
まず、Titans は発想として魅力的ですが、通常の Transformer より実装が複雑です。推論時にメモリ重みを更新するため、学習と推論の境界がやや曖昧になり、実装や最適化の難度は上がります。
次に、長期メモリが万能というわけではありません。何を覚えて何を忘れるかは更新則に依存するため、ドメインやデータ分布が変わると最適な挙動も変わる可能性があります。surprise ベースの更新が常に最良とは限りません。
また、論文は非常に良い長文結果を示していますが、まだ arXiv 段階の研究であり、巨大商用 LLM の本番サービングにそのまま広く載っているわけではありません。大規模運用での安定性、KV キャッシュ系最適化との相性、分散推論での扱いやすさは今後の検証が必要です。
さらに、BABILong などでは強い結果が出ていますが、実務の長文タスクは検索ノイズ、文書品質のばらつき、マルチモーダル入力、ツール使用などが絡みます。外部知識ベースと組み合わせたときにどこまで効くかは追加評価が必要です。
最後に、長期メモリの重み更新は魅力的である一方、推論の再現性やデバッグの難しさも増やします。ある入力列を通したあとにメモリ状態がどう変わったかを追跡しないと、不具合解析が難しくなる可能性があります。
よくある質問
Q. Titans は Transformer を置き換える技術ですか?
A. 完全な置き換えというより、Transformer の弱点である長期記憶を補う設計です。attention 自体は残しており、近い文脈の精密な理解は引き続き Transformer 的な処理に頼っています。
Q. RAG があれば Titans のような長期メモリは不要ですか?
A. 不要とは言い切れません。RAG は外部から情報を取ってくるのが得意ですが、取得後に大量文書をどう読み、何を保持するかは別問題です。Titans はその「読む側の長期記憶」を改善する発想として見られます。
Q. 推論時に重みを更新すると遅くなりませんか?
A. 一定の更新コストは増えます。ただし論文の狙いは、全履歴を重い attention で抱え続けるより、局所 attention と長期メモリ更新を組み合わせたほうが長文では効率的になる、という点です。どの程度得かは実装とタスク次第です。
Q. どの変種が実務に近そうですか?
A. 論文結果だけを見ると MAC と MAG が有力です。特に MAC は、現在文脈に応じて過去記憶を取り出して attention に渡すので、RAG やエージェントの reader 設計にも発想を移しやすいです。
Q. 小規模チームが今すぐ使える学びは何ですか?
A. 長期記憶を1つの巨大プロンプトとして持つのではなく、直近文脈、重要な状態、検索可能な履歴を分けることです。Titans の本質は「全部見る」から「役割ごとに覚える」への発想転換にあります。
今日の学び
この論文は、Transformer が長文で重くなり、再帰モデルは長い情報をうまく圧縮しきれないという課題を扱いました。
それに対して Titans は、attention を短期記憶、推論時に更新されるニューラルメモリを長期記憶として組み合わせ、必要な過去を覚えて呼び戻す設計で解こうとしました。
そこから得られるヒントは、長文対応の本質はコンテキスト長の拡大だけではなく、何を近くに置き、何を長期記憶へ逃がし、いつ思い出すかを設計することだという点です。