HippoRAG, pubblicato a NeurIPS 2024, è un framework di generazione aumentata da recupero che usa un grafo della conoscenza e Personalized PageRank per imitare come l'ippocampo umano indicizza i ricordi a lungo termine. Lo sto leggendo perché il problema centrale che affronta—recuperare informazioni distribuite su molti documenti e collegate solo attraverso catene di fatti—è esattamente il problema che un agente Beancount affronta quando risponde a domande su storie di registri contabili pluriennali.
L'articolo
Jiménez Gutiérrez, Shu, Gu, Yasunaga e Su identificano una modalità di fallimento strutturale nella RAG standard: se i passaggi che rispondono a una domanda non condividono alcun termine con la query stessa, il recupero basato su embedding semplicemente non li trova. Lo chiamano il problema del path-finding—è necessario attraversare una catena di entità, non solo confrontare una stringa di query con un vettore documentale.
La loro soluzione, HippoRAG, rispecchia la teoria dell'indicizzazione ippocampale della memoria umana. Un LLM (GPT-3.5-turbo) estrae offline triple Open Information Extraction (OpenIE) da ogni passaggio, costruendo un grafo della conoscenza senza schema di nodi a frase nominale e archi relazionali. Un encoder di recupero denso aggiunge archi di sinonimia tra nodi semanticamente simili (similarità coseno > 0.8). Al momento della query, il sistema estrae entità nominate dalla query, avvia una propagazione Personalized PageRank (PPR) da quei nodi, e classifica i passaggi aggregando le probabilità PPR attraverso i loro nodi membri. Un peso di "specificità del nodo"—l'inverso del numero di passaggi in cui un nodo appare—funziona come un IDF nativo del grafo.
Idee chiave
- IDF nativo del grafo: pesare i nodi rari più pesantemente nella propagazione PPR è l'intuizione che fa funzionare il sistema. Senza di esso, entità comuni come "azienda" o "il" dominerebbero il recupero. Le ablazioni mostrano che rimuovere la specificità del nodo riduce il Recall@2 su MuSiQue da 40.9 a 37.6.
- Un singolo passaggio batte l'iterativo: HippoRAG senza iterazione raggiunge un recall comparabile a IRCoT (che esegue più round di recupero intervallati da ragionamento a catena di pensiero), essendo 10–30× più economico e 6–13× più veloce al momento della query.
- Guadagni massicci su 2WikiMultiHopQA: il Recall@5 migliora da 68.2 (ColBERTv2) a 89.1 (HippoRAG). Il divario riflette esattamente la struttura di path-finding delle domande di quel benchmark.
- Guadagni modesti su MuSiQue: il Recall@5 migliora solo da 49.2 a 51.9. MuSiQue è più difficile; molte domande richiedono ragionamenti che la topologia del grafo non può catturare completamente.
- Regressione su HotpotQA: HippoRAG ottiene prestazioni inferiori a ColBERTv2 su HotpotQA (Recall@2: 60.5 vs. 64.7). Le domande di HotpotQA sono generalmente risolvibili da due passaggi strettamente correlati, il che gioca a favore dei punti di forza del recupero basato su embedding piuttosto che della traversata del grafo.
- La qualità dell'OpenIE è il collo di bottiglia: le ablazioni mostrano che usare Llama-3-70B per l'estrazione peggiorava le prestazioni a causa di errori di formattazione, mentre Llama-3-8B era competitivo con GPT-3.5-turbo. L'estrazione standard è fragile.
Cosa regge—e cosa no
Il risultato è reale: su 2WikiMultiHopQA, che è specificamente progettato attorno a catene multi-hop, la traversata del grafo supera di gran lunga il recupero denso. L'approccio PPR è elegante—avviare la propagazione sulle entità della query e lasciare che il grafo riempia il vicinato è un modo principe per gestire la discrepanza distributiva tra query e passaggi di supporto.
Quello che trovo meno convincente è la cornice neurobiologica. L'articolo traccia un'analogia tra PageRank e l'attività CA3 dell'ippocampo, citando uno studio di scienza cognitiva che ha trovato una correlazione tra le probabilità di richiamo di parole umane e i punteggi PageRank. Questa è un'osservazione correlazionale dalla psicolinguistica, non una derivazione. Il PPR non è stato progettato dalla fisiologia dell'ippocampo—chiamarlo "neurobiologicamente ispirato" è più branding che meccanismo.
Anche l'affermazione sull'efficienza merita attenzione. HippoRAG a singolo passaggio è 10–30× più economico online rispetto a IRCoT—ma il costo di indicizzazione offline (eseguire GPT-3.5-turbo per estrarre triple OpenIE da ogni documento) è anticipato e sostanziale. Per un corpus che cambia frequentemente, questo costo viene ripagato a ogni aggiornamento. L'articolo non riporta il costo totale di indicizzazione.
Infine, i benchmark sono su scala media: 6K–11K passaggi e meno di 100K nodi del grafo. Gli autori elencano esplicitamente la scalabilità come una questione aperta. Se il PPR regga su centinaia di migliaia di voci di registro che coprono decenni non è validato.
Perché questo è importante per l'AI finanziaria
Un registro Beancount è una catena di fatti: gerarchie di conti, riferimenti di transazioni, riferimenti incrociati di regole, allocazioni di budget. Una domanda come "quali spese del 2022 rientrano nella stessa categoria di budget della fattura #INV-2019-0042?" richiede di attraversare il grafo di conti, transazioni e categorie—esattamente il compito di path-finding dove la RAG standard fallisce.
Il design di indicizzazione di HippoRAG si mappa naturalmente: estrarre triple entità-relazione dalle voci di registro (conto, importo, controparte, regola), costruire un grafo, poi eseguire PPR avviato dalle entità della query. La pesatura della specificità del nodo ridurrebbe naturalmente il peso di nodi generici come "spese" o "attività" e aumenterebbe quello di nomi di fornitori rari o codici conto, che è esattamente ciò che si desidera.
Il blocco pratico per Beancount è il costo di aggiornamento incrementale. Ogni nuova transazione aggiunge nodi e archi; rieseguire l'estrazione OpenIE sulle nuove voci è fattibile, ma la complessità del PPR scala con la dimensione del grafo. Il follow-up di HippoRAG 2 (arXiv:2502.14802) afferma un ulteriore miglioramento del 7% nei compiti associativi, ma la questione della scalabilità rimane aperta. Per un registro con milioni di transazioni, questo è il problema ingegneristico che dovrebbe essere risolto prima di implementare questo approccio.
Cosa leggere dopo
- GraphRAG (Edge et al., arXiv:2404.16130) — l'alternativa di Microsoft che riassume le comunità del grafo piuttosto che eseguire PPR; migliore per domande tematiche ampie, e un utile contrasto con l'approccio a catena di entità di HippoRAG.
- RAPTOR (Sarthi et al., arXiv:2401.18059) — organizzazione ad albero astrattiva ricorsiva per RAG; HippoRAG lo supera sui benchmark multi-hop, ma RAPTOR potrebbe gestire meglio i compiti di riassunto a lungo raggio dove la traversata del grafo non è la cornice giusta.
- IRCoT (Trivedi et al., arXiv:2212.10509) — la baseline di recupero iterativo che HippoRAG afferma di eguagliare a costo inferiore; vale la pena leggerlo per capire a cosa si confronta realmente l'affermazione di efficienza 10–30×.