解读:基于图的大模型提示技术

【引子】大模型的兴起, 使得读论文成为了学习中的一种常态。如果一篇论文没有读懂,不用担心,可以再读一篇该领域内容相近的论文,量变可能会产生质变。就像编程语言一样,你永远无法精通一门编程语言,除非,精通两种。

像思维链和思维树这样的提示技术,已经大大提高了大模型解决复杂的、基于推理的任务能力。从高层抽象来看,通过强制 LLM 构造对问题的逐步响应,我们可以大大提高其解决问题的能力。然而,这些技术都假设推理过程应该遵循从一个想法到下一个想法的线性模式。然而,人所遵循的推理过程往往是完全不同的,遵循多种不同的思维链,甚至将不同见解结合起来,得出最终的解决方案。将推理过程建模为图(而不是链或树) ,我们或许可以更好地捕捉在对问题进行推理时可能出现的各种非线性模式。

常见的提示技术包括基础方法和一些高级技巧。基础方法包括提示工程,上下文窗口,提示结构等。一些高级技巧包括思维链(CoT) ,思维树(ToT),自我一致性(self-consistency)等。除此之外,我们还需要了解Transformer结构和图卷积网络,它们适用于图结构数据的机器学习。

1.Transformer回顾

Transformer体系结构最初应用于 Seq2Seq 任务(例如,语言翻译)。然而,这个模型以及它的一些变体已经发展到能够捕获各种不同的用例,例如:

  • Vision transformer :用于图像的目标检测和分类

  • Encoder-only transformer :例如,区分性语言任务的仅编码器transformer

  • Decoder-only transformer :例如,语言建模的仅解码器transformer

过去在工程实践中往往会使用许多深度学习的体系结构,但是,transformer的独到之处在于,它是一个单一的体系结构,可以应用于大量各种各样的任务。

编码器-解码器 transformer由两个组成部分:

  • 编码器: 每个块包含双向,多头自注意力和前馈变换(通常是一个两层前馈网络)。

  • 解码器: 每个块包含掩码的自注意力,交叉注意,和前馈转换。

处理原始文本过程将文本转换为一系列向量,带有附加的位置信息,对应于输入中的每个标记。然后,这个向量序列被 transformer的编码器摄取,该模块的输出仅仅是一系列的令牌向量,这些令牌向量通过双向自注意和前馈神经网络进行了转换。我们可以获取通过编码器的所有块传递的结果序列,并将其用作解码器组件的输入。简单地说,编码器使用双向自注意形成整个输入序列的表示,这意味着在精心设计编码器的输出序列时,输入序列中的每个令牌都考虑序列中的所有其他令牌。

然后,解码器获取编码器的输出,并在生成输出时使用输入序列的这种表示作为上下文。transformer的解码部分与编码器相似,但有两个主要区别:

  • 它用的是掩码自自注意力。

  • 它有一个额外的交叉注意力机制。

掩码自注意力机制限制了解码器中的多头自注意力操作在序列中的“向前看”。换句话说,每个标记的表示只取决于它之前的标记。

因为解码器需要生成一个文本序列作为输出。如果解码器使用双向自我注意,模型就能够在训练期间通过查看目标序列中正确的下一个令牌并在预测下一个令牌时复制它来“作弊”。掩码自注意力避免了这个问题,可以有效地训练生成一致的文本通过下一个令牌预测。交叉注意力类似于任何其他注意力操作,但它融合了两个编码器和解码器独立的序列与一个单一的注意力操作。

标准编码器-解码器Transformer架构的一个广泛使用的示例是文本到文本Transformer(T5)模型。该模型主要用于自然语言的迁移学习任务,编译码transformer对于 Seq2Seq 任务和前缀语言建模任务都是有用的,这两种任务都是常见的实际问题。

e82ec09f827988221917a46d6069a82e.jpeg

两个重要的变体是仅编码器和仅解码器模型,纯编码器架构使用transformer的编码器部分,完全消除了解码器。这样的架构是由 BERT 推广的,当针对各种不同的区分性语言任务(例如,句子分类、命名实体识别、问题回答等)进行微调时,这种架构是非常有效的。

仅解码器的架构只是消除了transformer的编码器部分。这意味着还必须摆脱任何交叉注意力模块,因此,纯解码器变压器的每个块只执行掩码自注意力和前馈变换。目前被广泛研究的大多数生成型 LLM ,例如,GPT 系列、 Falcon、 LLaMA-2等,都依赖于仅解码器的transformer架构。

2.基于图结构数据的人工智能

由于我们的目标是利用图数据结构对推理过程建模的提示技术,所以需要了解在机器学习应用中通常如何处理图结构数据。也就是说,大多数模型结构(例如,transformer或卷积神经网络)是为了处理欧几里得数据(例如,图像或文本) ,可以很容易地表示为一个矩阵。然而,并非所有的数据都可以线性表达的。事实上,许多真实世界的数据来源更适合建模为图(例如,社交网络、分子等)。对于这样的数据,一般使用一种称为图卷积网络(GCN)的特殊模型。

4e2a85cdd2cd1e3ec0c26b86e92f0301.jpeg

在核心组件中,GCN与典型的前馈神经网络没有太大的不同。给定一个图,我们将图中的每个节点与一个输入嵌入关联起来,这个输入嵌入可以来自多种数据源(例如,文档的嵌入,与用户对应的特性,等等)。然后,在 GCN 的每一层中,首先对每个节点的嵌入(和规范化)应用前馈转换。然后,通过聚合每个节点的相邻特征来合并底层图的结构,例如取所有相邻节点嵌入的平均值。通过向 GCN 添加多个层,我们可以学习丰富的节点表示,这些表示同时捕获每个节点的属性和图的结构。

GCN 架构已经获得了广泛的流行,并被广泛应用于各种强大的大型应用程序(例如,Google Maps),并且已经有了对 GCN 的几个扩展,一个值得关注的架构是图形注意力网络(GAT)。

a336c0444b19e4abba9097575641bb0c.jpeg

GAT 体系结构在某种程度上与 GCN 相似,但是它不仅仅执行从邻近节点聚合特性的简单平均值。相反,使用一个加权平均数来接管相邻的节点特征,其中的权重是通过一种注意力机制计算出来的。所使用的注意力机制可能很简单,例如,只是将两个连接的节点嵌入作为输入,并执行前馈转换来计算分数。这种方法允许学习更多相邻特征的一般性聚合。

3.多模态 CoT 推理

还有一种需要注意的一种提示技术, 即多模态思维链。这种方法,提出了一个两阶段的方法来解决文本和视觉输入的推理问题。在第一阶段,模型将文本和图像作为输入,并使用类似于思维链的解决问题的合理解释。然后,将这个合理解释与输入连接起来,再次通过模型(连同图像)得到最终答案。这种方法使用了 T5架构,并对它所解决的任务进行了微调。

尽管 CoT 提示具有令人难以置信的影响力,但它有着自己的局限性它的下一个令牌预测以从左到右的方式生成问题解决原理,这阻止了模型从推理过程的早期错误中恢复。这个问题的一个解决方案是思维树(ToT)提示 ,它支持对建模为树的中间推理步骤进行回溯和策略性的前瞻。尽管 ToT 具有实用性,但它仍然将推理和问题解决作为一个线性过程,在树中的单个节点路径上进行,这限制了提示技术的能力。

4f6f8aab9ffc3e5aaf4180c496bcc097.jpeg

通过将思维单元表示为节点,将它们之间的联系表示为边缘,可以捕捉到人类思维的非顺序性质,并允许对思维过程进行更现实的建模。

4.大模型中的思维图推理(GOTR)

GOTR是一个两阶段的推理框架,称为思维图推理,用于解决具有文本和视觉输入的推理任务。在第一阶段,语言模型被用来产生一个解决问题的合理解释。然后,第二阶段使用这个生成的合理解释得出最终的答案。这个两阶段的过程受到了多模态 CoT的启发。

51fef1d4d47515d66e8b5a003dce7fc5.jpeg

GOTR框架在推理过程中依赖于三种不同的输入:

  • 文本: 任何基于提示的推理任务中获得的正常的文本输入。

  • 图像: 可以(可选地)摄取与推理任务相关的图像。

  • 思想图: 生成一个图,其中包含文本输入中的所有命名实体及其作为输入的关系。

这些输入中的每一个都在架构中使用了单独的编码器。然后,将这些编码器生成的表示进行融合,并将其传递给能够生成输出的解码器模块,要么是合理解释,要么是最终答案。

GOTR 在两个阶段的框架中运行。在第一阶段,对于要解决问题的输入文本,并被期望产生一个解决问题的合理解释,类似于一个思维链。然后,在第一阶段生成的合理解释只是与输入文本连接在一起,然后我们再次生成输出。第一阶段和第二阶段的唯一区别是:

第二阶段的输入较长(即,输入文本和原理)。
第二阶段产生一个最终答案,而不是一个合理解释。

然而,除了输入和输出之外,这两个阶段的结构是相同的。下面描述了 GOTR 之后的两个阶段的过程,在每个阶段产生两种不同的输出。

c4f555cc9322b82de864a270ff468e62.jpeg

如前所述,GOTR 采用三种数据源作为输入: 文本、图像和思维图。图像数据是完全可选的,GOTR 在没有它的情况下也可以正常工作。其中,思维图是基于输入文本构建的。示例如下:

1955248f8b0d411249f0196d68ae657b.jpeg

具体而言,GOTR 的思维图表用于表示输入文本中的命名实体及其关系。为了生成这个图,需要使用工具(例如CoreNLP 框架)从文本中提取三元组,并执行共享引用解析来统一重复实体,从而形成输入文本的图表示。

为了从不同的输入模式(即文本、图像和图形)获取数据,需要对每个模式使用单独的编码器。对于图像和文本数据,可以只使用Transformer编码器,也可以对图像使用视觉Transformer进行编码,而文本使用T5模型的编码器进行编码。

与大多数LLM 相比,GOTR 框架使用了不同的模型架构,与典型的仅解码器架构不同,GOTR 使用基于前缀的语言建模方法,该方法使用多个编码器模型来摄取输入,然后将这些编码器的输出传递给解码器以生成输出。这类似于编码器-解码器的Transformer架构,但可以有多种不同类型的编码器。为了使用多个编码器,需要在解码器之前有几个学习层,这些层将它们的输出融合成一个单一的序列,然后传递给解码器。GOTR 使用完整编码器-解码器设置在所需任务上进行了微调。

GAT 是 GCN 体系结构的一种类型,它不是通过简单的求和/平均运算来聚集相邻节点的特征,而是使用注意力机制来聚集相邻节点之间的信息。

4bf2475d1320313963408eee00e79b60.jpeg

一旦对来自文本、图像和思维图输入的数据进行了编码,就需要在将这些特征传递给解码器之前将它们融合在一起以生成输出,可以首先使用一个简单的交叉注意力机制。这个初始的特征融合操作如下所示,其中文本特征与图像和思想图形的特征融合使用交叉注意。在这里,图像特征是可选的。

6a5be4c2b907c2c3a6d8defe6418ab22.jpeg

在交叉注意力之后,仍然有图像特征、文本特征和可能的图像特征,仍然需要将这些特征组合在一起,形成一个可以传递给解码器的单一特征表示。这可以通过门控熔合层完成的。这意味着:

  1. 取出我们的输入特征

  2. 将它们乘以一些可学习的权重矩阵

  3. 产生“掩码”(即,每个条目中值在0到1之间的矩阵) ,告诉使用每个特征的哪些部分保留或去除。

    af33f10b237ce4f2630b6047fc38b85c.jpeg

当把 GOTR 产生的解决问题的合理解释与其他框架相比较时,会发现 GOTR 在 ROUGE 得分方面产生了更高质量的合理解释,与多模态 CoT 和 UnifiedQA 方法相比,质量略有提高,这似乎表明将思维图纳入问题解决过程是有帮助的。

5. 思维图: 用大型语言模型解决复杂问题(GoT)

GOTR 可能并不是一个真正的提示技术,它必须经过微调或训练才能解决推理问题。CoT 或 提示类似的纯提示方法使用预先训练好的 LLM,不需要任何模型微调。“思维图”(GoT)提示,将 LLM 生成的每个办法建模为图中的一个节点,然后使用连接这些节点的顶点来表示依赖关系。

bae124beadb42aea09567d1953c5cf10.jpeg

人类在解决问题时可能不会遵循严格的思维链,可能会尝试多种思维链,并将来自多个思想链的见解结合在一起。第一种情况可以通过 ToT 提示来处理,但是结合不同的思维链并不适合树形结构的思维模式。为此,一个图结构可以将多个推理路径可以合并在一起。此外,这样的结构能够捕获类似递归的模式,这对于解决各种不同的问题可能是有价值的。GoT可以扩展,使得不同大模型即插即用,提示技术也会变得容易。

GoT 框架将 LLM 的推理过程表示为一个(有向)图。图中的每个节点对应一个 LLM 生成的单个思想,边表示思想之间的关系。也就是说,图中从思想 a 到 b 的边或者有向边(a,b)只是告诉我们思想 b 是用思想 a 作为输入生成的。与 ToT 提示类似,思想的确切定义取决于正在解决的问题。更进一步,每个节点代表一个问题或者中间问题的解决方案,但是可以在图中有不同类型的节点,它们代表推理过程的不同方面(例如,计划与执行)。

4252f218942836721cf460f402c1a8f6.jpeg

假设,使用一个图来表示 LLM 执行的推理过程,对这个图的任何修改都表示对底层推理过程的修改,可以将这些修改称为思维变换,具体定义为向图中添加新的顶点或边。如上图所示,存在各种各样的思维转换,例如,合并或分割数组的数字,汇总一组文章,生成单篇文章的多个摘要,等等。总体上,有三种主要的思维变换类型:

  • 聚合: 将任意的思想聚合成一个新的思想。

  • 精炼: 通过自我连接精炼思想中的内容。

  • 生成: 基于单一思想生成多种新思想。

每一种类型都可以任意地修改和推进 LLM 的推理过程。例如,聚合可以将多个不同思想链的结果合并在一起,而精炼可以递归地更新一个思想,直到得到最终的答案。这样的功能严格扩展了 CoT 和 ToT 的提示技术。

最后,GoT 提示使用评估函数为特定的想法分配分数,以及一个排名函数来选择最相关的想法。值得注意的是,排名和得分都考虑了整个图结构。排名通常只是返回得分最高的想法。

cc440369b352e094b57052708b8a0fee.jpeg

其中主要的模块如下:

  • Prompter: 为 LLM 准备消息或提示词,应该包含图结构的编码。

  • Parser: 从 LLM 输出中提取相关信息,从而形成存储在每个思想中的状态。

  • Scorer: 验证思维状态是否满足正确性条件,并给它们分配一个评分(从 LLM 或人工标注中获得)。

  • Controller: 协调推理过程并决定如何进行。

Controller会选择应该应用于底层图结构的思维变换,将这些信息传达给Prompter,并根据scorer对生成的思想状态的输出决定推理过程是否已经完成或应该继续向前。在整个过程中,Controller维护两种信息:

  • 操作图: 在推理过程之前创建的用户定义的静态结构,它捕获思维操作的执行计划。

  • 图推理状态: 一个跟踪 LLM 推理过程状态的动态结构,包括所有的思想及其状态。

d8548430a4466a244d0284bfed43c48e.jpeg

GoT 提示技术的常见示例包括使用归并算法对数字列表(包含重复数字)进行排序,计算两个集合的交集,关键字计数以及文档合并等。与其他的提示技术相比,GoT 提示技术具有更少的延迟和更大的容量,而且GoT 提示持续产生的错误更少。这些结果如下图所示。

然而,GoT 和其他提示技术之间的性能差异在现实世界的任务中似乎不那么明显。例如,GoT 提示在文档合并任务方面提供了不太明显的改进。类似地,GoT 在关键字计数任务的性能方面提供了一个优势,但是基线技术ーー特别是 ToT 提示ーー相当具有竞争力。

在考虑是否在实践中使用 GoT 时,需要考虑两个个问题:

  1. 试图解决的问题是否可以很容易地分解成更小的、可解决的子问题,并合并成最终的解决方案?对于这类(基于合并的)问题,GoT 提示非常有效。

  2. 增加的成本是否会成为一个问题?是否可以用更便捷的技术(例如,CoT 提示)得到一个合理的解决方案吗?

6.小结

从链到树再到图,是一个自然的演进过程,基于图的提示技术允许大模型将其推理过程构造成一个图结构。从线性推理过程转向更灵活的基于图结构的推理过程对某些任务是有益的, GOTR和 GoT提供了两种方式的参考示例, 可以看到图结构可以有利于推理过程。然而,由此产生的推理过程可能更加复杂和昂贵。

【参考资料与关联阅读】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/875858.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么idea建议使用“+”拼接字符串

今天在敲代码的时候,无意间看到这样一个提示: 英文不太好,先问问ChatGPT,这个啥意思? IDEA 提示你,可以将代码中的 StringBuilder 替换为简单的字符串连接方式。 提示信息中说明了使用 StringBuilder 进行…

Android APP 音视频(01)MediaCodec解码H264码流

说明: 此MediaCodec解码H264实操主要针对Android12.0系统。通过读取sd卡上的H264码流Me获取视频数据,将数据通过mediacodec解码输出到surfaceview上。 1 H264码流和MediaCodec解码简介 1.1 H264码流简介 H.264,也被称为MPEG-4 AVC&#xff…

SCADA系统智能化管理工厂 操作方便易于使用

SCADA系统是将工厂进行智能化升级的专业系统,可根据需求与预算定制,从多设备的采集、数据的显示、数据可视化展示、分析图像、边缘计算、协议解析、数据转发、数据清洗、数据转换、数据存储、数据传输等等,各种功能均可根据实际需求进行定制&…

如何在测试中保护用户隐私!

在当今数据驱动的时代,用户隐私保护成为了企业和开发团队关注的焦点。在软件测试过程中,处理真实用户数据时保护隐私尤为重要。本文将介绍如何在测试中保护用户隐私,并提供具体的方案和实战演练。 用户隐私保护的重要性 用户隐私保护不仅是法…

Spring MVC 应用分层

1. 类名使⽤⼤驼峰⻛格,但以下情形例外:DO/BO/DTO/VO/AO 2. ⽅法名、参数名、成员变量、局部变量统⼀使⽤⼩驼峰⻛格 3. 包名统⼀使⽤⼩写,点分隔符之间有且仅有⼀个⾃然语义的英语单词. 常⻅命名命名⻛格介绍 ⼤驼峰: 所有单词⾸字⺟…

使用api 调试接口 ,配置 Header 、 body 远程调试 线上接口

学习目标: 目标 使用api 调试接口 ,配置 Header 、 body 远程调试 线上接口 学习内容: 内容 设置请求方式 2. 选择 POST 提交 3.设置 Header 一般默认的 4个 header 属性就可以直接使用,如有特殊情况,需进行属性设…

『 Linux 』信号的捕捉及部分子问题

文章目录 信号的捕捉sigaction函数未决信号集的置零时机信号处理过程的阻塞可重入函数volatile 关键字SIGCHLD 信号 信号的捕捉 该图为基于信号处理为用户自定义动作的图解; 信号的捕捉 当一个信号被递达时,如果该信号的处理动作是用户自定义的函数(如int sighandler(int))时就…

文物实时状态监控的保护系统

文物是宝贵的历史遗产和文化瑰宝,其保护是我们共同的责任。为了实现文物的安全保护,现代科技提供了各种环境监测设备,可以实时监控文物的状态并采取相应的保护措施。本文将介绍一种利用各种环境监测设备实现文物实时状态监控的保护系统。 一…

【视频讲解】ResNet深度学习神经网络原理及其在图像分类中的应用|附Python代码

全文链接:https://tecdat.cn/?p37134 原文出处:拓端数据部落公众号 分析师:Canglin Li 本文深入探讨了卷积层(Convolutional Layer)在深度学习框架中的核心作用与操作机制,并分析了其在特征提取、网络构…

近期代码报错解决笔记

1.TypeError: ‘bool’ object is not callable 想print("Type of head:", type(entity_emb[head])),结果报如下错误: 源代码: 因为 print 仍然被当作一个布尔值处理,而不是作为函数调用。这个问题的根源在于 print …

Adobe Photoshop(Ps)安装包软件下载

一、Adobe Photoshop简介 Adobe Photoshop(简称PS)是由Adobe Systems公司开发的图像处理软件,它是一款集图像扫描、编辑修改、图像制作、广告创意、图像输入与输出于一体的图形图像处理软件。广泛应用于专业测评、平面设计、广告摄影、影像创…

学习小型gpt源码(自用)

数据集构建_哔哩哔哩_bilibili (b站上有一系列课,从数据处理到模型构建和训练使用) 什么是batch? 为什么一个batch内的句子要一样长? 不同batch的长度可以不一样,但是同一个batch内长度一样!…

【MySQL进阶之路 | 高级篇】数据操作类型的角度理解共享锁,排他锁

1. 从数据操作的类型划分:读锁,写锁 对于数据库并发事务的读-读情况并不会引起什么问题。对于写-写,读-写操作或写-写操作这些情况可能会引起一些问题,需要使用MVCC或者加锁的方式来解决它们。在使用加锁的方式解决问题时&#x…

3.3-LSTM的改进

文章目录 1改进点1.1多层化1.2 dropout1.2.1具体概念1.2.2应该插入到LSTM模型的哪里 1.3权重共享 2改进之后的LSTMLM的代码实现2.1初始化2.2前向计算2.3反向传播 3相应的学习代码的实现4总结 1改进点 1.1多层化 加深神经网络的层数往往能够学习更复杂的模式;因此这…

利用换元法计算积分的常见题型(考研高数复习)

考研中常见的几种换元法积分计算题 (1)被积式仅包含一个根式:根号下为有 a a a 和 x x x 的平方和/平方差 此种类型的积分题型,可以通过构造单个锐角大小为 t t t 的直角三角形,利用勾股定理和三角函数进行代换。 平方和的情况 形如 ∫…

java学习----注释

简介 override介绍: 添加了这个注释其实是做了个语法校验的作用 override定义 Deprecated介绍: 源码: SuppressWarnings介绍: 源码: 元注解 Retention注解介绍: 案列 Target注解介绍: Documente…

LLM - 理解 Transformer 的位置编码 sin cos 的作用与原理

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/140697827 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 Transformer 模型中的位置编码是关键技术,通过为每个词嵌入向量添加位…

数据库第五次作业

1. 触发器 建立触发器,订单表中增加订单数量后,商品表商品数量同步减少对应的商品订单出数量,并测试 建立触发器,实现功能:客户取消订单,恢复商品表对应商品的数量 建立触发器,实现功能:客户修改订单,商品…

【微软蓝屏】微软Windows蓝屏问题汇总与应对解决策略

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

2024年铜川宜君半程马拉松,暴晒+爬坡152安全完赛

1、赛事背景 2024年7月21日,我参加了2024年铜川宜君半程马拉松赛,7月举办的赛事很少,全国都算温度比较高的,虽然宜君是一个山城,还是会担心气温会高。 临开赛1、2周,陕西区域降水比较多,赛前一…