Generated Knowledge Prompting (IT)

From Systems analysis Wiki
Jump to navigation Jump to search

Generated Knowledge Prompting (GKP, prompting con generazione della conoscenza) — è un metodo di prompt engineering sviluppato per migliorare la capacità dei grandi modelli linguistici (LLM) di risolvere compiti che richiedono ragionamento e ricorso a conoscenze fattuali[1]. L'idea fondamentale del GKP consiste nel far eseguire al modello il compito in due fasi: prima generare un insieme di fatti rilevanti sull'argomento della richiesta, poi, basandosi su queste conoscenze, formulare la risposta definitiva[2].

Questo approccio consente agli LLM di attivare e utilizzare la propria conoscenza interna parametrizzata, implicitamente codificata in miliardi di parametri ma spesso inaccessibile con le interrogazioni standard. Il GKP risolve il problema per cui i modelli «non sanno ciò che sanno», aiutandoli a collegare fatti sparsi per costruire un'inferenza corretta[2].

Storia e origine

Il metodo Generated Knowledge Prompting è stato presentato per la prima volta nell'articolo scientifico «Generated Knowledge Prompting for Commonsense Reasoning», preparato da un gruppo di ricercatori guidato da Jiacheng Liu. La versione iniziale del lavoro è stata pubblicata nell'archivio di preprint arXiv il 15 ottobre 2021, mentre la versione definitiva è stata presentata alla prestigiosa conferenza Association for Computational Linguistics (ACL) nel 2022[1].

Il GKP è diventato uno dei primi e più significativi metodi a proporre un cambiamento di paradigma nell'interazione con gli LLM, spostando il focus dalla generazione istantanea della risposta a un processo cognitivo in due fasi.

Meccanismo di funzionamento in due fasi

Il meccanismo del GKP suddivide un compito complesso in due sottoprocessi più semplici: l'estrazione delle informazioni rilevanti e il loro successivo utilizzo per l'inferenza.

Fase 1: Generazione della conoscenza (Knowledge Generation)

Nella prima fase si utilizza un modello linguistico («generatore di conoscenza») per creare diversi (M) frammenti di conoscenza rilevanti rispetto alla domanda originale. Questo processo viene avviato tramite la tecnica del few-shot prompting, in cui al modello vengono forniti alcuni esempi per l'apprendimento «in contesto».

Il prompt per la generazione della conoscenza ha una struttura rigorosamente definita:

  1. Istruzione: Un'indicazione generale, ad esempio: «Genera alcuni fatti sull'argomento».
  2. Esempi dimostrativi: Alcune coppie «domanda-conoscenza» scritte da esseri umani. Questi esempi svolgono un ruolo fondamentale, poiché insegnano al modello quale tipo di informazione è considerata utile. La conoscenza generata non deve contenere la risposta direttamente.
  3. Nuova domanda: La richiesta originale dell'utente, per la quale è necessario generare la conoscenza.

Per una singola domanda vengono generati M varianti di conoscenza (nel lavoro originale M=20), al fine di ottenere un insieme variegato di fatti per la seconda fase[1].

Fase 2: Integrazione della conoscenza e formulazione della risposta (Knowledge Integration)

Nella seconda fase si utilizza un altro modello linguistico («modello per l'inferenza»), che può operare sia in modalità zero-shot, sia essere fine-tuned su un compito specifico.

Il processo di integrazione avviene nel modo seguente:

  1. Augmentazione della richiesta: La domanda originale (q) viene combinata in sequenza con ciascuno degli M frammenti di conoscenza generati (km). Il risultato è M+1 richieste augmentate (inclusa la domanda originale senza conoscenza aggiuntiva).
  2. Valutazione e selezione della risposta: Il modello per l'inferenza valuta la probabilità condizionale di ogni possibile variante di risposta (a) per ciascuna richiesta augmentata. La risposta finale è quella variante che ha ottenuto la valutazione di probabilità più alta in almeno una delle richieste.

Questo meccanismo in due fasi introduce una sorta di processo metacognitivo: «Prima di rispondere, rifletti e formula ciò che sai su questo argomento».

Efficacia e risultati dei test

L'efficacia del GKP è stata verificata su una serie di benchmark accademici per la valutazione del ragionamento basato sul senso comune. Il metodo ha mostrato un miglioramento significativo delle prestazioni rispetto agli approcci di base.

Riepilogo dei risultati del GKP sui principali benchmark (dati da Liu et al., 2022)[1]
Nome del benchmark Compito Accuratezza del modello base (%) Accuratezza con GKP (%) Incremento (%)
NumerSense Senso comune numerico 64.05 72.47 +8.42
CommonsenseQA Senso comune generale 39.89 47.26 +7.37
CommonsenseQA 2.0 Senso comune generale 70.20 73.03 +2.83
QASC Senso comune scientifico 76.74 80.33 +3.59

L'incremento maggiore si osserva in modalità zero-shot, il che dimostra la capacità del GKP di attivare efficacemente le conoscenze interne del modello senza un fine-tuning aggiuntivo.

Analisi comparativa con altre tecniche

GKP vs. Chain-of-Thought (CoT)

La differenza fondamentale tra GKP e Chain-of-Thought (CoT) risiede nel tipo di informazione generata:

  • GKP genera conoscenza dichiarativa — fatti, definizioni, affermazioni sul mondo («cosa»). Fornisce al modello contesto aggiuntivo.
  • CoT genera conoscenza procedurale — passi logici, calcoli, sequenza di inferenze («come»). Fornisce al modello il percorso di ragionamento.

In questo modo, il GKP fornisce la base fattuale, mentre il CoT fornisce la struttura logica dell'inferenza[3].

GKP vs. Retrieval-Augmented Generation (RAG)

A differenza del GKP, il metodo Retrieval-Augmented Generation (RAG) utilizza fonti di conoscenza esterne e non parametriche.

  • GKP utilizza conoscenza interna che il modello ha acquisito durante l'addestramento. Induce il modello a «ricordare» ciò che già sa.
  • RAG utilizza conoscenza esterna da database, documenti o internet. Induce il modello a «cercare» informazioni nel mondo esterno.

La scelta tra GKP e RAG dipende dal compito: il GKP è efficace quando le conoscenze richieste sono di dominio pubblico e ben rappresentate nei dati di addestramento, mentre il RAG è indispensabile per dati altamente specializzati, recenti o proprietari.

Limitazioni e rischi

  • Il problema delle «allucinazioni»: Il rischio principale del GKP è la possibilità di generare fatti errati. Se nella prima fase il modello genera un'affermazione falsa, nella seconda fase questa verrà trattata come vera, producendo una risposta sicura ma del tutto errata.
  • Costi computazionali: Il metodo richiede molteplici chiamate all'LLM (M+1 chiamate per una singola richiesta), il che aumenta significativamente la latenza e il costo di utilizzo rispetto al prompting standard.
  • Complessità nella progettazione dei prompt: L'efficacia del GKP dipende fortemente dalla qualità degli esempi few-shot, la cui creazione è un compito non banale e laborioso.

Evoluzione e approcci ibridi

Le idee alla base del GKP hanno fatto da catalizzatore per lo sviluppo di tecniche di prompting più sofisticate e robuste, tra cui:

  • Hint-before-Solving (HSP): Diretto erede concettuale del GKP, che applica il principio in due fasi («prima la conoscenza, poi l'azione») non a una semplice risposta, ma a un processo di ragionamento più complesso nel CoT[4].
  • Verify-and-Edit (VE): Un framework ibrido che risponde al problema delle «allucinazioni» nel GKP e nel CoT. Il VE prima genera una catena di ragionamento (come il CoT), poi verifica automaticamente i fatti chiave tramite ricerca esterna (come il RAG) e modifica il ragionamento prima di generare la risposta finale[5].

Riferimenti

  • Generated Knowledge Prompting nella Prompt Engineering Guide

Bibliografia

  • Liu, J. et al. (2021). Generated Knowledge Prompting for Commonsense Reasoning. arXiv:2110.08387
  • Liu, J. et al. (2022). Generated Knowledge Prompting for Commonsense Reasoning. In *Proc. ACL 2022*. ACL:2022
  • Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903
  • Wang, X. et al. (2022). Self-Consistency Improves Chain-of-Thought Reasoning in Language Models. arXiv:2203.11171
  • Fu, J. et al. (2024). Hint-before-Solving Prompting: Guiding LLMs to Effectively Utilize Encoded Knowledge. arXiv:2402.14310
  • Zhao, R. et al. (2023). Verify-and-Edit: A Knowledge-Enhanced Chain-of-Thought Framework. arXiv:2305.03268
  • Lin, B. et al. (2020). NumerSense: Probing Numerical Commonsense Knowledge of Pre-trained Language Models. Dataset page
  • Talmor, A. et al. (2019). CommonsenseQA: A Question-Answering Challenge Targeting Commonsense Knowledge. ACL paper
  • Khot, T. et al. (2019). QASC: A Dataset for Question Answering via Sentence Composition. arXiv:1910.11473
  • Mu, J. et al. (2023). Learning to Compress Prompts with Gist Tokens. arXiv:2304.08467

Note

  1. 1.0 1.1 1.2 1.3 Liu, J., Liu, A., Lu, X., et al. (2022). «Generated Knowledge Prompting for Commonsense Reasoning». Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics. [1]
  2. 2.0 2.1 Liu, J., Liu, A., Lu, X., et al. (2021). «Generated Knowledge Prompting for Commonsense Reasoning». arXiv preprint arXiv:2110.08387. [2]
  3. Wei, J., Wang, X., Schuurmans, D., et al. (2022). «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models». arXiv preprint arXiv:2201.11903. [3]
  4. Katz, O., Maman, Y., et al. (2024). «Hint-before-Solving Prompting: Guiding LLMs to Effectively Utilize Scaffolding». arXiv preprint arXiv:2402.14310. [4]
  5. Zhao, R., Zhang, J., et al. (2023). «Verify-and-Edit: A Knowledge-Enhanced Chain-of-Thought Framework». arXiv preprint arXiv:2305.03268. [5]