Generated Knowledge Prompting (FR)

From Systems analysis Wiki
Jump to navigation Jump to search

Generated Knowledge Prompting (GKP, ou prompting par génération de connaissances) est une méthode d'ingénierie de prompts développée pour améliorer la capacité des grands modèles de langage (LLM) à résoudre des tâches qui exigent un raisonnement et s'appuient sur des connaissances factuelles[1]. L'idée principale du GKP est d'amener le modèle à accomplir la tâche en deux étapes : d'abord, générer un ensemble de faits pertinents sur le sujet de la requête, puis, en s'appuyant sur ces connaissances, formuler la réponse finale[2].

Cette approche permet aux LLM d'activer et d'utiliser leurs connaissances internes, dites paramétriques, qui sont implicitement encodées dans leurs milliards de paramètres mais souvent inaccessibles lors de requêtes standards. Le GKP résout le problème où les modèles « ne savent pas ce qu'ils savent » et les aide à lier des faits épars pour construire une conclusion correcte[2].

Histoire et origine

La méthode Generated Knowledge Prompting a été présentée pour la première fois dans l'article de recherche « Generated Knowledge Prompting for Commonsense Reasoning », préparé par un groupe de chercheurs dirigé par Jiacheng Liu. La version initiale de l'article a été publiée dans les archives de prépublication arXiv le 15 octobre 2021, et la version finale a été présentée à la prestigieuse conférence de l' Association for Computational Linguistics (ACL) en 2022[1].

Le GKP est devenu l'une des premières et des plus importantes méthodes à proposer de changer le paradigme d'interaction avec les LLM, en déplaçant l'accent de la génération d'une réponse en une seule étape vers un processus cognitif en deux étapes.

Mécanisme de fonctionnement en deux étapes

Le mécanisme du GKP divise une tâche complexe en deux sous-processus plus simples : l'extraction d'informations pertinentes et leur utilisation ultérieure pour l'inférence.

Étape 1 : Génération de connaissances (Knowledge Generation)

Lors de la première étape, un modèle de langage (le « générateur de connaissances ») est utilisé pour créer plusieurs (M) fragments de connaissances pertinents pour la question initiale. Ce processus est initié à l'aide de la technique de few-shot prompting, où le modèle reçoit quelques exemples pour un apprentissage « en contexte ».

Le prompt pour la génération de connaissances a une structure strictement définie :

  1. Instruction : Une directive générale, par exemple : « Génère plusieurs faits sur le sujet. »
  2. Exemples de démonstration : Quelques paires « question-connaissance » rédigées par un humain. Ces exemples jouent un rôle crucial, car ils enseignent au modèle quel type d'information est considéré comme utile. La connaissance générée ne doit pas contenir directement la réponse elle-même.
  3. Nouvelle question : La requête initiale de l'utilisateur, pour laquelle des connaissances doivent être générées.

Pour une seule question, M variantes de connaissances sont générées (dans l'article original, M=20) afin d'obtenir un ensemble de faits diversifié pour la deuxième étape[1].

Étape 2 : Intégration des connaissances et formulation de la réponse (Knowledge Integration)

Lors de la deuxième étape, un autre modèle de langage (le « modèle d'inférence ») est utilisé, qui peut fonctionner soit en mode zero-shot, soit être affiné pour une tâche spécifique.

Le processus d'intégration se déroule comme suit :

  1. Augmentation du prompt : La question initiale (q) est successivement combinée avec chacun des M fragments de connaissances générés (km). Il en résulte M+1 prompts augmentés (y compris la question initiale sans connaissances).
  2. Évaluation et sélection de la réponse : Le modèle d'inférence évalue la probabilité conditionnelle de chaque option de réponse possible (a) pour chaque prompt augmenté. La réponse finale est l'option qui a obtenu la plus haute probabilité pour au moins l'un des prompts.

Ce mécanisme en deux étapes introduit une sorte de processus métacognitif : « Avant de répondre, réfléchis et formule ce que tu sais sur ce sujet ».

Efficacité et résultats des tests

L'efficacité du GKP a été testée sur une série de benchmarks académiques évaluant le raisonnement de sens commun. La méthode a montré une amélioration significative des performances par rapport aux approches de base.

Tableau récapitulatif des résultats du GKP sur les principaux benchmarks (données de Liu et al., 2022)[1]
Nom du benchmark Tâche Précision du modèle de base (%) Précision avec GKP (%) Gain (%)
NumerSense Raisonnement de sens commun numérique 64.05 72.47 +8.42
CommonsenseQA Raisonnement de sens commun général 39.89 47.26 +7.37
CommonsenseQA 2.0 Raisonnement de sens commun général 70.20 73.03 +2.83
QASC Raisonnement de sens commun scientifique 76.74 80.33 +3.59

La plus forte augmentation est observée en mode zero-shot, ce qui prouve la capacité du GKP à activer efficacement les connaissances internes du modèle sans affinage supplémentaire.

Analyse comparative avec d'autres techniques

GKP vs. Chain-of-Thought (CoT)

La principale différence entre le GKP et le Chain-of-Thought (CoT) réside dans le type d'information générée :

  • Le GKP génère des connaissances déclaratives — des faits, des définitions, des affirmations sur le monde (le « quoi »). Il fournit au modèle un contexte supplémentaire.
  • Le CoT génère des connaissances procédurales — des étapes logiques, des calculs, une séquence de déductions (le « comment »). Il fournit au modèle une voie de raisonnement.

Ainsi, le GKP fournit une base factuelle, tandis que le CoT fournit une structure logique pour l'inférence[3].

GKP vs. Retrieval-Augmented Generation (RAG)

Contrairement au GKP, la méthode de Retrieval-Augmented Generation (RAG) utilise des sources de connaissances externes, non paramétriques.

  • Le GKP utilise des connaissances internes, que le modèle a assimilées pendant son entraînement. Il force le modèle à « se souvenir » de ce qu'il sait déjà.
  • Le RAG utilise des connaissances externes provenant de bases de données, de documents ou d'Internet. Il force le modèle à « chercher » des informations dans le monde extérieur.

Le choix entre le GKP et le RAG dépend de la tâche : le GKP est efficace si les connaissances requises sont de notoriété publique et bien représentées dans les données d'entraînement, tandis que le RAG est indispensable pour des données très spécialisées, récentes ou propriétaires.

Limites et risques

  • Problème des « hallucinations » : Le principal risque du GKP est la possibilité de générer des faits incorrects. Si, à la première étape, le modèle génère une affirmation fausse, celle-ci sera perçue comme vraie à la deuxième étape, ce qui conduira à une réponse confiante mais totalement erronée.
  • Coûts de calcul : La méthode nécessite de multiples appels au LLM (M+1 appels pour une seule requête), ce qui augmente considérablement le temps de réponse (latency) et le coût d'utilisation par rapport au prompting standard.
  • Complexité de la conception des prompts : L'efficacité du GKP dépend fortement de la qualité des exemples few-shot, dont la création est une tâche non triviale et laborieuse.

Évolution et approches hybrides

Les idées sous-jacentes au GKP ont servi de catalyseur pour le développement de techniques de prompting plus complexes et fiables, telles que :

  • Hint-before-Solving (HSP) : Un successeur idéologique direct du GKP, qui applique le principe en deux étapes (« d'abord la connaissance, puis l'action ») non pas à une simple réponse, mais à un processus de raisonnement plus complexe dans le CoT[4].
  • Verify-and-Edit (VE) : Un framework hybride qui répond au problème des « hallucinations » dans le GKP et le CoT. VE génère d'abord une chaîne de raisonnement (comme le CoT), puis vérifie automatiquement les faits clés à l'aide d'une recherche externe (comme le RAG) et modifie le raisonnement avant de générer la réponse finale[5].

Liens externes

Bibliographie

  • 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

Références

  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]