LLMs可以进行任务规划吗?如果不行,LLMs+GNN可以吗?

深度图学习与大模型LLM(小编): 大家好,今天向大家介绍一篇最新发布的研究论文(20240530)。这篇论文探讨了如何通过引入GNN来提高大模型在任务规划(task planning)中的性能。*论文分析了LLMs在任务规划上的局限性,并提出了一种简单而有效的解决方案。*

img

1. 基本信息

论文题目:Can Graph Learning Improve Task Planning?

作者:Xixi Wu, Yifei Shen, Caihua Shan, Kaitao Song, Siwei Wang, Bohang Zhang, Jiarui Feng, Hong Cheng, Wei Chen, Yun Xiong, Dongsheng Li

作者研究单位:

  • Fudan University
  • Microsoft Research Asia
  • Peking University
  • Washington University, Saint Louis
  • The Chinese University of Hong Kong
  • 论文代码:https://github.com/WxxShirley/GNN4TaskPlan

2. 研究背景

任务规划旨在将用户的请求分解为可解决的子任务,进而完成原始请求。

在任务规划中,子任务可以表示为一个图(graph),其中节点代表子任务,边表示子任务之间的关系。因此,任务规划本质上是在图上选择一条连通路径或子图并执行的决策问题。 基于这一视角,本文分析了LLMs在任务规划中的能力。研究发现,LLMs在识别任务结构方面存在一定的局限性。

本文首先调研了Transformer在处理序列化图输入(如边列表表示)的图任务时的能力。实验发现,尽管边列表输入并不能直接反映图的几何结构,但可以通过模拟边列表上的动态规划算法来解决图决策问题。但是,本文也发现LLMs的解决方案缺乏图同构不变性。 此外,如果注意力(attention)是稀疏的,表达能力会被削弱。 除了表达能力外,本文还考察了自回归损失(auto-regressive loss)的影响,证明其引入了可能有害于图决策任务的虚假相关性。 这些insight揭示了LLMs在任务规划以及更广泛的图相关问题中的固有局限性。

为了解决这些局限性,本文用LLMs将模糊的用户请求分解为详细的步骤。然后,利用GNN根据这些详细步骤和对应的子任务描述来检索相关的子任务。值得注意的是,如果采用无参数的GNN模型(如SGC),该方法可以在无需训练的情况下实现。对于基于训练的方法,本文应用贝叶斯个性化排序(Bayesian Personalized Ranking, BPR)损失来促进从隐式子任务排序中学习。

3. 方法

与LLMs不同,*GNNs可以严格地在任务图上操作,从而避免产生幻觉(hallucination)。*此外,*GNNs利用图结构作为输入,而不是将图展平为序列,从而克服了前面讨论的理论局限性。*

具体来说,本文考虑了training-free和基于training-based两种方法。

对于training-free的方法,本文采用了参数无关的GNN,即简化图卷积(Simplified Graph Convolution, SGC):

在为步骤选择任务节点时,使用e5-355M嵌入LLMs生成的步骤为。给定先前选择的任务节点序列,根据以下公式选择下一个节点:

其中是节点嵌入。特别地,可以从整个图中选择。这种逐个节点选择的方法受到GNNs用于组合优化等决策问题的传统研究的启发。

对于training-based的方法,推理过程与无需训练的方法类似,不同之处在于用参数化的GNN(如GAT或GraphSAGE)替代了无参数的GNN。训练损失采用贝叶斯个性化排序(BPR)损失:

其中表示由e5-355M生成的步骤的文本描述的嵌入,是正样本(ground-truth)任务,是负样本任务。本文选择与正样本在文本上相似的任务作为负样本,并为每个正样本限制选择2个负样本以提高计算效率。可训练参数可能仅包括GNNs,也可能同时包括GNNs和e5-355M。

4. 实验发现

本文在4个数据集上进行了广泛的实验,包括:

  • HuggingFace tasks
  • Multimedia tasks
  • Daily Life API tasks (来自TaskBench)
  • TMDB API tasks (来自RestBench)

实验结果表明:

  1. 与直接使用LLMs相比,引入SGC始终可以提高性能,突出了所提出方法的有效性。 尽管GraphSearch类型的方法可以通过更长的处理时间获得更好的结果,但本文提出的方法可以在计算代价减少5-10倍的情况下实现相当或更好的性能。
  2. 与无需训练的方法相比,采用基于训练的GraphSAGE方法可以显著提高性能。 值得注意的是,GNNs与e5-355M的联合训练并没有带来显著的改进,这表明消息传递(message passing)是提高性能的关键因素。
  3. 所提出的方法与改进的提示(prompt)以及微调(fine-tuning)技术正交。 将GNN应用于改进的提示模板或微调后的LLMs,可以进一步提高性能。
  4. 训练成本非常低 因为本文使用e5-355M作为GNNs的文本嵌入模型。如果可训练参数仅限于GNNs,训练通常在3分钟内完成。此外,当GNNs与e5-355M模型联合训练时,训练时长也仅为15分钟。这与微调开源LLMs所需的10-20小时形成鲜明对比。

5. 结论

本文探讨了基于图学习的任务规划方法。通过理论分析,揭示了注意力机制的归纳偏差和自回归损失的效用阻碍了LLMs在任务规划中的有效性。 为了解决这些局限性,本文提出了将GNNs引入任务图分析,在不同的LLMs和数据集上均取得了性能提升。

尽管取得了令人鼓舞的性能,但仍存在一些值得进一步探索的局限性和机遇:

  1. 本文提出的方法虽然有效,但仍然比较简单。更复杂的基于GNN的决策算法有望进一步改进性能。

  2. 目前的框架中,GNNs作为一个外部模块,与LLMs的交互有限。探索GNNs和LLMs的协同作用,特别是将GNN输出作为LLMs中的Token,是一个有趣的研究方向。

  3. 当前任务图的构建仍需要人工努力。研究用于此应用的自动图生成技术是另一个有前景的未来工作方向。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

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

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

相关文章

代理IP池:解析与应用

代理IP大家都了解不少了,代理IP池又是什么呢?下面简单介绍一下吧! 1. 概述 代理IP池就是由多个代理IP地址组成的集合,用于实现更高效的网络访问和数据获取。这些IP地址通常来自不同的地理位置和网络提供商,经过动态管…

科普文:浮点数精度运算BigDecimal踩坑和填坑

概叙 用过Java的BigDecimal类型,但是很多人都用错了。如果使用不当,可能会造成非常致命的线上问题,因为这涉及到金额等数据的计算精度。 首先说一下,一般对于不需要特别高精度的计算,我们使用double或float类型就可以了…

【机器学习理论基础】回归模型定义和分类

定义 回归分析是研究自变量与因变量之间数量变化关系的一种分析方法,它主要是通过因变量 Y Y Y与影响它的自变量 X i X_i Xi​ 之间的回归模型,衡量自变量 X i X_i Xi​ 对因变量 Y Y Y 的影响能力的,进而可以用来预测因变量Y的发展趋势。…

中国AI已遥遥领先

关注卢松松,会经常给你分享一些我的经验和观点。 种种迹象表明,中国的AI产业是仅次于美国的存在,中国的AI已经遥遥领先,其他国家。 根据中国信息通信研究院发布的报告称: 根据中国信息通信研究院近日发布的《全球…

【C++深度探索】全面解析多态性机制(一)

hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页:大耳朵土土垚的博客 &#x1…

万物皆可嵌入--embedding在GPU中的实现

摘要 Embedding技术自从谷歌推出word2vec的工作后得到迅速的应用,典型应用之一是在广告推荐场景中,从word2vec演进到item2vec,embedding技术的出现也使深度学习进入广告推荐的场景成为可能。广告推荐模型动辄几十GB甚至TB的模型大小&#xf…

数据结构(Java):集合类LinkedList集合类Stack

1、集合类LinkedList 1.1 什么是LinkedList LinkedList的底层是一个双向链表的结构(故不支持随机访问): 在LinkedList中,定义了first和last,分别指向链表的首节点和尾结点。 每个节点中有一个成员用来存储数据&…

TikTok短视频矩阵管理系统源码

在数字化浪潮汹涌的今天,短视频已成为人们生活中不可或缺的一部分。TikTok作为短视频领域的佼佼者,其用户基数庞大,影响力深远。然而,对于众多内容创作者和营销人员来说,如何高效管理多个TikTok账号,实现批…

分布式训练

一、分布式计算 跟多GPU不同是:数据不是从主存拿的,是在分布式文件系统拿的,有多个工作站,工作站中有多个GPU,通过网络读取数据到GPU中,GPU通过网络接收到来自参数服务器的参数进行运算计算梯度&#xff0c…

Biotinylated L-Thyroxine (T4) ;生物素 L-甲状腺素(T4)

一、基本信息 常用名:Biotinylated L-Thyroxine (T4) 生物素 L-甲状腺素(T4) 英文名称:Biotinylated L-Thyroxine (T4) 中文名称:生物素 L-甲状腺素(T4) 二、组成与性质 生物素:一种水溶性维生素,也称为维生素B7&#…

Photoshop批量处理图片分辨率

整理一些文件的时候,发现需要处理大量图片的尺寸和分辨率。如果一张一张的处理就会很慢,搜了下,Photoshop提供自动批量处理的方法。在此记录一下。 一、说说批量处理图片 1.打开PS软件并导入图片,我用的是比较老的版本cs4&#…

在创建jsp项目中解决无法连接数据库以及junit问题

💻博主现有专栏: C51单片机(STC89C516),c语言,c,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux&#xf…

将 Vision Transformer 用于医学图像的语义分割

关于ViT的关键点如下: ViT架构基于将图像表示为一组补丁。图像补丁是图像的非重叠块。每个块最初都有一个由该块中的图像像素形成的嵌入向量。Transformer编码器是ViT的主要部分,它根据它们的类别归属来训练补丁之间的相似度。它包含一系列线性、归一化…

拥抱UniHttp,规范Http接口对接之旅

前言 如果你项目里还在用传统的编程式Http客户端比如HttpClient、Okhttp去直接对接第三方Http接口, 那么你项目一定充斥着大量的对接逻辑和代码, 并且针对不同的对接渠道方需要每次封装一次调用的简化, 一旦封装不好系统将会变得难以维护&am…

SprintBoot创建遇到的问题

最近使用IDEA版本为2022.3.1&#xff0c;java版本为21.0.3&#xff0c;现在做一个创建SprintBoot3的一个大体流程 1.先下载Maven&#xff0c;解压到一个位置 maven下载 2.配置setting.xml文件 这路径自己配置&#xff0c;这里不多演示 代码如下&#xff1a; <mirror>&…

前端如何取消接口调用

&#x1f9d1;‍&#x1f4bb; 写在开头 点赞 收藏 学会&#x1f923;&#x1f923;&#x1f923; 1. xmlHttpRequest是如何取消请求的&#xff1f; 实例化的XMLHttpRequest对象上也有abort方法 const xhr new XMLHttpRequest(); xhr.addEventListener(load, function(e)…

开关电源——15种控制模式(1)

关于开关电源的控制模式&#xff0c;TI官网的控制模式快速参考指南有相对全面的归纳和描述&#xff0c;提供了15种不同的控制架构&#xff0c;这些架构涵盖了从基础到高级的多种控制模式&#xff0c;以适应不同的应用需求&#xff0c;如下表所示&#xff1a; 以下是对控制模式相…

记一次Ueditor上传Bypss

前言 前一段时间和小伙伴在某内网进行渗透测试&#xff0c;目标不给加白&#xff0c;只能进行硬刚了&#xff0c;队友fscan一把梭发现某资产疑似存在Ueditor组件&#xff0c;但初步测试是存在waf和杀软的&#xff0c;无法进行getshell&#xff0c;经过一番折腾最终getshell&am…

一个 Docker 搭建的自动化电视剧下载和管理工具

大家好,我是CodeQi! 一个标准的“追剧狂人”。每周都有新剧上线,每天都要时刻关注各大影视平台的更新,这无疑是一项体力与脑力并存的艰巨任务。 于是,我决定为自己打造一个自动化的电视剧下载和管理工具。作为一个程序员,用 Docker 搭建这种自动化工具简直是小菜一碟。…

PointCloudLib GridMinimum获取栅格最低点 C++版本

测试效果 简介 在点云库(Point Cloud Library, PCL)中,如果你想要获取一个栅格(Grid)内的最低点,这通常意味着你需要先对点云数据进行某种形式的栅格化处理,然后在每个栅格内寻找最低的点。 测试代码 pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointC…