大模型工具学习探索

导读大模型已经展示出在复杂场景下调动各类工具以解决复杂任务的能力。其深度的语义理解、广泛的世界知识,以及强大的推理和规划能力,共同使得人工智能在模拟人类使用工具的过程中展现出巨大的潜力。在此背景下,基础模型(FoundationModel)的工具学习(ToolLearning)应运而生,该领域的目标是让基础模型能够根据人类的指示和操作来使用工具,以解决特定任务。然而,无论是从理论研究还是实际应用的角度来看,该领域都面临着众多机遇和挑战。本文将介绍清华大学在工具学习领域的一些重要研究成果,并详细介绍其开源的交互式网页搜索中文问答框架WebCPM、BMTools和AgentVerse工具包。希望这些工作能够帮助读者深化对大模型工具学习领域的理解,同时也欢迎更多的研究者和开发者参与到这些工具包的使用和开发中来,共同推进大模型工具学习范式的发展。

1.工具学习背景(Background)

2.工具学习框架(Framework)

3.工具学习应用(Application)

4.问答环节

编辑整理|王帅

内容校对|李瑶

出品社区|DataFun

01

工具学习背景Background

1.工具与智能(ToolsandIntelligence)

工具是人类能力的延伸,旨在提高生产力和效率,以及解决问题。人与动物本质区别在于工具,人可以非常熟练地创造和使用工具。纵观历史,人类一直是工具发明和操作的主要推动者。

GPT-4等基础模型(FoundationModel)展示了其在理解人类意图、自动化复杂过程、解读多模态信息等方面的巨大潜力。同时也引发了如下问题:人工智能是否可以像人类一样使用工具?

基于大模型、基础模型(FoundationModel),上述问题的回答是Yes!主要原因如下:

上图给出了一些工具学习场景的典型应用:

2.工具学习的分类(CategorizationofToolLearning)

现有工具学习主要可以分为两类,工具增强学习(Tool-augmentedLearning)和工具导向学习(Tool-orientedLearning),其核心差异在于学习过程中,是通过工具执行来增强基础模型(工具为AI服务),还是通过基础模型优化工具的使用(AI为工具服务)。

工具增强学习利用各种工具的执行结果,增强基础模型性能。在这一范式中,工具执行结果被视为辅助生成高质量输出的外部资源。将工具作为额外资源辅助模型生成,如解决大模型生成过程中的时效性不足或事实性不准确的问题。如用户想了解今天Twitter的Trending,大模型可以调用Twitter的API,得到这些Trending后,再进行生成。

02

框架Framework

1.工具学习框架

一个通用的工具学习框架,类似强化学习MDP的架构,包含人类用户角色和四个关键组成部分:工具集、控制器、感知器和环境。

工具学习框架的整体流程始于人类用户,具体如下:

(1)意图理解IntentUnderstanding

在ChatGPT之前更多是NLP场景下的任务,大家的共识是模型理解语言比较困难。ChatGPT出现后,大模型基于InstructionTuning技术,具备了非常强的理解人类指令潜在意图的能力,可依据人的指令去解决真实场景下用户的Query问题。

大模型将NLP任务包装为多种instruction格式,进行大规模有监督的精调(Fine-Tuning),实现从指令空间到模型认知空间映射的学习。上述训练后的大模型具备了在未学习过的指令上的泛化能力,且随着模型的增大,训练数据量的增大及diversity的增强,其泛化能力会越来越强。

工具学习场景下意图理解面临两方面的挑战:

(2)工具理解ToolUnderstanding

在大模型中,除了需要模型对人类指令进行准确理解外,模型对工具的理解同样至关重要。首先,模型需要理解工具的功能;其次,模型需要知道如何在特定的任务中使用这些工具。在ChatGPT出现之前,主要的模式是通过记录人类使用工具的行为,并让模型模拟这些行为以实现工具使用的学习。而随着ChatGPT的出现,我们可以通过PromptLearning,即在Prompt中给出工具的描述,让大模型理解并应用工具。这种基于Prompt的方式目前已经成为大模型使用工具的主流方法。具体Prompting有如下两种:

提供一个描述任务的提示(prompt)来引导模型生成正确的输出。在Prompt中描述API的功能、输入输出格式、传参方式等,使得模型理解API如何使用。如下图,Zero-shotPrompting给出了forecastweatherAPI,描述其功能、返回信息等,然后去解决“下周北京的平均气温是多少”的问题。

优点:不需要为每个新任务重新训练模型,节省了大量的计算资源;并且可以快速适应新任务,只需为任务编写新的提示即可。

缺点:性能通常不如使用特定任务训练数据进行Fine-tuning的方法;且编写有效的提示需要一定的技巧和经验。

不仅给出任务描述性提示,还要直接展示少量(few-shot)的使用工具的示例,模型通过模拟人类的行为,理解如何使用工具。如下图,Few-shotPrompting给出了调用API的示例(如何回答问题—明天上海的温度),然后再让大模型利用API去解决问题。

优点:利用少量示例帮助模型理解任务,提高了模型的性能。比Zero-shotPrompting更灵活,可以应对更多种类的任务。

缺点:需要选择有代表性的示例,这需要一定的专业知识和经验。对于一些复杂的任务,可能需要更多的示例才能达到满意的性能。

(3)规划与推理PlanningandReasoning

大模型除了理解工具和人类的指令,还须具备规划和推理能力。

依据规划与环境是否交互,模型的推理分成两种:

大模型首先生成多个候选答案,然后自评估答案的优劣,最后选择最优的答案。

模型生成一个静态规划(给出未来任务列表),不与环境交互,适用于简单的场景。

如果Prompt指令合理,早期的预训练语言模型(PretrainedLanguageModels)已经具备理解和使用上下文的incontext能力,可将high-level的任务有效地分解为mid-level的规划,而无需进一步的训练。

大模型默认解决方案,不断根据每一步的成败以及环境和人类的反馈,动态跟进该规划,直至整个流程完成。

方案1:

上篇论文通过设定valuefunction限定了模型在每种场景下可做的任务,模型在某一场景下,只在上述的限制任务集合中进行选择,可以保证模型的可执行。

方案2:

可解决多步或多工具场景下的复杂问题的模型

不同工具之间的依赖关系

不同工具并行化执行(模型的生成是流式的)

(4)训练策略TrainingStrategies

大模型下,虽然直接Prompting就可以让模型学会使用工具,但在具备一定数据的特定场景下,进行微调通常都会有收益,除非数据的质量有问题。大模型学习使用工具的方式有两种:

2.WebCPM

(1)WebGPT介绍

2021年12月WebGPT的发布标志着基于网页搜索的问答新范式的诞生,该篇工作(Nakano,Reiichiro,etal."WebGPT:Browser-assistedquestion-answeringwithhumanfeedback."arXivpreprintarXiv:2112.09332(2021))可以算是工具学习领域最早期的工作,其做法为基于人类记录的大量搜索引擎使用的行为数据进行有监督Fine-Tune和强化学习,使得大模型学会使用搜索引擎。该文证明只需6000条数据就可让模型很好地学会如何使用搜索引擎,且能力会超越人类专家。

(2)WebCPM介绍

(3)WebCPM搜索交互界面

(4)WebCPM数据集

WebCPM的数据集包含5500对高质量的问题-答案对以及十万多条真实用户网页搜索行为。

LFQA数据样例特点:

(5)LFQApipeline框架

WebCPM建模包含两类模型:

Action预测模块(预测在该平台的下一个action,大约10个action,建模为一个多分类任务)

Query生成模块(生成搜索的query,用文本生成来实现,P(Qt+1|St))

Fact抽取模块(对当前页面抽取摘要)

(6)整体pipeline评测

WebCPM工作是在ChatGPT3.5发布之前,当时的基础模型与ChatGPT还是有一定的差距,随着CPM模型的改进,当前内部测试发现可以远超人类水平。

3.其他工作

(1)WebShop

大模型如何学会使用亚马逊购物网站?可以类似搜索引擎,构建WebShop:

(2)Toolformer

WebCPM和WebShop都需要让大模型学习大量人类标注数据,如何让大模型可以触类旁通学习,降低人类标注成本或降低人类的参与度?

动机:

方法:

步骤:

给定一个纯文本数据集,构建出一个带有API调用的数据集,然后在此数据集上做微调

Toolformer这项工作展示了大模型具备很强的自学的能力,大模型可自主学习工具,并可不断提升工具使用的能力。

(3)ToolCreation

在证实大模型可以使用工具后,我们的ToolCreation工作在整个领域首先提出了模型作为工具创造者的想法。在21世纪之前,通常认为人类是工具创造和使用的主要主体,而基础模型的出现可能颠覆这一观念,创造工具不再是人类专有的能力。

每个任务其实最好都是能用工具解决,现实场景下不一定存在最适合解决该任务的工具,可以通过大模型生成解决该任务的工具。人类创造的工具都是为人类设计,为人类设计的工具不一定是最好的,大模型可以定义更加适合自己的工具接口,该接口不一定适合人类使用。通过初步验证,大模型可以将一个简单工具API升级为具有更好功能的工具,基础模型可能具有自发创造工具的潜力。

所以我们提了这样一个框架,给定任何一个query,我们会让模型先去做一遍工具的生成。具体包含四个步骤:creation、Decision、Execution、Rectification。

这个过程会持续进行,直到模型创造出一个能够有效解决当前任务的工具,就可以跳出这个循环。这种设计使模型具有了持续学习和自我优化的能力,从而提升了其解决问题的效率和效果。

通过实验发现增加工具生成,使得解决实际任务的能力增强,相较PoT和CoT都有显著的提升。

工具的创造过程从本质上说是降低了后续任务的难度。如果只有一个质量很差的工具,那么可能需要付出巨大的精力才能使用这个工具来解决一个复杂的任务。所以,从这个角度出发,引出我们工作的核心理念:先创造工具,再用这个工具去解决任务。

03

应用Application

1.开源平台BMTools

(1)ChatGPT插件

OpenAI发布了支持联网、解决数学计算的插件ChatGPTPlugins,被称为OpenAI的“AppStore”。然而,由于目前其仅支持部分OpenAIPlus用户,大多数开发者仍然无法使用。

(2)BMTools介绍

为解决这个痛点,我们推出了BMTools工具学习包,一个基于语言模型的开源可扩展工具学习平台。

我们将各种调用流程统一到一个框架上,使整个工具调用流程标准化、自动化。开发者可通过BMTools,使用给定的模型(ChatGPT、GPT4)调用多种工具接口,实现特定任务或功能。

BMTools具有如下一些特性:

2.ToolBench

ToolBench项目,可以帮助开发者构建开源、大规模、高质量的指令调优数据,促进构建具有通用工具使用能力的大语言模型。

ToolBench工具包特性如下:

构建过程:

ToolBench基于BMTools,在有监督数据中训练大语言模型。所有的数据都是由OpenAIAPI自动生成并由开发团队进行过滤,数据的创建过程很容易扩展。

ToolLLaMA

通过ChatGPT对LLaMA和ChatGPT的答案和工具使用链进行自动评估。

评估结果如下(分数越高越好),ToolLLaMA在不同场景下与ChatGPT的性能相同或更好。

3.工具学习必读PaperList

04

问答环节

Q1:WebCPM是否针对网络中网页搜索质量低,进行搜索结果过滤等设计?

A1:WebCPM针对页面低质量搜索内容进行了过滤。

Q2:在不同语言上的效果如何,例如在中文任务上的效果怎么样?

A2:WebCPM背后的基础模型CPM是由面壁智能与OpenBMB开源社区开发的百亿参数中文语言模型,占据多个中文领域语言模型排行榜前列。

Q3:WebCPM和WebGLM的区别?

WebGLM则是一个基于大语言模型(LLM)的联网问答聊天机器人,其工作流程是固定且流程化的,包括搜索、页面检索、页面信息摘取和总结等步骤。这一框架为进一步提升每一步骤的能力提供了极好的基础,随着每一步骤能力的增强,最终的模型效果有可能超越现有的大模型。

INTRODUCTION

秦禹嘉

清华大学

博士生

秦禹嘉,男,清华大学计算机系2020级直博生。主要研究方向为大规模语言模型的高效预训练与下游智能化应用,曾在ACL、NAACL、EMNLP、ICLR、NeurIPS等会议发表多篇一作论文。

THE END
1.OpenLMS:全面开源学习管理系统指南简介:OpenLMS 是一个开源的学习和课程内容管理平台,支持在线教学与互动学习环境。其核心优势在于代码开源,允许定制和共享。提供了包括课程管理、学生协作、评估反馈、用户管理、报告统计和扩展集成在内的多项功能。本指南将详细解读 OpenLMS 的架构、开发与更新过程,以及代码和数据目录结构,是教育从业者和技术开发者了解https://blog.csdn.net/weixin_35899324/article/details/144059668
2.百度为何开源深度机器学习平台?5月20日,百度在github上开源了其深度机器学习平台。此番发布的深度机器学习开源平台属于“深盟”的开源组织,其核心开发者来自百度深度学习研究院(IDL),微软亚洲研究院、华盛顿大学、纽约大学、香港科技大学,卡耐基·梅陇大学等知名公司和高校。 5月20日,百度在github上开源了其深度机器学习平台。此番发布的深度机器学习https://www.51cto.com/article/477831.html
3.飞桨PaddlePaddle飞桨致力于让深度学习技术的创新与应用更简单。具有以下特点:同时支持动态图和静态图,兼顾灵活性和效率;精选应用效果最佳算法模型并提供官方支持;真正源于产业实践,提供业界最强的超大规模并行深度学习能力;推理引擎一体化设计,提供训练到多端推理的无缝对接;唯一提https://www.paddlepaddle.org.cn/science
4.开放式在线学习平台edX全部开源开源软件2011年底,麻省理工学院发起一项开放式在线学习项目“MITx”,用于提供该学院的免费在线课程。去年5月份,哈佛大学也加入进来,与麻省理工学院一起推出了“edX”平台,该平台也提供哈佛大学的相关课程。 在edX平台宣布之初,曾承诺以开源软件的形式发布,以 MITx 为基础,其它感兴趣的大学和机构可自行托管其平台,或者帮助改进和https://www.iteye.com/news/27883
5.全国仅两家!曙光深度学习开源平台入列国家AI重大工程美通社PR曙光深度学习开源平台入列国家AI重大工程 曙光联合中科院计算技术研究所、北京市商汤科技开发、云宏信息科技、成都索贝数码科技申报的“面向深度学习应用的开源平台建设及应用”项目成功入选《2018年“互联网+”、人工智能创新发展和数字经济试点重大工程支持项目名单》。https://www.prnasia.com/story/203909-1.shtml
6.教育管理革命:一站式开源学习平台开源日报No.190教育管理革命:一站式开源学习平台 | 开源日报 No.190 ixahmedxi/noodlehttps://github.com/ixahmedxi/noodle Stars:10.4kLicense:AGPL-3.0 picture Noodle 是一个开源的教育平台,旨在重新思考学生的效率问题。 该项目具有以下核心优势和关键特性: 模块/科目管理https://cloud.tencent.com/developer/article/2390883
7.飞桨paddlepaddle开源深度学习平台飞桨PaddlePaddle 031 AI工具集合AI开发框架 开源深度学习平台 标签:AI开发框架 21-1+1+1+ 链接直达手机查看 开源深度学习平台 数据统计 相关导航https://laohouqi.cn/sites/1610.html
8.WLP在线学习平台WLP在线学习平台- WLP在线学习平台-开源版 --- 通过WLP在线学习平台获得线上学习能力,可辅助企业线下培训或将企业培训课件放置在系统中,方便用户随时随地在线学习。 每个课程可包含多个课时课件,课件支持PDF和mp4视频格式。 课程分类支持多级分类,灵活组织不同类型的http://wlp.wcpknow.com/
9.OSCHINAOSCHINA.NET 是目前领先的中文开源技术社区。我们传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台https://www.oschina.net/
10.百度正式宣布推出深度学习开源平台PaddlePaddle芊雅企服百度近日正式对外宣布开放其深度学习开源平台PaddlePaddle,这也是继Google、Facebook、IBM后又一家将人工智能技术开源的公司。 PaddlePaddle的前身是百度于2013年自主研发的深度学习平台Paddle(Parallel Distributed Deep Learning,并行分布式深度学习),且一直为百度内部工程师研发使用。 https://www.kejianet.cn/paddlepaddle/
11.类脑认知智能引擎“智脉”:全脉冲神经网络的新一代人工智能开源平台据类脑认知智能引擎“智脉”开源平台负责人曾毅研究员介绍,脉冲神经网络(Spiking Neural Network, SNN)作为第三代神经网络,从编码方式、学习法则、信息传递和处理机制等多个角度模拟了生物脑,具有更强的生物可解释性,更加适合建模大脑的各项认知功能,另一方面,由于脉冲序列的稀疏表征,也使得脉冲神经网络具有潜在的低能耗https://aidc.shisu.edu.cn/77/db/c11041a161755/page.htm
12.立创开源硬件平台基于嘉立创EDA进行电路设计的硬件开源设计大本营,集嵌入式、电子模块、DIY设计、物联网、智能硬件、电子应用、电工电子等多种电路设计模块为一体的开源硬件平台https://www.oshwhub.com/
13.字节跳动破局联邦学习:开源Fedlearner框架,广告投放增效209%作为分布式的机器学习范式,联邦学习能够有效解决数据孤岛问题,让参与方在不共享数据的基础上联合建模,挖掘数据价值。 近两年,联邦学习技术发展迅速,阿里、腾讯、百度、京东、蚂蚁金服、微众银行等一众互联网大厂、金融科技公司皆涉足其中。前不久,字节跳动联邦学习技术团队也开源了自研的联邦学习平台 Fedlearner 。 https://maimai.cn/article/detail?fid=1550604028&efid=zqj9rqK7Yf_Us-lu-0Wnmg
14.[开源]教学实训云平台小程序:满足教学实训学习测评于一体一、开源项目简介 教学实训云平台小程序端:满足教学、实训、学习、测评于一体,随时随地开展实训和学习。 二、开源协议 使用Apache-2.0开源协议 三、界面展示 部分功能截图 四、功能概述 功能列表 首页: 我教的课:显示老师的课程(未开始、进行中、已结束) https://code.exmay.com/detail/1351
15.上海人工智能实验室发布开源平台体系OpenXLab开源是推动人工智能技术进步的重要力量。7月8日,上海人工智能实验室在2021世界人工智能大会的开幕式和科学前沿全体会议上发布其开源平台体系OpenXLab,首发阵容包括两大开源平台:新一代OpenMMLab以及全新发布的OpenDILab。 作为深度学习时代计算机视觉领域最具影响力的开源算法平台, OpenMMLab升级后将涵盖更广泛的算法领域和应https://finance.eastmoney.com/a/202107081989632720.html
16.关于本站学习网站这是一个关于learnsite学习的站点,域名是openlearnsite。用意:1、是希望大家开启learnsite学习,用于信息技术学科教学;2、open意味着开源,希望大家能了解learnsite是“温州水乡”老师编写的一个开源的学习平台。正如“温州水乡”在平台说明中描述的:learnsite学习平台为自由免费软件(仅对平台优化有帮助者提供开发源码)。感谢为http://www.openlearnsite.com/about-site/
17.GitHubFastBee开源物联网平台,简单易用,更适合中小企业和个人学习使用。适用于智能家居、智慧办公、智慧社区、农业监测、水利监测、工业控制等。 系统后端采用Spring boot;前端采用Vue;消息服务器采用EMQX;移动端支持微信小程序、安卓、苹果和H5采用Uniapp;数据库采用Mysql、TDengine和Redis;设备端支持ESP32、ESP8266、树莓派、https://github.com/vsrising/FastBee/
18.大模型为什么是深度学习的未来?人工智能蓝海大脑GPU一、开源开发框架,深度学习平台的基础核心 开源开发框架作为深度学习平台的基础核心,结合编程范式、大规模分布式等关键技术,打造易用、高效、可扩展的框架引擎,解决了工业应用中的广泛问题。培训、软件适配和硬件 ,专注于提高人工智能产品以及软硬件解决方案的开发效率和易用性。 https://xie.infoq.cn/article/d2563c7ce0c59b6c51ef774b8
19.自动化所开放“及第”多智能体开源开放平台科研方面,“及第”平台紧跟智能体博弈决策智能前沿学术研究,建设以单智能体、多智能体强化学习算法为主的决策智能开源算法“秘籍”库,并提供算法在不同环境中的可复现结果,方便智能体博弈研究者直接引用,减少重复性的实验。 应用方面,“及第”平台积极对接决策智能领域的实际应用场景,并将实际问题按照统一接口封装,以“https://www.cas.cn/syky/202110/t20211011_4808510.shtml