中科院提出“思维传播”,极大增强ChatGPT等模型复杂推理能力

中国科学院自动化研究所与耶鲁大学计算机系研究人员联合发布了,一份名为《思维传播:用大型语言模型进行基于类比的复杂推理》的论文。

ChatGPT等大型语言模型展示出了超强的创造能力,只需简单的文本提示就能生成小说、营销创意、简历等各种文本内容。但在处理复杂的推理任务时却差强人意,主要面临从0推理以及在任务推理过程中错误累加两大难题。

为了解决这些难题,研究人员提出了思维传播(Thought Propagation,简称“TP”)的技术框架,通过提出类比问题、解决类比问题、聚合类比问题,从而提升大语言模型的复杂推理能力。

根据在最短路径寻优、创造性写作和语言模型智能体计划测试结果显示,相比传统方法,思维传播将性能分别提升了12%、13%和15%。

简单来说,就是为大语言模型添加一种拟人化的“类比思想”,让其学会总结、利用过往的成功经验,不必总是从0开始。

论文地址:https://arxiv.org/abs/2310.03965
在这里插入图片描述

思维传播框架简单介绍

从论文内容来看,思维传播框架模拟的就是人类的“类比思想”。当我们遇见新问题时,经常会使用过往的经验、行动来解决这些难题,这也被称为“类比推理”。

思维传播框架主要由LLM Propose、LLM Solve、LLM Aggregate、多层实现和即插即用等多个模块组成。

LLM Propose :通过使用 prompt 的方式让语言模型提出与输入问题相关的类比问题。提出的类比问题可以从两个角度帮助解决输入问题:(1)类比问题的解可以直接转移应用到输入问题上;(2)解决类比问题可以推导出针对输入问题的计划。

在这里插入图片描述

LLM Solve:使用现有的提示方法(如 Chain-of-Thought)来解决输入问题和 LLM Propose 模块提出的类比问题。得到输入问题和类比问题的初始解。

LLM Aggregate:该模块聚合类比问题的解来增强输入问题。具体来说,有两种方式: (1)提示语言模型基于类比问题的结果直接产生输入问题的新解。

(2)比较输入问题和类比问题,并基于类比问题的结果推导针对输入问题的计划。然后执行该计划来纠正输入问题的中间推理。

多层实现:可以堆叠多个思维传播层,以利用 K 跳的类比问题来逐层改进输入问题的解。

在这里插入图片描述

即插即用:思维传播兼容现有方法,可以应用到不同的推理任务中,只需要替换 LLM Solve 模块的具体实现。

思维传播框架性能测试

为验证思维传播框架的性能,研究团队在最短路径寻优、创造性写作和语言模型智能体计划三大任务上进行了比较实验。

结果显示,思维传播相比于仅使用提示方法的基线系统,在找到最优解的性能提升12%,在生成连贯段落的性能提升13%,在完成任务的性能提升15%。

在这里插入图片描述

研究人员指出,这三个任务分别需要搜索图结构数据、开放式写作和长时间计划,当前的提示方法仍面临挑战。

而思维传播框架展现了在这些复杂推理任务上取得显著提升的潜力。同时,该框架提供了一种可即插即用的通用类比推理方法,可避免针对特定任务设计定制提示,降低使用门槛。

思维传播框架对大语言模型的重要性

从思维传播框架在GPT-4、GPT-3.5等大语言模型的测试结果来看,可显著提升复杂推理能力,并减少推理的错误。

提高复杂推理能力: 思维传播可以重用解决类比问题的经验,来增强大语言模型处理复杂任务的能力,例如,最短路径寻优、创造性写作等需要多步推理的任务。

减少推理错误:通过比较类比问题的解来指导输入问题的推理,可以帮助大语言模型避免从0开始推理时容易堆积的错误。

减少任务特定提示设计:提供了一个通用的类比推理框架,可以即插即用地应用到不同任务,减少了针对特定任务设计定制提示的工作量。

提供新的研究视角:思维传播为研究社区提供了,从类比推理视角来增强大模型复杂推理能力的新思路和有效途径。

表现优于同等规模模型:在多个任务上的试验表明,基于思维传播的GPT-4明显优于不使用该框架的GPT-4,以及其他同等计算量的模型。

可扩展性:思维传播是是一个通用框架,未来可继续优化和扩展到更多的复杂推理任务中,以发挥GPT-4等大语言模型的潜力。

在这里插入图片描述

总体来说,思维传播框架的优势在于可以重用类比问题的解来直接得到输入问题的新解,避免从0开始推理。

同时,它还可以学习到解决类比问题的总体策略,推导出计划来指导输入问题的推理,以此规避中间步骤的错误。

在这里插入图片描述

本文素材来源中国科学院自动化研究所论文,如有侵权请联系删除

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

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

相关文章

自动监控网站可用性并发送通知的 Bash 脚本

在现代的互联网世界中,网站的可用性对于业务的成功至关重要。如果您是一个网站管理员或负责监控网站运行状况的工程师,那么您知道及时发现并解决问题对于确保用户满意度至关重要。如何使用 Bash 脚本来监控多个网站的可用性,并在网站出现问题…

VUE3基础知识梳理

VUE3基础知识梳理 一、vue了解和环境搭建1.vue是什么:cn.vuejs.org/vuejs.org2.渐进式框架3.vue的版本4.vueAPI的风格5.准备环境5.1.创建vue项目5.2.vue的目录结构 二、vue3语法1.干净的vue项目2.模板语法2.1 文本插值2.2属性绑定2.3条件渲染2.4列表渲染2.5通过key管…

Python自动化测试框架pytest的详解安装与运行

这篇文章主要为大家介绍了Python自动化测试框架pytest的简介以及安装与运行,有需要的朋友可以借鉴参考下希望能够有所帮助,祝大家多多进步 1. pytest的介绍 pytest是一个非常成熟的全功能的python测试工具,它主要有以下特征: 简…

读书笔记—《如何阅读一本书》

读书笔记—《如何阅读一本书》 一、阅读的层次1、主动阅读的基础一个阅读者要提出的四个基本问题 2、基础阅读(第一层)3、检视阅读(第二层)4、分析阅读(第三层) 二、阅读不同读物的方法三、阅读的最终目标1…

AF_UNIX和127.0.0.1(AF_INET)回环地址写数据速度对比(二)

之前写了篇博客:AF_UNIX和127.0.0.1(AF_INET)回环地址写数据速度对比 然后利用的是发送端读取大文件,接收方接收并保存为文件的方式进行测试,结果发现,AF_UNIX并未比127.0.0.1(AF_INET)回环地址优秀,若单次发送的字节数…

Linux C select 的学习

一. select 系统调用 1. 函数说明 #include <sys/select.h> #include <sys/time.h>int select(int nfds, fd_set *readset, fd_set *writeset, fd_set *exceptset,struct timeval *timeout);nfds: 是一个整数值&#xff0c;是指集合中所有文件描述符的范围&#…

日常学习记录随笔-zabix实战

使用zabix结合 实现一套监控报警装置 不管是web开发还是大数据开发 我们的离线项目还是实时项目也好&#xff0c;都需要把我们的应用提交到我们服务器或者容器中去执行 整个应用过程中怎么保证线上整体环境的稳定运行 监控很重要 现在比较主流的就是 普罗米修斯以及zabix 我要做…

Docker-harbor私有仓库部署与管理

搭建本地私有仓库 #首先下载 registry 镜像 docker pull registry #在 daemon.json 文件中添加私有镜像仓库地址 vim /etc/docker/daemon.json { "insecure-registries": ["20.0.0.50:5000"], #添加&#xff0c;注意用逗号结…

Apache Solr9.3 快速上手

Apache Solr 简介 Solr是Apache的顶级开源项目&#xff0c;使用java开发 &#xff0c;基于Lucene的全文检索服务器。 Solr比Lucene提供了更多的查询语句&#xff0c;而且它可扩展、可配置&#xff0c;同时它对Lucene的性能进行了优化。 安装 下载 : 下载地址解压 : tar -zxv…

day04-前台首页、导出项目依赖

1 前台首页 1.1 Header.vue 1.2 Footer.vue 1.3 Banner.vue 1.4 HomeView.vue 1.5 轮播图接口打通 2 导出项目依赖 3 抽取返回格式 1 前台首页 -在项目的components文件夹下&#xff1a; 新建&#xff1a;Header.vueFooter.vueBanner.vue1.1 Header.vue <template>&…

Unity可视化Shader工具ASE介绍——6、通过例子说明ASE节点的连接方式

大家好&#xff0c;我是阿赵。继续介绍Unity可视化Shader编辑插件ASE的用法。上一篇已经介绍了很多ASE常用的节点。这一篇通过几个小例子&#xff0c;来看看这些节点是怎样连接使用的。   这篇的内容可能会比较长&#xff0c;最终是做了一个遮挡X光的效果&#xff0c;不过把这…

Docker部署gitlab_ce(避坑版---社区版)

1 下载docker 2 下载gitlab镜像 3 运行 4 进入容器内部修改 5 在浏览器里访问 6 修改root密码&#xff08;如果忘记请修改&#xff09; 1 下载docker # 安装依赖 yum install -y yum-utils device-mapper-persistent-data lvm2# 设置yum源 yum-config-manager --add-repo https…

【动手学深度学习-Pytorch版】BERT预测系列——用于预测的BERT数据集

本小节的主要任务即是将wiki数据集转成BERT输入序列&#xff0c;具体的任务包括&#xff1a; 读取wiki数据集生成下一句预测任务的数据—>主要用于_get_nsp_data_from_paragraph函数从输入paragraph生成用于下一句预测的训练样本&#xff1a;_get_nsp_data_from_paragraph生…

css常见问题处理

文章目录 1&#xff1a;禁止文字被复制粘贴1.1 Css 处理1.2 Js 处理 2&#xff1a;元素垂直水平居中2.1:方案一2.2 方案二2.3 方案三2.4 方案四2.5 方案五 1&#xff1a;禁止文字被复制粘贴 1.1 Css 处理 <div class"text">我不可以复制信息</div> <…

语义分割笔记(三):通过opencv对mask图片来画分割对象的外接椭圆

文章目录 mask图像介绍步骤代码 mask图像介绍 根据 mask 图像来画分割对象的外接椭圆是一种常见的图像分割任务。Mask 图像通常是一个二值图像&#xff0c;其中包含了感兴趣对象的像素。通常情况下&#xff0c;白色像素表示对象&#xff0c;黑色像素表示背景。 步骤 以下是一…

CCAK—云审计知识证书学习

目录 一、CCAK云审计知识证书概述 二、云治理概述 三、云信任 四、构建云合规计划 <

js中 slice 用法用法全解析

slice 工作原理 在深入研究一些更高级的用法之前&#xff0c;让我们看一下 slice 方法的基础知识。如MDN文档&#xff0c; slice 是数组上的一个方法&#xff0c;它最多有两个参数: arr.slice([begin[, end]]) begin 从该索引处开始提取原数组中的元素,如果该参数为负数&am…

Linux和UNIX的关系及区别

UNIX 与 Linux 之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中&#xff0c;UNIX 诞生于 20 世纪 60 年代末&#xff0c;Windows 诞生于 20 世纪 80 年代中期&#xff0c;Linux 诞生于 20 世纪 90 年代初&#xff0c;可以说 UNIX 是操作系统中的"老大哥&…

Web 前端汇总

一、前端技术框架 1、Vue.js 官网&#xff1a;https://cn.vuejs.org/ Vue CLI&#xff1a;https://cli.vuejs.org/ 菜鸟教程&#xff1a;http://www.runoob.com/w3cnote… Nuxt.js&#xff1a;https://zh.nuxtjs.org/ 桌面应用Electron&#xff1a;https://electronjs.org/ 2、…

Python利用jieba分词提取字符串中的省市区(字符串无规则)

目录 背景库&#xff08;jieba&#xff09;代码拓展结尾 背景 今天的需求就是在一串字符串中提取包含&#xff0c;省、市、区&#xff0c;该字符串不是一个正常的地址;,如下字符串 "安徽省、浙江省、江苏省、上海市,冷运标快首重1kg价格xx元,1.01kg(含)-5kg(不含)续重价…