论文笔记:TALK LIKE A GRAPH: ENCODING GRAPHS FORLARGE LANGUAGE MODELS

ICLR 2024,reviewer评分 6666

1 intro

1.1 背景

  • 当下LLM的限制
    • 限制1:对非结构化文本的依赖
      • ——>模型有时会错过明显的逻辑推理或产生错误的结论
    • 限制2:LLMs本质上受到它们训练时间的限制,将“最新”信息纳入到不断变化的世界状态中可能会很困难

 

  • 图结构化数据是表示信息最灵活的方式之一,可能是解决这两个挑战的有希望的解决方案
    • 目前图和LLMs的交集相对来说研究不足

1.2 论文思路

  • 对用于LLMs的图结构提示技术进行了广泛研究
  • 为将图编码为文本以供LLMs使用提供了见解和最佳实践
  • 为社区研究LLMs效果提供了新的图基准(GraphQA)

2 图推理中提示LLMs

2.0 符号

f

在这项工作中,我们将 f 通俗地称为预训练的大型语言模型(LLM)

接受高维离散输入令牌 W 并在相同的令牌空间中产生输出(f : W → W)

W令牌空间
G = (V, E)

V 是顶点(或节点)的集合,E ∈ (V × V) 是连接它们的边的集合

2.1 提示工程

  • 提示工程的目标是找到正确的方式来表述一个问题 Q,使得LLM f将返回相应的答案 A,(Q ∈ W, A ∈ W)
    • A = f(Q)
  • 在这项工作中,我们的目标是向 LLM f 提供图信息,以便它可以更好地推理出需要访问任意结构化关系信息的问题/答案对。
    • A = f(G, Q)
  • 存在多种方法修改 LLM f(.),使其在图数据任务上表现更好
    • 例如微调,软提示,和 LoRA;此外,许多方法修改模型以包含图信息。
    • 然而,这些方法都需要访问模型的内部(无论是其权重还是梯度),这可能限制了它们在许多实际场景中的适用性。
    • 在这项工作中,论文对以下这种情况更感兴趣:
      • f(.) 及其参数是固定的
      • 系统仅在黑盒设置中可用,其中 LLM 仅消费和产生文本(即,LLM f : W → W)。
      • 论文认为这种设置特别有价值,因为可用的专有模型数量及其硬件需求增加。
  • ——>引入图编码函数 g(G) 和问题重述函数 q(Q),其中 g : G → W 且 q : W → W
    • A = f(g(G), q(Q))

2.1.1 目标函数

  • 对基于图的提示系统的训练输入 D 是一组 G, Q, S 三元组
    • G 是一个图
    • Q 是一个问题
    • S ∈ W,是 Q 的一个解决方案
  • 目标是找到一个 g(.) 和 q(.),最大化模型对训练数据集 D 中答案的期望得分
  • 由于 W 是一个非常大的离散空间,许多当前的方法使用启发式进行这一优化(通过改变提示 Q)
    • 这项工作的新颖贡献是考虑图编码函数 g(.), 问题重述函数q(.),以及图结构 G 在目标函数优化中的作用。

2.2 启发式提示

  • 绝大多数启发式提示方法通过优化用于查询模型的提示文本 Q 来操作。
  • 论文进一步检查的方法有:
ZERO-SHOT简单地提供模型一个任务描述,并要求它生成所需的输出,无需任何先前的任务训练
FEW-SHOT

为模型提供少量任务示例及其期望输出。

然后模型从这些示例中学习,以便在新输入上执行任务

CoT

为模型提供一系列示例,每个示例展示如何逐步解决任务。

然后模型学习生成其CoTs来解决新问题

ZERO-SHOT CoT

与CoT提示类似,但它不需要任何先前的训练示例。

相反,模型使用简单的提示来生成其自己的CoTs

使用prompt:”Let’s think step by step“

COT-BAG通过在图描述后附加“Let’s construct a graph with the nodes and edges first”

3 通过文本编码图:像图一样交流

  • 图编码是将图结构信息转换为语言模型可理解序列的必要步骤
  • 本节将研究图编码函数 g(.) 的细节,该函数将图数据映射为LLM可理解的令牌

3.0 一些结论

• R1: LLMs 在基本图任务上表现不佳(§3.1)。

• R2: 图编码函数对LLM图推理有显著影响(§3.1)。

• R3: 模型容量对LLMs的图推理能力有显著影响(§3.4)。

3.1 图编码函数

  • 将图编码为文本的过程可以分为两个关键的询问:
    • 首先,图中节点的编码;
    • 其次,节点之间边的编码

3.1.1 编码节点

  • 关于节点的编码,检查了几种技术,包括:
    • 整数编码(例如,节点0)。
    • 使用著名的英文名字(例如,David)。
    • 使用电视剧《权力的游戏》和《南方公园》中流行角色的名字。
    • 使用美国政治家的名字。
    • 使用字母表字母进行表示。

3.1.2 编码边

关于边的编码,检查了以下技术:

  • 括号:描述边为(源节点,目标节点)。
  • 友谊:源节点和目标节点是朋友。
  • 合著:源节点和目标节点共同写了一篇论文。
  • 社交网络:源节点和目标节点相连。
  • 箭头:源节点 → 目标节点。
  • 关联:源节点与目标节点相连。

3.1.3 图编码

  • 邻接 Adjacency。使用整数节点编码和括号边编码。
  • 关联 Incident。使用整数节点编码和关联边编码。
  • 友谊 Friendship.。使用著名的英文名字作为节点编码和友谊边编码。
  • 共同作者 Co-authorship。使用著名的英文名字作为节点编码和共著边编码。
  • SP。使用《南方公园》角色名作为节点编码和友谊作为边编码。
  • GOT。使用《权力的游戏》角色名作为节点编码和友谊作为边编码。
  • 社交网络 Social network。使用著名的英文名字和社交网络边编码。
  • 政治家 Politician。使用美国政治家的名字和社交网络边编码。
  • 专家 Expert。使用字母表字母作为节点编码和箭头作为边编码。编码开始于“你是一个图分析师”。

3.2 图结构

3.3 实验1 预训练的LLMs在图任务上的性能

  • 测量了预训练的LLMs在图任务上的性能:边的存在、节点度、节点计数、边计数、连接的节点和周期检查

3.3.1 结果

  • 几乎所有基本图任务上,LLMs的表现都很差
    • LLMs的表现比大多数基线还要差
  • 简单的提示对简单任务最有效
    • ZERO-COT提示在基本图任务上的模型性能比ZERO-SHOT提示差
      • 这可能是因为ZERO-SHOT提示对这些不需要多跳推理的任务来说已经足够了
      • ZERO-COT提示对于需要多跳推理的任务(如算术问题)可能有效,但对大多数只需要LLM理解图结构(节点、边、路径等)和图任务的基本图任务来说不是必需的
    • 对于更复杂的任务,添加少量示例和CoT提示通常可以提高模型的性能。
      • 这主要是因为少数样本示例为LLM提供了更好的任务理解
  • 图编码函数对LLM推理有显著影响
    • 图编码函数的选择对LLMs在图相关任务上的性能有显著影响
      • 这是因为不同的编码函数捕捉到了图结构的不同方面
    • 例如,在zero-shot场景下,对于在图中找到节点的连接节点,邻接达到了19.8%的准确率,而关联达到了53.8%的准确率
    • 对于节点度和连接的节点,关联编码比其他编码函数表现更好。
      • 这可能是因为关联编码以一种使相关信息更容易获得的方式编码图结构
  • 整数节点编码提高了算术性能
    • 节点的整数编码(例如,节点0)可以提高LLMs在整数输出任务上的性能,如预测节点度、节点计数和边计数
      • 这是因为LLM的输入和输出处于同一空间,使得模型更容易学习两者之间的关系
    • 具有特定名称的编码函数(例如,David)在非整数输出任务中表现更好,如GOT中的边存在或Friendship中的成环检查

3.3.2 不同graph encoding 在不同prompring下表现的平均rank

3.2 实验2:不同的prompt 问题

  • 在这个实验中,将图编码函数固定为“友谊”,并使用两种不同的问题编码函数进行实验  
    •  图问题编码器
      • 负责编码与图相关的任务,例如确定特定节点的度(例如,“节点i的度是多少?”)
    • 应用问题编码器
      • 应用问题编码器以更实际、日常的上下文解释图问题
      • 在应用场景中,使用基于友谊的情景,将任务转换如下:
        • 边的存在变成了“评估友谊的存在”
        • 节点度变成了“计算个人的朋友数”
        • 节点计数变成了“计算提及的人数”
        • 边计数变成了“计算提及的友谊数”
        • 连接的节点变成了“列出朋友”。

3.2.1 结果

应用编码器在几乎所有任务上都优于图编码,尽管两个编码器都有相同的图编码函数,只是在提问方式上略有不同

3.3  实验3:不同的relation encoding

  • 在这个实验设置中,我们对友谊图编码函数进行了修改,基于一系列不同的关系类型来表征边
    • 包括朋友、同事、配偶、兄弟姐妹、邻居、熟人、队友、同学、同事或室友。
    • 关系类型的选择从这个预定义的集合中随机选取,从而使用多个词来引用节点之间关系的存在。
    • 这与之前的图编码实验中使用相同的令牌表示边的做法不同。
  • 结果:
    • 如表3所示,使用多个词来表示关系并没有损害LLM的性能,甚至在某些情况下还有所改进。
    • 这种改进很可能是因为多样的关系集合为LLM提供了更多的文本信息来执行任务
    • 且最终编码与LLM在训练期间可能看到的文本相比更为接近

3.4 实验4:模型容量与图推理能力

  • 测量了模型容量对图任务的影响。
  • 比较了PaLM 2 XXS、XS、S和L的结果,这些模型有着不同的参数数量,因此具有不同的容量

  • 结果
    • 模型容量对LLM的图推理能力有显著影响。
    • 更大的模型通常在图推理任务上表现得更好。这是因为它有更多的容量来学习和存储复杂信息。
    • 模型容量对边的存在影响较小。结果还显示,即使具有较大的容量,模型也未能超过边存在的多数基线。

3.5 在无边情况下的推理

  • 在这个实验中,我们评估LLMs在未连接节点任务上的表现。
    • 这项任务与之前的任务不同,因为它需要对图中隐含的信息进行推理,即,在图编码函数的输出中没有明确提及的信息。
  • 结果:
    • LLMs缺乏对图的全局模型。
      • ZERO-SHOT提示方法实现了0.5%的准确率
      • 而ZERO-COT、FEW-SHOT、COT和COT-BAG方法几乎达到了0.0%的准确率
    • 这些结果表明,LLMs在未连接节点任务上的表现显著低于连接节点任务。
      • 这是因为图编码函数主要编码了关于连接节点的信息,而没有明确编码关于未连接节点的信息。
      • 因此,LLMs在处理连接节点之间的关系上表现更好,而在捕捉连接缺失上则表现不佳,导致在与断开连接相关的任务上性能不佳。

4 图结构对于LLM效果有影响嘛

  • 为了能够在图上进行LLMs的实验,使用各种图生成算法生成随机图

 

4.1 图结构对LLM的性能有显著影响

  • 在完全图上的成环检查任务达到了91.7%的准确率,在路径图上的准确率为5.9%
    • 这是因为LLM对图存在环有强烈的先验
      • 因此,对于始终有周期的完全图,准确率很高;而对于从不有周期的路径图,准确率非常低。
    • 通过添加一些有周期和一些没有周期的少量示例,路径图上的周期检查准确率从5.9%提高到了19.7%
  • 在边存在任务上,LLM在路径图上达到了60.0%的准确率,这些图不太可能有两个节点之间的边,而在完全图上的准确率为19.8%,完全图有所有节点对之间的边。
    • 这表明LLM有一个先验,即图中的两个节点更有可能是未连接的。

4.2 图编码函数中的干扰性陈述打乱了LLM的性能

  • 节点度、节点计数和连接节点任务的准确率对于星形和路径图最高
    • 这可能是因为星形和路径图更可能有较少的边,它们的图编码很可能更短,对这些任务的干扰性陈述较少
    • 这也从这些任务在完全图中的准确率是最低的事实中显而易见,完全图有许多要指定的边,因此有许多干扰因素。

4.3  添加分布外的少量示例帮助了LLM

  • 添加少量示例及其思维链在COT提示中在大多数任务上有所帮助
    • 少量示例不需要来自同一个生成器,对LLM来说,它们的主要作用是向LLM解释任务

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL优化之外连接消除----空值拒绝

什么叫空值拒绝呢?请看下面用例 可以看到,外连接中,从表的表连接列,tb2.id出现了null,因为tb2中并没有id5的情况 点击(此处)折叠或打开 select * from tb1 left join tb2 on tb1.idtb2.id where tb2.id>1; sel…

商品说明书的制作工具来啦,用这几个就够了!

商品说明书是用户了解产品特性、性能、使用方法的重要途径。一个明确、易懂的商品说明书,可以显著提升用户体验,进而提升产品的销量。但我们都知道,制作一份高质量的说明书并不容易,需要仔细设计、计划和撰写。幸运的是&#xff0…

解决 linux 服务器 java 命令不生效问题

在Linux系统中,当你安装Java并设置了JAVA_HOME环境变量后,你可能需要使用source /etc/profile命令来使Java命令生效。这是因为/etc/profile是一个系统级的配置文件,它包含了系统的全局环境变量设置。 但是需要注意的是,source /e…

数据运营分析-详解

一、指标与指标体系 指标体系就是业务逻辑的框架,也是思考业务逻辑的第一步 案例: 老板,我负责的用户活跃,主要考察每天启动产品的注册用户数量,整体来看,每月活跃保持7.3%的增长,是因为渠道团队的拉新活动带来很多新增注册用户,占每月活跃用户的40%,新一年会继续沿…

手写简易操作系统(十七)--编写键盘驱动

前情提要 上一节我们实现了锁与信号量,这一节我们就可以实现键盘驱动了,访问键盘输入的数据也属于临界区资源,所以需要锁的存在。 一、键盘简介 之前的 ps/2 键盘使用的是中断驱动的,在当时,按下键盘就会触发中断&a…

图的基础和图的遍历(--蓝桥云)

图的基础概念 度数&#xff1a;出边入边的条数 有向边&#xff1a;有箭头 图的存储方式 //邻接表 List<int []> list[N] list<x>//存放x的所有出点的信息 list[i][j]{first,second}//其中first表示从i出发的某个出点的编号&#xff08;这个出点是i的第j个出点&…

Lecture 1 - Introduction

Lecture 1 - Introduction MIT 6.824 Distributed Systems 1、概念预览 分布式系统需要考虑的因素&#xff1a; Parallelism &#xff1a;并行性Fault tolerence &#xff1a;容错性Physicial &#xff1a;不同系统之间物理距离引起的通信问题**Security ** &#xff1a;不…

eps32官方ESP-IDF开发工具IDE的使用

1、创建工程 创建的工程目录如下&#xff1a; .c文件中很多报错&#xff0c;需要编译下&#xff0c;点击左上角的"锤子"按钮 2、烧录 3、打开终端查看信息 如上信息表明运行正常 附 问题&#xff1a;如果烧录的过程中报如下错误&#xff1a; UnicodeDecodeError: gb…

黑马鸿蒙笔记2

1.图片设置&#xff1a; 1 加载网络图片&#xff0c;申请权限。 申请权限&#xff1a;entry - src - resources - module.json5 2 加载本地图片 ,两种加载方式 API 鼠标悬停在Image&#xff0c; 点击show in API Reference interpolation&#xff1a;看起来更加清晰 resou…

测底解决msvcp140.dll丢失难题,总结5种靠谱的解决方法

在尝试运行特定程序或执行一段代码时&#xff0c;系统反馈了一条明确且关键的错误信息&#xff1a;“找不到msvcp140.dll”。这意味着&#xff0c;由于缺失了名为“msvcp140.dll”的动态链接库文件&#xff08;Dynamic Link Library&#xff09;&#xff0c;当前的操作无法按照…

22 多态

目录 多态的概念多态的定义及实现抽象类多态的原理单继承和多继承关系中的虚函数表继承和多态常见的面试问题 前言 需要声明的&#xff0c;下面的代码和解释的哦朴实vs2013x86环境&#xff0c;涉及指针是4bytes&#xff0c;如果要其他平台下&#xff0c;部分代码需要改动。比…

.NET CORE 分布式事务(二) DTM实现TCC

目录 引言&#xff1a; 1. TCC事务模式 2. TCC组成 3. TCC执行流程 3.1 TCC正常执行流程 3.2 TCC失败回滚 4. Confirm/Cancel操作异常 5. TCC 设计原则 5.1 TCC如何做到更好的一致性 5.2 为什么只适合短事务 6. 嵌套的TCC 7. .NET CORE结合DTM实现TCC分布式事务 …

03_制作U盘启动盘

一、准备工作 系统镜像.ISO UltraISO 二、制作U盘启动盘 打开UltraISO 文件-打开&#xff0c;选择已下载的镜像文件。 插入U盘&#xff0c;启动-写入硬盘映像。

8.图论——2.kruskal算法dijkstra算法

最小生成树 n个顶点组成的带权无向图&#xff0c;其生成树&#xff0c;即包含全部n个顶点并有n-1条边的无向连通子图。 最小生成树即各边权值和最小的一棵生成树&#xff0c;求最小生成树有kruskal算法和prim算法 kruskal算法 建立一个并查集&#xff0c;每个顶点一个集合把…

vlan间单臂路由

【项目实践4】 --vlan间单臂路由 一、实验背景 实验的目的是在一个有限的网络环境中实现VLAN间的通信。网络环境包括两个交换机和一个路由器&#xff0c;交换机之间通过Trunk链路相连&#xff0c;路由器则连接到这两个交换机的Trunk端口上。 二、案例分析 在网络工程中&#…

一文掌握 TS 高级类型编程

原文地址&#xff1a;github.com/Nealyang/PersonalBlog 前言 或许现在很多同学都在用 TypeScript&#xff0c;但是更可能大多数的同学并不会 TypeScript&#xff0c;他们用的&#xff0c;只不过是给 js 加了一些“注释”&#xff0c;然后洋洋得意“TypeScript 不过如此” 但是…

CSS(四)---【链接美化、浮动布局、三种定位】

零.前言 本篇主要讲解<a>标签链接美化、页面的浮动布局&#xff0c;以及“相对定位”、“绝对定位”、“固定定位”三种定位。 关于其它请查看作者其它文章&#xff1a; CSS(一)---【CSS简介、导入方式、八种选择器、优先级】-CSDN博客 CSS(二)---【常见属性、复合属…

基于springboot实现社区团购系统项目【项目源码+论文说明】

基于springboot实现社区团购系统演示 摘要 本课题是根据用户的需要以及网络的优势建立的一个社区团购系统&#xff0c;来满足用户团购的需求。 本社区团购系统应用Java技术&#xff0c;MYSQL数据库存储数据&#xff0c;基于Spring Boot框架开发。在网站的整个开发过程中&…

水泊梁山108小酒坛之呼保义宋江

宋江【绰号呼保义、及时雨】字公明&#xff0c;是古典名著《水浒传》中的角色。原为山东郓城县押司&#xff0c;他和晁盖互通往来的事被阎婆惜发现&#xff0c;因此怒杀阎婆惜&#xff0c;逃回家隐藏。后前往清风寨投靠花荣&#xff0c;却被清风寨观灯时遭知寨刘高之妻陷害入狱…

LeetCode算法——数组篇

对刷过的算法进行总结&#xff0c;所用解法都是最符合我个人逻辑的&#xff0c;以后再刷的话就看这篇帖子了 # 代码随想录——数组理论基础 首先要知道数组在内存中的存储方式&#xff0c;这样才能真正理解数组相关的面试题 数组是存放在连续内存空间上的相同类型数据的集合 …