Le hallucination — risposte factually scorrette o inventate — restano uno dei problemi più noti degli LLM. Un articolo di Iván Palomares Carrascosa su KDnuggets illustra GraphEval, un framework proposto in uno studio di ricercatori Amazon che usa i knowledge graph per analizzare e individuare le hallucination, con un esempio di codice leggero e riproducibile.
Come funziona
A differenza delle metriche classiche che restituiscono un singolo punteggio, GraphEval punta sull’explainability: indica dove è avvenuta la hallucination. Il processo ha due stadi. Nel primo, si costruisce un knowledge graph a partire dalla risposta del modello, sotto forma di triple semantiche (Soggetto, Relazione, Oggetto), dove soggetti e oggetti sono nodi e le relazioni sono archi.
Nel secondo, ogni tripla viene valutata contro un contesto di riferimento (una base di conoscenza considerata ground truth) tramite un modello di natural language inference (NLI). Qualsiasi tripla che il contesto non riesce a “entail” — perché contraddittoria o neutra — viene segnalata come hallucination.
L’esempio pratico
L’autore semplifica gli stadi computazionalmente onerosi. Definisce un source_context come ground truth, poi una risposta dell’LLM che contiene volutamente un’affermazione falsa (GraphEval richiederebbe “un costoso server farm enterprise”). Le triple estratte vengono passate a un modello NLI pubblico di Hugging Face (cross-encoder/nli-deberta-v3-small), che confronta ciascuna ipotesi con il contesto: tutto ciò che non è “entailment” è marcato come hallucination.
Il risultato è quello atteso: le due triple corrette risultano “grounded” (entailment), mentre quella sul server farm viene etichettata come hallucination con output NLI “neutral”. Una visualizzazione con networkx colora infine gli archi in verde o rosso, trasformando la valutazione in una mappa leggibile delle hallucination.
Il valore, per chi porta LLM in produzione, è metodologico: in un sistema reale il ground truth arriverebbe dal vector database di una pipeline RAG, e GraphEval diventerebbe uno step di pre-processing per diagnosticare e localizzare gli errori factuali invece di limitarsi a misurarli con un punteggio aggregato.
In sintesi
- GraphEval rappresenta la risposta dell’LLM come knowledge graph di triple e le verifica una a una.
- Un modello NLI segnala come hallucination ogni tripla non “entailed” dal contesto di riferimento.
- L’approccio è pensato per localizzare le hallucination, integrabile con pipeline RAG.
Fonte: Language Model Hallucination Evaluation with GraphEval — https://www.kdnuggets.com/language-model-hallucination-evaluation-with-grapheval
Hai qualcosa da aggiungere? Unisciti alla discussione.