像图一样交流:为大语言模型编码图

译者 | 高永祺

单位 | 东北大学自然语言处理实验室

原文链接:https://blog.research.google/2024/03/talk-like-graph-encoding-graphs-for.html

1.作者介绍

Bahare Fatemi,谷歌蒙特利尔研究部门的研究科学家,专门从事图表示学习和自然语言处理,目前在WiML董事会任职,曾在NeurIPS、ICLR、AAAI和JMLR顶级人工智能会议和期刊上发表工作。

Bryan Perozzi,谷歌研究科学家,致力于数据挖掘、机器学习、图论和网络科学的交叉领域,特别关注局部图算法。

2.译者说

图(Graph)是一种传统的数据结构,用于描述对象之间的连接。大语言模型(LLM)技术正在崛起,但LLM主要在文本上进行训练。图与文本都可以用来表示信息,如何在这两种媒介之间架起桥梁,让LLM更好地理解图?作者深入探究了如何用文本将图的信息编码,故而论文题目称为Talk like a graph。

3.译文大纲

3.1 引言

3.2 将图转换为文本

3.3 分析与结果

3.4 结论

04 译文

4.1 引言

想象一下你周围的所有事物——你的朋友、厨房里的工具,甚至是你自行车的零件。它们以不同的方式相互连接。在计算机科学中,术语“图”被用来描述对象之间的连接。图由节点(对象本身)和边(连接两个节点,表示它们之间的关系)组成。现在,图随处可见。互联网本身就是一个由网站互联构成的巨大的图。

此外,人工智能领域显著进步——例如,能够在几秒钟内编写故事的聊天机器人,甚至能够解释医疗报告的软件。这些令人兴奋的进步很大程度上归功于大语言模型(LLM)。人们针对不同用途不断开发新的LLM技术。

由于图随处可见,而LLM技术正在崛起,发表在ICLR 2024 上的论文“Talk like a Graph: Encoding Graphs for Large Language Models”提出了一种方法,可以教会强大的LLM如何更好地利用图信息进行推理。图是一种组织信息的有效方式,但LLM主要是在常规文本上进行训练的。我们的目标是测试不同的技术,看看哪种效果最好。将图转换为LLM能理解的文本是一项非常复杂的任务。困难在于图结构本身的复杂性,其中有多个节点以及将它们连接起来的复杂网络。我们的工作研究了如何将图转换为LLM能理解的格式。我们还设计了一个称为GraphQA的基准,用于研究不同的方法处理不同的图推理问题,并展示如何表达与图相关的问题,使得 LLM能够解决图问题。我们发现,LLM在图推理任务上的性能在三个层次上都有不同:1)图编码方法,2)图任务本身的性质,3)所考虑的图的结构本身。这些发现启发我们如何为LLM最好地表示图。选择正确的方法可以使LLM在图任务上提升高达60%!

图片

图1 将图编码为文本的过程采用了两种不同的方法,并将文本和关于图的问题输入到LLM中

4.2 将图转换为文本

为了系统地找出将图转换为文本的最佳方法,我们首先设计了一个名为GraphQA的基准。可以将GraphQA看作一个专门用于评估LLM在图问题上表现的测试。我们希望了解LLM在不同设置下理解和解决涉及图的问题的能力。为了为LLM创建一个全面而现实的测试,我们不仅仅使用一种类型的图,而是使用一系列图,确保连接数量的广度。这主要是因为,不同类型的图会使解决此类问题更容易或更难。通过这种方式,GraphQA有助于暴露出LLM思考图时的偏见,整个测试更接近LLM可能在现实世界中遇到的真实情况。

图片

图2 我们使用LLM进行图推理的框架概览

GraphQA专注于与图相关的简单任务,例如检查边是否存在、计算节点或边的数量、查找连接到某特定节点的节点,以及检查图中是否存在循环。这些任务可能看起来很基础,但它们需要理解节点和边之间的关系。通过涵盖不同类型的挑战,从识别模式到创建新连接,GraphQA帮助模型学习如何有效地分析图。这些基本任务对于在图上进行更复杂的推理至关重要,例如在节点之间找到最短路径、检测社区或识别有影响力的节点。此外,GraphQA提供了丰富多样的数据集进行训练,包括使用各种算法生成随机图,如Erdős-Rényi[1]、无标度网络[2]、Barabasi-Albert模型[3]和随机块模型[4],以及更简单的图结构,如路径、完全图和星形图。

在处理图时,我们还需要找到询问图相关问题的方法使得LLM能够理解。提示启发法有不同的方式来做到这一点。让我们分解一下常见的方式:

Zero-shot(零样本):简单描述任务(“这个图中是否存在循环?”)并告诉LLM去完成。不提供示例。

Few-shot(少样本):这类似于在真正的测试之前给LLM提供一个小练习。我们提供几个示例图问题及其正确答案。

Chain-of-Thought(思维链):我们向LLM展示如何逐步分解问题并提供示例。目标是教会它在面对新图时生成自己的“思考过程”。

Zero-CoT(零样本思维链):类似于CoT,但是我们不提供训练示例,而是给LLM一个简单的提示,比如“让我们逐步思考”,以触发其自己的问题解决过程。

BAG(build a graph):这专门用于图任务。我们在描述中添加短语“让我们构建一个图...”,帮助LLM集中注意力在图结构上。

我们探索了不同的方法,将图转换为LLM可以处理的文本。我们的关键问题是:

节点编码:我们如何表示单个节点?测试的选项包括简单的整数、常见名称(人名、角色)和字母。

边编码:我们如何描述节点之间的关系?方法涉及括号表示法、诸如“是朋友”之类的短语,以及箭头等符号表示法。

系统地结合了各种节点和边编码,编码函数如下图所示:

图片

图3 用于通过文本对图进行编码的图编码函数的示例

4.3 分析与结果

我们进行了三个关键实验:一个是测试LLM处理图任务的能力,另外两个是了解LLM的大小和不同图的形状对性能的影响。所有的实验在GraphQA上进行。

4.3.1 LLM如何处理图任务

在这个实验中,我们测试了预训练的LLM处理识别连接、循环和节点度等图问题的能力。以下是我们的发现:

LLM表现不佳:在大多数基础任务中,LLM的表现并不比随机猜测好多少。

编码影响显著:如何将图表示为文本对LLM的性能有很大影响。对于大多数任务来说,“incident”编码在总体上表现优异。

我们的结果总结在以下图表中。

图片

图4基于不同图任务准确率对各种图编码函数的比较。从这个图表中得出的主要结论是,图编码函数的选择对结果影响显著

4.3.2 规模越大,通常越好

在这个实验中,我们想要看到LLM的大小(以参数量为衡量)是否影响它们处理图问题的能力。为此,我们在PaLM 2的XXS、XS、S和L尺寸上测试了相同的图任务。以下是我们的研究结果总结:

总的来说,更大的模型在图推理任务上表现更好。似乎额外的参数给了它们学习更复杂模式的空间。

奇怪的是,对于“边存在”任务(找出图中两个节点是否连接)来说,模型大小并不那么重要。

即使是最大的LLM在检查循环问题(确定图是否包含循环)上也无法始终击败简单的基准解决方案。这表明LLM在某些图任务上仍有改进的空间。

图片

图5 模型大小对于PaLM 2-XXS、XS、S和L在图推理任务中的影响

4.3.3 不同的图的形状是否会让LLM感到困惑

我们想知道图的“形状”(节点如何连接)是否会影响LLM解决问题的能力。以下的图是图的形状的不同示例。

图片

图6 使用GraphQA中的不同图形生成器生成的图样本。其中,ER、BA、SBM和SFN分别指Erdős–Rényi、Barabási–Albert、随机块模型和无标度网络

我们发现图的结构对LLM的性能有很大影响。例如,在询问循环是否存在的任务中,LLM在紧密相互连接的图上表现出色(循环在这里很常见),但在路径图上表现困难(从来不会出现循环)。有趣的是,提供一些混合示例可以帮助它适应。例如,在循环检查任务中,我们将一些包含循环的示例和一些不包含循环的示例作为我们提示中的少样本示例添加进去。类似的模式也出现在其他任务中。

4.4 总结

简而言之,我们深入研究了如何最好地将图表示为文本,以便LLM能够理解它们。我们发现了三个主要因素会产生影响:

将图转换为文本的方式:如何将图表示为文本显著影响了LLM的性能。在大多数任务中,“incident”编码在总体上表现出色。

任务类型:某些类型的图问题往往对LLM来说更难,即使从图到文本的转换很好。

图结构:令人惊讶的是,用于进行推理的图的“形状”(密集连接、稀疏等)会影响LLM的表现。

这项研究揭示了为LLM准备图的关键。正确的编码技术可以显著提高LLM在图问题上的准确性(从大约5%到超过60%的提升)。我们的新基准,GraphQA,将有助于推动这一领域的进一步研究。

[1] https://en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93R%C3%A9nyi_model

[2] https://en.wikipedia.org/wiki/Scale-free_network

[3] https://en.wikipedia.org/wiki/Barab%C3%A1si%E2%80%93Albert_model

[4] https://en.wikipedia.org/wiki/Stochastic_block_model

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

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

相关文章

YOLO-Worldv2两分钟快速部署

本次部署使用的框架基于ultralytics, 并且已经集成最新版本的YOLOv8框架: 一键环境配置 pip install ultralytics基础使用 训练 from ultralytics import YOLOWorld model YOLOWorld(yolov8x-worldv2.pt) results model.train(datacoco8.yaml, epo…

【全开源】知识库文档系统(ThinkPHP+FastAdmin)

📚知识库文档系统:解锁知识的无限可能 一款基于ThinkPHPFastAdmin开发的知识库文档系统,可用于企业工作流程的文档管理,结构化记录沉淀高价值信息,形成完整的知识体系,能够轻松提升知识的流转和传播效率&a…

高通开发系列 - 借助libhybris库实现Linux系统中使用Andorid库

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 返回:专栏总目录 目录 概述Android代码下载和编译aarch64开发环境libhybris下载和编译libhybris测试验证调用库中的函数概述 我主要是基于…

第三方软件测试报告的作用是什么?可全国通用吗?

随着信息技术的发展,市面上的软件产品越来越多,因此软件质量的好坏是软件企业以及用户极为关注的话题。为了更好的保障软件产品质量,将测试工作交给第三方软件测试机构成为了软件企业的首选。第三方软件测试不同于软件开发公司内部测试团队所…

pycharm绘图时中英文不能同时出现 中文出现小框框的问题解决

# 设置字体为微软雅黑,正确显示负号 plt.rcParams[font.sans-serif] [Microsoft YaHei] plt.rcParams[axes.unicode_minus] False

解析数据洁净之道:BI 中如何清洗脏数据?

前言 随着数字化和信息化进程的不断发展,数据已经成为企业的一项不可或缺的重要资源。然而,这些数据往往是庞大的、复杂的,甚至掺杂着很多的无效的、错误的数据。那么如何在这些数据中过滤那些干扰项,保证数据发挥最大的作用呢&a…

html文件使用postcss-pxtorem适配移动端 使用tailwindcss库

项目截图 插件下载 npm i -D postcss8.4.38 postcss-cli10.1.0 postcss-pxtorem6.1.0 tailwindcss3.4.3postcss.config.js & tailwind.config.js postcss.config.js const pxToRem require(postcss-pxtorem) module.exports {plugins: [pxToRem({rootValue: 75,propLi…

利用GPT和PlantUML快速生成UML图用于设计

在软件开发中,设计阶段可是关键的一步。UML(统一建模语言)图能帮我们更清晰地理解和规划系统结构,但手动画UML图有时会很费时费力。好消息是,通过结合使用ChatGPT和PlantUML,我们可以高效地生成UML图&#…

python中文件操作详解(1)

在python中我们经常会对文件进行一些常见的操作,比如打开文件,操作文件,关闭文件,此篇文章主要是记录自己在学习过程中的一些总结供大家学习,也欢迎查漏补缺~ 1.文件的打开 方式一:此种方式打开的文件需要…

拉普拉斯算子

问Chat GPT两种不同拉普拉斯算子的区别:

【WEEK15】 【DAY1】异步任务【中文版】

2024.6.3 Monday 目录 17.异步、定时、邮件任务17.1.异步任务17.1.1.新建springboot-09-test项目17.1.2.创建一个service包17.1.2.1.创建一个类AsyncService 17.1.3.编写controller包17.1.3.1.编写AsyncController类 17.1.4.运行Springboot09TestApplication.java17.1.5.修改S…

下载ubuntu22.04

建议使用:清华源镜像 官网下载比较慢Ubuntu 22.04.4 LTS (Jammy Jellyfish) 打开清华源向下翻 然后找到22.04 下载完成:

牛客热题:矩阵最长递增路径

📟作者主页:慢热的陕西人 🌴专栏链接:力扣刷题日记 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 文章目录 牛客热题:矩阵最长递增路径题目链接方法一…

vulhub中PHP利用GNU C Iconv将文件读取变成RCE(CVE-2024-2961)

GNU C 是一个标准的ISO C依赖库。在GNU C中,iconv()函数2.39及以前存在一处缓冲区溢出漏洞,这可能会导致应用程序崩溃或覆盖相邻变量。 如果一个PHP应用中存在任意文件读取漏洞,攻击者可以利用iconv()的这个CVE-2024-2961漏洞,将…

写一个盲盒模拟器

最近想写一个小程序,随便写一个玩吧,先想了下功能: 1.有很多盲盒,可以选择模拟开启 2.自定义盲盒,我们可以自定义制作盲盒自己玩 3.用户界面,记录盲盒历史,可以给坏越提意见 所用技术栈&…

Linux下互斥体的学习使用

文章目录 前言互斥锁的定义互斥锁的数据结构互斥锁的注意事项互斥锁API函数互斥锁的使用示例结语 前言 上篇我们讲过信号量,本篇讲下互斥体。本篇内核源码以内核5.10为例进行讲解 互斥锁的定义 其实信号量的值设置为1就可以使用信号量进行互斥访问了,…

中学生学人工智能系列:如何用AI学地理

经常有读者朋友给公众号《人工智能怎么学》留言咨询如何使用人工智能学习语文、数学、英语、化学等科目。这些都是中学教师、中学生朋友及其家长们普遍关注的问题。仅仅使用留言回复的方式,不可能对这些问题做出具体和透彻的解答,因此本公众号近期将推出…

Java—集合框架、时间和空间复杂度

一、集合框架 Java集合框架(Java Collection Framework),又称为容器(container),是定义在 java.util 包下的一组接口(interfaces)和其实现类(classes) 其主要表现为将多个元素(element)置于一个单元中,用于对这些元素进行快速、便捷的存储(…

纷享销客BI典型场景案例解析

本章以具体案例来说明纷享销客一体化BI智能分析平台为企业在实际使用过程中带来的价值。 1)场景一:销售经理想要在周会上关注各销售人员的客户及订单情况,并在每周一上午9点可以把上周的整体情况周期性的将报表推送给相关销售人员。 具体图表展示样式及…

人事管理系统有哪些优势?5大人事管理系统大盘点!

本人研究企业数字化转型10余年,为企业软件选型、数字化提供咨询服务!目前重点研究低代码数字化转型玩法,力争为各家企业探索出一条更具性价比的数字化方式。 人事管理系统有哪些优势?如何选择?又该怎样部署&#xff1…