Path-of-Thoughts:用大语言模型实现强大关系推理的新框架
📖阅读时长:19分钟
🕙发布时间:2025-02-10
近日热文:全网最全的神经网络数学原理(代码和公式)直观解释
欢迎关注知乎和公众号的专栏内容
LLM架构专栏
知乎LLM专栏
知乎【柏企】
公众号【柏企科技说】【柏企阅文】
LLM(大语言模型)拥有丰富的语义知识,但在处理复杂推理任务时常常遇到困难,尤其是在亲属关系或空间推理这类关系推理问题上。在本文中[1],作者提出了Path-of-Thoughts(PoT),这是一个全新的框架,旨在通过将任务分解为三个关键阶段来解决关系推理问题:图形提取、路径识别和推理。
方法论
本文提出的PoT框架由3个模块组成:图形提取、路径识别和推理。
- 图形提取模块:使用大语言模型从输入的故事中提取所有提到的实体、关系及其相应属性,随后将它们转换为图形。
- 路径识别模块:在生成的图形上识别两个被查询实体之间的所有推理路径。
- 推理模块:独立地根据每条推理路径推断出答案。
下图展示了该框架的整体架构图。
1. 图形提取
给定文本输入故事S,图形提取模块的目标是将故事S的上下文转换为图形G = (N, E)。其中,节点集N = {n1, n2, …, nk, …}代表上下文中的实体及其相关属性;边集E = {e1, e2, …, ek, …}包含以(nhead, r, ntail)形式表示的三元组,这里的头节点nhead和尾节点ntail代表实体,r表示从nhead到ntail的关系。
该方法的关键组成部分包括:
- 逻辑结构的分段标记:提示词采用由特殊字符(例如“#”)标记的不同部分的结构。这种逻辑组织为大语言模型提供了清晰且可导航的框架,减少了任务处理过程中的歧义。
- 用于输出一致性的句法分隔符:系统地将提示词组织成不同部分,并用特殊字符(例如“#”)标记。这种结构能让大语言模型更有效地处理任务,并最大程度减少对输入解释的歧义。
- 用于标准化输出的预定义类别:遵循一致的格式化原则,使用括号等句法标记来强制实现标准化的输出格式。这种方法确保了提取数据的精确性,降低了下游处理过程中解析错误的可能性。
- 任务分解简化法:将图形提取过程分解为较小的子任务。例如,提示词将关系三元组的生成与识别两个节点的查询分开。这种明确的任务分解减轻了大语言模型的认知负担,使其能够专注于单个子任务,从而提高整体性能。
2. 路径识别
路径识别模块负责识别图形G上的所有推理路径。推理路径p是图形G上连接查询节点nsrc和ntar的一系列边,具体表示为p = [ei, …, ej] ,其中ei, ej ∈ E。需要注意的是,任意相邻节点ns, nk ∈ N之间的边ei的方向,既可以是正向的ei = (ns, r, nk),也可以是反向的ei = (nk, r, ns),这取决于边集E中存在的情况。通过应用路径查找算法在图形G上识别这样的推理路径。如前文框架图所示,通常一条推理路径就足以推断出nsrc和ntar之间的隐含关系。
3. 推理
- 大语言模型推理器:大语言模型根据输入的问题、查询和提取的推理路径(以自然语言表达)直接推断答案。与思维链提示法不同,思维链提示法要求大语言模型在回答前进行逐步推理,而PoT框架是在路径识别阶段就明确提取与查询相关的推理链,然后再将其输入大语言模型进行推理。
- 符号推理器:使用基于回答集编程(ASP)[3]的CLINGO求解器[2]。ASP是一种逻辑编程范式,对各种知识密集型推理任务,尤其是困难的(NP难)搜索问题非常有效。使用CLINGO需要定义ASP知识模块,这些模块概述了解决当前问题所需的规则(例如,grandson(a,b) ∧ sister(b,c) =⇒ granddaughter(a,c) )。提取的推理路径中的每条边都被转换为以ASP语言表示的事实(例如,(John, brother, Jack) → brother(Jack, John) )。求解器根据这些事实和规则推断出答案。
结果
1. 全流程性能
下表比较了使用不同基础大语言模型的所有基线模型的全流程性能,展示了单次试验的准确率结果。结果表明,PoT框架相比基线模型有明显改进。在基于提示的方法中,除了在GPT-4-turbo上的SPARTUN模型外,PoT-LLM的表现优于几乎所有基线模型。同时,对于提取+符号推理方法,结果显示PoT-Symbolic相比LLM-ASP有显著改进。对于需要长推理链的问题(例如,k = 10),PoT框架相比基于提示的方法的改进差距尤为明显,在这类问题上,基于提示的基线模型(例如,IO)性能显著下降。对于GPT-4o,我们还观察到,随着推理跳数的增加,PoT方法与第二好的方法相比,优势愈发明显。这一现象在基于提示和提取+符号推理两种方式中都存在,这表明,借助强大的大语言模型,PoT方法在处理需要更长推理链的难题时表现更优。
2. 图形提取性能
为了评估提示词对关系提取性能的影响,研究人员构建了一个合成测试集,该测试集由多个句子组成的故事及其相应的三元组标签构成。从Stepgame数据集中手动标记了100个句子及其对应的三元组,形成句子库。每个测试故事由从句子库中均匀采样的20个句子和一个询问两个提到的实体之间空间关系的查询句子组成。下表展示了使用GPT-4-turbo在1000个这样的故事上测试不同提示词的结果。结果表明,研究人员采用的专门为提取关系而设计的提示词策略,能够准确地从非结构化文本中提取三元组。
3. 对提取噪声的鲁棒性
这部分研究构建了一个数据集,以评估PoT-symbolic和LLM-ASP方法的鲁棒性。基于对常见大语言模型提取错误的观察(见下表),研究人员设计了7种可能的噪声类型。在这个过程中,将图形分为两部分:主链,即连接源节点和目标节点的主要推理路径;无关部分,包含所有不属于主链的节点和边。在引入噪声时,不会破坏主链,因为不希望改变正确答案。
7种噪声类型如下:
- 翻转无关边:翻转连接两个无关节点的无关边的方向。
- 添加新节点和新边:添加一个新节点和一条新边,这条新边将新节点连接到主链或图形无关部分的一个节点上。
- 添加冲突边:添加一个新节点,并使用两条新边将其连接到主链或无关部分。需要注意的是,这两条新边包含冲突属性。
- 添加无关边:添加一条连接两个无关节点的边。
- 添加主边:在主链上的两个节点之间添加一条边。
- 修改无关边的关系:在不改变无关边方向的情况下,更改其关系。
- 添加不相连的边和节点:添加两个相互连接但与原始图形均不相连的新节点。
对于每种噪声类型,研究人员生成了100个带噪声的样本,结果如下图所示。PoT-Symbolic在所有噪声类型下都优于或与LLM-ASP持平。LLM-ASP对“添加无关边”和“添加主边”尤其敏感。
结论
本文引入了Path-of-Thoughts(PoT)这一新颖框架,它将关系推理任务分解为图形提取、路径识别和推理三个阶段。实验表明,PoT在四个基准数据集上的表现优于最先进的(SoTA)基线模型,且无需进行微调或大量调用大语言模型。
论文链接:https://arxiv.org/abs/2412.17963
参考文献:
- Path-of-Thoughts: Extracting and Following Paths for Robust Relational Reasoning with Large Language Models by Zhang et al.arXiv:2412.17963
- Answer Set Programming, 1st edition. Springer Publishing Company by Lifschitz
What is answer set programming? In Proceedings of the National Conference on Artificial Intelligence — Volume 3 by Lifschitz
## 推荐阅读
1. DeepSeek-R1的顿悟时刻是如何出现的? 背后的数学原理
2. 微调 DeepSeek LLM:使用监督微调(SFT)与 Hugging Face 数据
3. 使用 DeepSeek-R1 等推理模型将 RAG 转换为 RAT
4. DeepSeek R1:了解GRPO和多阶段训练
5. 深度探索:DeepSeek-R1 如何从零开始训练
6. DeepSeek 发布 Janus Pro 7B 多模态模型,免费又强大!
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。