Generated Knowledge Prompting — 生成知识提示

From Systems analysis wiki
Jump to navigation Jump to search

Generated Knowledge Prompting (GKP, 生成知识提示) 是一种提示工程方法,旨在提升大型语言模型 (LLM) 解决需要推理和事实知识支持的任务的能力[1]。GKP的核心思想是让模型分两步完成任务:首先,根据查询主题生成一组相关事实;然后,基于这些知识形成最终答案[2]

这种方法使LLM能够激活并利用其内部的“参数化”知识,这些知识被隐式地编码在数十亿个参数中,但在标准查询中通常无法访问。GKP解决了模型“不知道自己知道什么”的问题,并帮助它们连接零散的事实以构建正确的推论[2]

历史与起源

Generated Knowledge Prompting方法首次在科学论文《Generated Knowledge Prompting for Commonsense Reasoning》中提出,该论文由刘家诚(Jiacheng Liu)领导的研究小组撰写。该工作的初版于2021年10月15日发表在预印本档案库arXiv上,而最终版本则在2022年的顶级会议计算语言学协会(Association for Computational Linguistics, ACL)上发表[1]

GKP成为首批提出改变与LLM交互范式的重要方法之一,其重点从一次性生成答案转向了一个两阶段的认知过程。

两阶段工作机制

GKP机制将一个复杂的任务分解为两个更简单的子过程:提取相关信息,然后利用这些信息进行推理。

阶段一:知识生成 (Knowledge Generation)

在第一阶段,使用一个语言模型(“知识生成器”)为原始问题生成多个(M个)相关的知识片段。该过程通过少样本提示(few-shot prompting)技术启动,即向模型提供几个示例以进行“上下文学习”。

用于知识生成的提示具有严格定义的结构:

  1. 指令:一个通用指示,例如:“围绕该主题生成一些事实”。
  2. 演示示例:几个人工编写的“问题-知识”对。这些示例起着至关重要的作用,因为它们教会模型哪种类型的信息是有用的。同时,生成的知识不应直接包含答案本身。
  3. 新问题:需要为其生成知识的原始用户查询。

针对一个问题,会生成M个知识变体(在原始论文中 M=20),以便为第二阶段获取多样化的事实集合[1]

阶段二:知识整合与答案形成 (Knowledge Integration)

在第二阶段,使用另一个语言模型(“推理模型”),它既可以在零样本(zero-shot)模式下工作,也可以针对特定任务进行微调。

整合过程如下:

  1. 查询增强:将原始问题(q)与M个生成的知识片段(km)中的每一个依次结合。最终会创建M+1个增强后的查询(包括不带知识的原始问题)。
  2. 评估与选择答案:推理模型为每个增强后的查询评估每个可能答案选项(a)的条件概率。最终答案是至少在一个查询中获得最高概率评估的那个选项。

这种两阶段机制引入了一种元认知过程:“在回答之前,先思考并阐述你对这个主题的了解。

有效性与测试结果

GKP的有效性在一系列用于评估常识推理的学术基准测试中得到了验证。与基线方法相比,该方法在性能上表现出显著提升。

GKP在主要基准测试上的结果摘要(数据来源:Liu et al., 2022)[1]
基准测试名称 任务 基线模型准确率 (%) 使用GKP的准确率 (%) 提升 (%)
NumerSense 数字常识 64.05 72.47 +8.42
CommonsenseQA 通用常识 39.89 47.26 +7.37
CommonsenseQA 2.0 通用常识 70.20 73.03 +2.83
QASC 科学常识 76.74 80.33 +3.59

最大的提升出现在零样本(zero-shot)模式下,这证明了GKP能够在无需额外微调的情况下有效激活模型的内部知识。

与其他技术的比较分析

GKP vs. Chain-of-Thought (CoT) - GKP 与思维链 (CoT) 的对比

GKP与思维链(Chain-of-Thought, CoT)之间的关键区别在于所生成信息的类型:

  • GKP 生成陈述性知识——关于世界的事实、定义、断言(“是什么”)。它为模型提供了额外的上下文。
  • CoT 生成程序性知识——逻辑步骤、计算过程、推理序列(“如何做”)。它为模型提供了推理路径。

因此,GKP提供了事实基础,而CoT则提供了逻辑推理结构[3]

GKP vs. Retrieval-Augmented Generation (RAG) - GKP 与检索增强生成 (RAG) 的对比

与GKP不同,检索增强生成(Retrieval-Augmented Generation, RAG)方法使用外部的、非参数化的知识源。

  • GKP 使用模型在训练期间学到的内部知识。它促使模型“回忆”起已经知道的内容。
  • RAG 使用来自数据库、文档或互联网的外部知识。它促使模型在外部世界中“搜索”信息。

GKP与RAG之间的选择取决于具体任务:如果所需知识是众所周知的,并且在训练数据中有很好的体现,那么GKP会很有效;而对于高度专业化、最新的或专有数据,RAG则是不可或缺的。

局限性与风险

  • “幻觉”问题:GKP的主要风险在于可能生成不正确的事实。如果在第一阶段模型生成了错误的陈述,那么在第二阶段它将被视为事实,从而导致一个自信但完全错误的答案。
  • 计算成本:该方法需要多次调用LLM(单个查询需 M+1 次调用),与标准提示相比,这显著增加了响应时间(延迟)和使用成本。
  • 提示开发复杂性:GKP的有效性在很大程度上取决于少样本示例的质量,而创建这些示例是一项复杂且耗时的工作。

演进与混合方法

GKP中蕴含的思想催生了更复杂、更可靠的提示技术的发展,例如:

  • Hint-before-Solving (HSP):作为GKP的直接思想继承者,它将“先知识,后行动”的两阶段原则应用于CoT中更复杂的推理过程,而不仅仅是简单的回答[4]
  • Verify-and-Edit (VE):一个混合框架,旨在解决GKP和CoT中的“幻觉”问题。VE首先生成一个推理链(如CoT),然后利用外部搜索(如RAG)自动验证关键事实,并在生成最终答案之前编辑推理过程[5]

链接

参考文献

  • 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

注释

  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]