ART: Automatic multi-step reasoning and tool-use for large language models 导读
ART: Automatic multi-step reasoning and tool-use for large language models
本文介绍了一种名为“自动推理和工具使用(ART)”的新框架,用于解决大型语言模型(LLM)在处理复杂任务时需要手动编写程序的问题。该框架可以自动选择任务库中的多步推理和工具使用的演示,并无缝地暂停和恢复生成过程以整合外部工具的输出。实验结果表明,ART比仅使用提示语和自动链式思维(CoT)方法在未见过的任务上表现更好,并且易于人类干预以提高性能。
论文方法
方法描述
本文提出的ART(Arithmetic Reasoning Tool)是一种基于自然语言处理技术的任务分解工具,它能够帮助人类将复杂的任务分解成多个子任务,并且为每个子任务提供相应的解决方案。具体来说,ART包含两个主要部分:任务库和工具库。任务库中存储了多种类型的任务,包括算术、代码生成与执行、搜索和问题分解等;而工具库则包含了各种工具,如搜索引擎、代码生成器以及计算器等。在使用ART时,用户只需要输入一个新任务的描述,然后ART会自动从任务库中找到与之相似的任务,并根据这些任务的程序来生成一个新的程序,该程序可以帮助用户完成新的任务。
方法改进
相比于传统的任务分解方法,ART具有以下优点:
-
可以自动化地完成任务分解过程,无需人工干预。
-
能够有效地跨任务学习,即在一个任务中学到的知识可以应用到其他相关任务中。
-
支持自定义工具库,使得用户可以根据自己的需求添加或修改工具,从而提高性能。
此外,ART还支持用户反馈机制,用户可以通过编辑任务库和工具库来自定义任务分解方案,从而进一步提高性能。
解决的问题
本文提出的方法解决了传统任务分解方法的一些缺点,例如需要大量的人工参与、无法跨任务学习等问题。同时,ART还可以通过用户反馈机制不断优化自身性能,因此可以应用于各种不同领域的任务分解场景。
论文实验
本文主要介绍了使用ART(Automated Reasoning Tool)框架进行多步推理和工具使用的实验结果,并与几个基线进行了比较。实验分为以下几个部分:
-
在任务库中对ART进行测试:在任务库中提供了两组任务演示程序,ART仅使用两个示例就可以显著提高性能,比少量示例的直接提示方法提高了14.9%的平均精度。
-
在BigBench等其他基准上测试ART:在没有显式分解和工具使用监督的情况下,ART可以成功应用于多个任务,并且在搜索任务中的表现特别好。
-
比较ART和其他基线:ART比其他基线如少示例学习和自动CoT(Conceptualizing Thinking)更有效,尤其是在需要使用代码生成器来执行复杂算术运算的任务中。
-
自我一致性实验:通过多次生成LLM输出并选择最频繁的答案,ART的性能得到了进一步提高。
-
人类反馈实验:通过编辑模型生成的程序并将其作为示范,ART的性能也得到了显著提高。
总的来说,本文展示了ART在多步推理和工具使用方面的优势,并证明了它具有良好的跨任务泛化能力。同时,本文还表明,在缺乏显式分解和工具使用监督的情况下,人类反馈可以显著提高ART的性能。
论文总结
文章优点
本文提出了一种名为ART的框架,可以自动地为大型黑盒语言模型生成多步推理过程,并使用工具库中的外部工具来提高性能。该框架通过检索任务库中与新任务相关的演示文稿,从而实现零样本分解和工具使用。ART提供了一个灵活但结构化的查询语言,使得解析中间步骤、停止生成以调用外部工具以及在包括这些工具输出后继续生成变得容易。此外,用户可以通过更新任务和工具库来修复任何错误或添加新工具,而无需重新训练模型。实验结果表明,ART在多个测试任务上表现优异,特别是在需要算术和算法推理的任务上表现出色。
方法创新点
ART的主要贡献在于引入了轻量级语法来表示多步推理作为程序(带有工具调用和参数),并扩展了一个包含有用外部工具(如搜索、代码生成和执行)的可扩展工具库。此外,ART还提供了解释性的推理框架,使人类能够改进任务分解和工具使用,从而进一步提高性能。ART还受益于自一致性等方法,或者通过针对工具使用的更强大的预训练语言模型进行训练。
未来展望
本文提出的ART框架具有广泛的应用前景,可以在各种领域中用于自然语言处理任务。例如,在智能客服、智能问答等领域中,可以利用ART框架来帮助机器理解用户的意图并提供相应的答案。此外,ART还可以与其他技术结合使用,例如强化学习和迁移学习,以进一步提高性能。在未来的研究中,我们还将探索如何将ART框架应用于其他类型的语言模型,并将其扩展到更多的任务和工具库中。
相关文章:

ART: Automatic multi-step reasoning and tool-use for large language models 导读
ART: Automatic multi-step reasoning and tool-use for large language models 本文介绍了一种名为“自动推理和工具使用(ART)”的新框架,用于解决大型语言模型(LLM)在处理复杂任务时需要手动编写程序的问题。该框架可…...

Github 2024-01-26 开源项目日报Top10
根据Github Trendings的统计,今日(2024-01-26统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目4Jupyter Notebook项目2HTML项目1Shell项目1Dockerfile项目1非开发语言项目1Go项目1Rust项目1 高级…...

免费的 UI 设计资源网站 Top 8
今日与大家分享8个优秀的免费 UI 设计资源网站。这些网站的资源包括免费设计材料站、设计工具、字体和其他网站,尤其是一些材料站。它们是免费下载的,材料的风格目前很流行,适合不同的项目。非常适合平面设计WEB/UI设计师收藏,接下…...
人机协同对人工智能治理的影响
人机协同对人工智能治理的影响是多方面的。 首先,人机协同可以提供更有效的人工智能监管和治理机制。人工智能系统通常需要大量的数据来训练和运行,而人类在监管和治理方面有独特的能力。通过人机协同,人们可以利用他们的主观意见和专业知识来…...
Form.List的使用,设置某个字段的值
1.Form.Item的name <Form.Itemname{[base_range, company_base_range_start]}dependencies{[[base_range, company_base_range_end]]}rules{[{ required: true, message: 请输入下限 },{validator: (_, value) >validateMoneyRule(value,base_range?.company_base_range…...
React16源码: React中的updateHostComponent的源码实现
updateHostComponent 1 )概述 在 completeWork 阶段的 HostComponent 处理,继续前文所述在更新的逻辑里面,调用了 updateHostComponent进行前后props对应的dom的attributes变化的对比情况这个方法也是根据不同环境来定义的,我们这…...

uniapp导入uView组件库
目录 准备工作 1. 新建一个项目 2. 导入uview组件库 3. 关于SCSS 配置步骤 1. 引入uView主JS库 2. 在引入uView的全局SCSS 3. 引入uView基础样式 4. 配置easycom组件模式 添加效果实验运行即可成功 准备工作 1. 新建一个项目 2. 导入uview组件库 在进行配置之前&#x…...

防御保护----防火墙的安全策略、NAT策略实验
实验拓扑: 实验要求: 1.生产区在工作时间(9:00-18:00)内可以访问DMZ区,仅可以访问http服务器; 2.办公区全天可以访问DMZ区,其中10.0.2.10可以访问FTP服务器和HTTP服务器…...

# 安徽锐锋科技IDMS系统简介
IDMS 由安徽锐锋科技独立开发 该系统负责和海算以及UE\UNITY的无缝衔接并具备远程数据库访问、高速数据库的自动创建及数据存储、支持MQTT等多种物联网接口,支持多种算法。主要完成由于物料、人员、生产、故障、不良异常、订单异常带来的生产损失,通过海…...

Notepad在文件中查找多行相同内容的文字
Notepad在文件中查找多行相同的内容 查找:打开 Notepad软件, Ctrl F 查找 。输入关键词, 点击【在当前文件中查找】。 复制:直接在下方的【搜索结果】复制。 Notepad提取含有特定字符串的行 详情见: https://blog…...
Python高超音速导弹
Python高超音速导弹的全自动化开发研发具有重要性的原因如下: 提高研发效率:全自动化开发可以通过自动化工具和流程,快速完成各种任务,包括代码编写、测试、集成和部署等。这样可以大大提高研发效率,缩短开发周期。 减…...

Java七大排序详解
排序 排序的概念 所谓排序 ,就是让一串记录,按照其中某些或者某个关键字的大小,递增或递减的排列起来的操作。 稳定性:就比如在待排序的序列中,存在多个具有相同关键字的记录 ,如果经过排序这些相同的关键…...

图像旋转角度计算并旋转
#!/usr/bin/python3 # -*- coding: utf-8 -*- import cv2 import numpy as np import timedef Rotate(img, angle0.0,fill0):"""旋转:param img:待旋转图像:param angle: 旋转角度:param fill:填充方式,默认0黑色填充:return: img: 旋转后…...

通过curl访问k8s集群获取证书或token的方式
K8S安全控制框架主要由下面3个阶段进行控制,每一个阶段都支持插件方式,通过API Server配置来启用插件。 1. Authentication(认证) 2. Authorization(授权) 3. Admission Control(准入控制&#…...

苍穹外卖-前端部分(持续更新中)
d 第二种:cmd中输入 vue ui进入图形化界面选择npm,vue2进行创建 先将创建的Vue框架导入Vsocde开发工具 然后ctrshiftp 输入npm 点击serve将项目启动 下这种写法跨域会报错: 解决方法:...

windows用mingw(g++)编译opencv,opencv_contrib,并install安装
windows下用mingw编译opencv貌似不支持cuda,选cuda会报错,我无法解决,所以没选cuda,下面两种编译方式支持。 如要用msvc编译opencv,参考我另外一篇文章 https://blog.csdn.net/weixin_44733606/article/details/1357…...

JDWP 协议及实现
JDWP 的协议细节并通过实际调试中的例子展开揭示 JDWP 的实现机制,JDWP 是 Java Debug Wire Protocol 的缩写,它定义了调试器(debugger)和被调试的 Java 虚拟机(target vm)之间的通信协议。 JDWP 协议介绍 这里首先要说明一下 debugger 和 target vm。Target vm 中运行…...

利用ADS建立MIPI D-PHY链路仿真流程
根据MIPI D-PHY v1.2规范中对于互连电气参数的定义,本次仿真实例中,需要重点关注如下的设计参数: 1. 差分信号的插入损耗Sddij和回拨损耗Sddii; 2. 模式转换损耗Sdcxx、Scdxx; 3. 数据线与时钟线之间的串扰耦合(远、近端)。 设计者还可以结合CTS中的补充…...

【大根堆】【C++算法】871 最低加油次数
作者推荐 【动态规划】【map】【C算法】1289. 下降路径最小和 II 本文涉及知识点 大根堆 优先队列 LeetCode:871最低加油次数 汽车从起点出发驶向目的地,该目的地位于出发位置东面 target 英里处。 沿途有加油站,用数组 stations 表示。其中 statio…...

SpringBoot的自动装配原理
一、SpringBootConfiguration注解的作用 SpringBootApplication注解是SpringBoot项目的核心注解,加在启动引导类上。点击进去可以发现SpringBootApplication注解是一个组合注解。其中SpringBootConfiguration和EnableAutoConfiguration是由Spring提供的,剩下的注解是由JDK提供的…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...

苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...

高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...

基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...
小木的算法日记-多叉树的递归/层序遍历
🌲 从二叉树到森林:一文彻底搞懂多叉树遍历的艺术 🚀 引言 你好,未来的算法大神! 在数据结构的世界里,“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的,它…...

Axure 下拉框联动
实现选省、选完省之后选对应省份下的市区...