AI・機械学習
上級
LongMem(ロングメム)
LLMのコンテキスト全体を長期記憶バンクに格納し、検索強化型生成(RAG)でコンテキスト外の過去情報を参照可能にする研究フレームワーク。Transformerの2段階アーキテクチャでメモリ検索と生成を統合する。
0 回閲覧
0 いいね
2026/6/7 更新
関連タグ
LLMメモリ
RAG
長期文書参照
検索強化
LongMem
LongMem — 検索強化型長期記憶LLMフレームワーク
概要
LongMemは2023年にNUS(シンガポール国立大学)とByteDanceが共同発表したLLM長期記憶研究。LLMのコンテキストウィンドウを「作業記憶」、外部メモリバンクを「長期記憶」と見立て、Side Memory Encoderが両者を橋渡しするアーキテクチャを提案した。従来のRAGが文書検索に特化していたのに対し、LongMemは会話全体・コード全体・長大な書き起こし等を対象とした「コンテキスト全体の長期記憶化」を目指している。
コンテキストウィンドウの限界
| モデル | コンテキスト上限 | 相当する文書量 |
|---|---|---|
| GPT-3.5(旧) | 4K tokens | A4 8ページ |
| GPT-4 Turbo | 128K tokens | A4 250ページ |
| Gemini 1.5 Pro | 2M tokens | A4 3,900ページ |
| Claude 3.5 Sonnet | 200K tokens | A4 390ページ |
実際のビジネス文書(年次報告書/法律文書/ソフトウェアリポジトリ)は数百万〜数千万tokensになることがあり、最大のコンテキストでも収まらない。
アーキテクチャ
メモリバンク(Memory Bank)
- 過去の会話ターン・文書チャンクを順次格納
- 各記憶は埋め込みベクトルとテキストのペアで保存
- 容量制限なし(ストレージが許す限り)
Side Memory Encoder(SME)
- Transformerのアテンション機構を使った独立したEncoder
- クエリコンテキストからメモリバンクを検索
- 上位k件の関連記憶を取得してLLMのコンテキストに統合
Residual Side-Tuning
- 事前学習済みLLMのウェイトを凍結してSMEのみファインチューニング
- 計算コストを抑えながらメモリ参照能力を付与
- 元のLLM性能を保持したまま長期記憶機能を追加
技術仕様
| 要素 | 詳細 |
|---|---|
| 発表 | 2023年(arXiv: 2306.07174) |
| 著者 | Wang Jiuyang et al. (NUS / ByteDance) |
| ベースモデル | LLaMA / BLOOM 等 |
| メモリバンク | FAISS(ANN検索) |
| 埋め込みモデル | Sentence-BERT / DPR |
| 学習方式 | Residual Side-Tuning(LLMは凍結) |
| 評価データセット | QuALITY / BENCH / LongBench |
RAGとの違い
| 観点 | 標準RAG | LongMem |
|---|---|---|
| 対象 | 外部文書DB | 会話履歴・コンテキスト全体 |
| 記憶単位 | 文書チャンク | 会話ターン / パラグラフ |
| チューニング | 不要 | Side Memory Encoderのみ |
| 動的記憶更新 | 文書追加で更新 | 会話ごとにリアルタイム追加 |
| コンテキスト統合 | Prompt先頭に追加 | Attention機構で統合 |
ベンチマーク評価
論文内でのLongBench・QuALITYベンチマーク結果:
- 長期依存タスク(10,000+ tokens先の情報参照)でベースラインRAGより+8〜15% Exact Match改善
- コンテキスト全入力(GPT-4等)に比べ推論コスト1/5以下
- メモリバンク100万ターン規模でも検索レイテンシ < 100ms(FAISS IVF)
実用上の課題
- 学習コスト: Side Memory Encoderのファインチューニングが必要なため、完全ゼロショット利用は難しい
- 記憶の陳腐化: 矛盾する古い記憶を自動削除する機構がなく、Mem0のような自動更新には対応していない
- スケーラビリティ: メモリバンクが巨大化するとANN検索の精度が落ちる可能性がある
まとめ
LongMemはRAGの考え方を会話履歴・長期コンテキスト管理に拡張した研究で、Transformerの内部アーキテクチャレベルでメモリ統合を行う点が独自性を持つ。実用ライブラリというよりは研究上の参照点であり、LLMメモリ設計を深く学ぶ際に理解しておきたいフレームワーク。