HippoRAG: LLMのための神経生物学に着想を得た長期記憶
NeurIPS 2024で発表されたHippoRAGは、知識グラフとパーソナライズドPageRank(PPR)を使用して、人間の海馬が長期記憶をインデックス化する方法を模倣する検索補完生成(RAG)フレームワークです。私がこの論文を読んでいる理由は、これが解決しようとしている核心的な問題、つまり「多数のドキュメントに分散し、事実の連鎖を通じてのみ接続されている情報の検索」が、数年にわたる元帳履歴に関する質問に答える際にBeancountエージェントが直面する問題そのものだからです。
論文の内容
Jiménez Gutiérrez、Shu、Gu、Yasunaga、Suの各氏は、標準的なRAGにおける構造的な失敗モードを特定しました。質問に答える一節がクエリ自体と用語を共有していない場合、埋め込みベースの検索では単に見 つけることができないという点です。彼らはこれを「パス探索(path-finding)」問題と呼んでいます。ドキュメントベクトルに対してクエリ文字列を照合するだけでなく、エンティティの連鎖を辿る必要があるのです。
彼らの解決策であるHippoRAGは、人間の記憶に関する海馬インデックス理論を反映しています。LLM(GPT-3.5-turbo)は、オフラインで各一節から「開かれた情報抽出(OpenIE)」トリプルを抽出し、名詞句のノードと関係の属性を持つスキーマレスな知識グラフを構築します。密な検索エンコーダは、意味的に類似したノード間に類義語エッジを追加します(コサイン類似度 > 0.8)。クエリ時、システムはクエリから固有表現を抽出し、それらのノードからパーソナライズドPageRank(PPR)の伝播を開始させ、メンバーノード全体のPPR確率を集計して一節をランク付けします。ノードがいくつの節に現れるかの逆数である「ノード特異性(node specificity)」ウェイトは、グラフ固有のIDFとして機能します。
主なアイデア
- グラフ固有のIDF: PPR伝播において稀なノードをより重く加重することが、このシステムを機能させる鍵となる洞察です。これがないと、「会社」や「の」といった一般的なエンティティが検索を支配してしまいます。アブレーション調査では、ノード特異性を除外すると、MuSiQueのRecall@2が40.9から37.6に低下することが示されています。
- シングルステップが 反復を上回る: 反復のないHippoRAGは、IRCoT(思考の連鎖推論とインターリーブされた複数の検索ラウンドを実行する手法)と同等の再現率を達成しつつ、クエリ時のコストを10〜30倍安く、速度を6〜13倍速く抑えています。
- 2WikiMultiHopQAでの大幅な向上: Recall@5が68.2(ColBERTv2)から89.1(HippoRAG)に向上しました。この差は、まさにそのベンチマークの質問が持つパス探索構造を反映しています。
- MuSiQueでの緩やかな向上: Recall@5は49.2から51.9への向上に留まりました。MuSiQueはより難易度が高く、多くの質問がグラフのトポロジーだけでは完全に捉えきれない推論を必要とします。
- HotpotQAでの回帰: HippoRAGはHotpotQAにおいてColBERTv2を下回りました(Recall@2: 60.5対64.7)。HotpotQAの質問は通常、密接に関連する2つの一節から解決可能であり、これはグラフ探索よりも埋め込み検索の強みが活きるパターンです。
- OpenIEの品質がボトルネック: アブレーション調査では、抽出にLlama-3-70Bを使用すると、フォーマットエラーによりパフォーマンスが「低下」した一方で、Llama-3-8BはGPT-3.5-turboと遜色ない結果となりました。既製の抽出ツールは壊れやすいのが現状です。
何が有効で、何がそうでないか
結果は本物です。マルチホップの連鎖を中心に設計された2WikiMultiHopQA では、グラフ探索が密な検索を大差で上回っています。PPRアプローチはエレガントです。クエリエンティティから伝播を開始し、グラフに近傍を埋めさせる手法は、クエリと支持する一節の間の分布の不一致を処理するための原理的な方法です。
一方で、神経生物学的な枠組みにはあまり説得力を感じません。この論文は、PageRankと海馬のCA3領域の活動の類似性を描き、人間の単語想起確率とPageRankスコアの間の相関を発見した認知科学の研究を引用しています。しかし、それは心理言語学からの相関的な観察であり、導出ではありません。PPRは海馬の生理学から設計されたわけではなく、これを「神経生物学に着想を得た」と呼ぶのは、メカニズムというよりはブランディングの側面が強いでしょう。
効率性に関する主張も精査が必要です。シングルステップのHippoRAGは、オンラインではIRCoTよりも10〜30倍安価ですが、オフラインのインデックス作成コスト(すべてのドキュメントからOpenIEトリプルを抽出するためにGPT-3.5-turboを実行するコスト)は、初期費用として相当なものになります。頻繁に変更されるコーパスの場合、更新のたびにこのコストが発生します。論文では総インデックス作成コストについては報告されていません。
最後に、ベンチマークは中規模(6,000〜11,000の一節、10万ノード未満のグラフ)です。著者らは、スケーラビリティを未解決の課題として明示的に挙げています。PPRが、数十年にわたる数十万の元帳エントリに対して有効かどうかは検証されていません。
なぜこれが金融AIにとって重要 なのか
Beancountの元帳は、勘定科目の階層、取引の参照、ルールの相互参照、予算の配分といった事実の連鎖です。「請求書 #INV-2019-0042 と同じ予算カテゴリに属する2022年の支出はどれか?」といった質問には、勘定科目、取引、カテゴリのグラフを辿る必要があります。これは、まさに標準的なRAGが失敗するパス探索タスクです。
HippoRAGのインデックス設計は自然に適合します。元帳エントリ(勘定科目、金額、取引先、ルール)からエンティティ・リレーションのトリプルを抽出し、グラフを構築して、クエリエンティティを起点にPPRを実行します。ノード特異性の加重は、「支出」や「資産」といった一般的なノードを自然に軽視し、稀なベンダー名や勘定科目コードを重視することになります。これはまさに望ましい動作です。
Beancountにおける実用上の障害は、増分更新のコストです。新しい取引が発生するたびにノードとエッジが追加されます。新しいエントリに対してOpenIE抽出を再実行することは可能ですが、PPRの計算量はグラフのサイズに比例して増大します。後継のHippoRAG 2(arXiv:2502.14802)では、連想タスクでさらに7%の改善を謳っていますが、スケーラビリティの問題は依然として残っています。数百万の取引がある元帳の場合、このアプローチを導入する前に解決すべきエンジニアリング上の課題となるでしょう。
次に読むべきもの
- GraphRAG (Edge et al., arXiv:2404.16130) — PPRを実行するのではなく、グラフコミュニティを要約するMicrosoftの代替案。広範なテーマに関する質問に適しており、HippoRAGのエンティティ連鎖アプローチとは対照的で有用です。
- RAPTOR (Sarthi et al., arXiv:2401.18059) — RAGのための再帰的な抽象化ツリー構造。HippoRAGはマルチホップのベンチマークでこれに勝っていますが、グラフ探索が適切な枠組みではない広範囲の要約タスクでは、RAPTORの方が優れている可能性があります。
- IRCoT (Trivedi et al., arXiv:2212.10509) — HippoRAGがより低いコストで匹敵すると主張している反復検索のベースライン。10〜30倍の効率性という主張が実際に何を比較しているのかを理解するために一読の価値があります。
