KnowGPT:黑盒知识注入框架,增强语言模型的能力
ChatGPT能够通过交互式API如专家般回答各类问题。然而,在面对某些专业领域的问题时,它可能会出现“短路”,给出不够准确的答案,因为这些问题超出了其学习范围。
为了解决这一知识缺失的问题,我们必须想办法将知识整合到大型语言模型(LLMs)中。传统的知识注入方法通常属于“白盒”技术,这要求对LLMs的模型架构和参数有深入了解。然而,ChatGPT和GPT-4通过API提供访问权限,用户只能通过提交文本输入获取模型响应,无法获得模型的具体细节。因此,传统的“白盒”知识注入方法在此情况下不再适用。
针对这一挑战,香港理工大学的团队提出了一种名为KnowGPT的黑盒知识注入框架,它仅依赖API即可高效地将知识图谱整合到LLMs中。KnowGPT通过强化学习从知识图谱中提取相关知识,并利用多臂赌博机(MAB)为每个问题构建最合适的提示。
该框架在三个基准数据集上的表现非常出色,甚至比ChatGPT高出23.7%,比GPT-4还要强2.9%!值得一提的是,在OpenBookQA的官方排行榜上,KnowGPT达到了91.6%的准确率,与人类的表现相当接近。
论文标题
KnowGPT: Black-Box Knowledge Injection for Large Language Models
论文链接
KnowGPT论文
问题定义
给定一个问题上下文、一个LLM和一个知识图谱,其中包含三元组(头实体、关系、尾实体),目标是学习一个提示函数,将上下文中的事实知识与知识图谱结合,以使LLM能够输出正确答案。
KnowGPT框架
KnowGPT框架整体如下,它根据问题背景和答案选项,从现实世界的知识图谱中检索出一个特定子图。首先,路径提取模块寻找最具信息量且简洁的推理背景以适应上下文。然后,优化提示转换模块考虑给定问题的知识和格式的最佳组合。
1. 基于强化学习的路径提取
相关的推理背景位于一个特定于问题的子图中,包含所有源实体、目标实体及其邻接关系。为了找到高质量且简洁的子图,作者提出利用强化学习通过试错方式对推理路径进行采样。每个推理路径的采样被建模为一个马尔科夫决策过程,包括状态、动作、转移和奖励。
- 状态:表示知识图谱中的当前位置,即一个实体,具体而言,表示从该实体到目标实体之间的空间变化。状态向量定义为 [s_t],其中 [e_t] 和 [e_g] 分别表示当前实体和目标实体的嵌入向量。通过将知识图谱中的三元组转换为句子并输入预训练语言模型,获取节点嵌入。
- 行动:行动空间涵盖当前实体的所有邻接实体,通过选择行动,模型从当前实体移动到选定的邻接实体。
- 转移模型:衡量在给定当前状态和采取的行动的情况下,移动到新状态的概率。在知识图谱中,转移模型的形式为 [P(s_{t+1}|s_t, a_t)],如果通过某个行动有效转移,结果为真;否则为假。
- 奖励机制:作者设计了三项奖励机制来促进高质量路径生成:
- 路径可达性奖励:如果在K个行动内达到目标,奖励为+1;否则为-1。
- 上下文相关性奖励:路径与上下文越相关,奖励越高。作者使用矩阵将路径嵌入映射到语义空间中,奖励公式如下: [
R_{context} = \text{similarity}(context_embedding, path_embedding)
] - 路径简洁性奖励:为了确保信息高度密集且减少冗余实体,作者引入路径简洁性评估。
最终,作者利用权衡参数来平衡每个奖励的重要性。
2. 基于多臂赌博机构建提示
多臂赌博机(MAB)有多个“臂”,每次选择一个进行尝试,以获得相应的结果或奖励。作者的目标是选择最有潜力的提示构建,从而最大化整体奖励。
每种路径提取策略和候选提示格式均构成一个组合问题。作者将选择的整体过程定义为奖励最大化问题。通过最大化期望函数,LLM平衡了开发与探索,以优先选择最具前景的提示。
实验设置与结果
评估数据集选择了CommonsenseQA、OpenBookQA和MedQA-USMLE。为常识推理使用ConceptNet知识图谱,医学领域采用生物医学知识图谱USMLE。
在所有数据集和模型结构中,KnowGPT的表现明显优于所有类别的方法。整体结果显示,KnowGPT的准确性较ChatGPT高23.7%,并在多个数据集上超过了GPT-4。这一结果表明,黑盒知识注入能够有效增强LLMs的性能。
结论
本文首次定义了“用于复杂问题回答的LLM黑盒知识注入”这一研究问题,并提出了一种名为“KnowGPT”的新型框架,能够有效将知识图谱整合进大型语言模型中,进而提高其在复杂问题上的答题能力,为未开放源代码的LLMs知识注入提供了一条新的研究路径。