2023+HuggingGPT: Solving AI Tasks with ChatGPT and itsFriends in Hugging Face
摘要:
语言是llm(例如ChatGPT)连接众多AI模型(例如hugs Face)的接口,用于解决复杂的AI任务。在这个概念中,llms作为一个控制器,管理和组织专家模型的合作。LLM首先根据用户请求规划任务列表,然后为每个任务分配专家模型。专家执行任务后,LLM收集结果并响应用户。
问题:
1.尽管LLMs在NLP任务中取得了重大成就,但由于文本输入和输出形式的限制,目前的LLMs缺乏处理复杂信息(如视觉和语音)的能力。
2.在现实场景中,一些复杂的任务通常由多个子任务组成,因此需要多个模型的调度和协作,这也超出了语言模型的能力。
3.对于一些具有挑战性的任务,LLMs在零射击或少射击设置中表现出出色的结果,但他们仍然比一些专家(例如,微调模型)弱。
贡献点:
1. 为了补充大型语言模型和专家模型的优势,提出了HuggingGPT。HuggingGPT将llm作为规划和决策的大脑,针对每个特定任务自动调用和执行专家模型,为通用AI解决方案的设计提供了新的途径。
2. 通过将Hugging Face与ChatGPT周围的许多任务特定模型集成,HuggingGPT能够处理涵盖多种模式和领域的广义人工智能任务。HuggingGPT通过模型间的开放协作,为用户提供多模式、可靠的服务。
3. 指出了HuggingGPT(和自治代理)中任务规划的重要性,并制定了一些实验评估来衡量llm的规划能力。
4.在跨语言、视觉、语音和跨模态的多个具有挑战性的人工智能任务上进行的大量实验表明,HuggingGPT在理解和解决来自多个模态和领域的复杂任务方面具有巨大的潜力。
方法:
整体流程
1.任务规划:使用ChatGPT分析用户的请求,了解用户的意图,并通过提示将其分解为可能可解决的任务。
通常,在实际场景中,许多用户请求将包含一些复杂的意图,因此需要编排多个子任务来实现目标。因此,我们制定任务规划作为HuggingGPT的第一阶段,目的是利用LLM分析用户请求,然后将其分解为结构化任务的集合。此外,我们还需要LLM来确定依赖关系以及这些分解任务的执行顺序,以建立它们之间的联系。
2.模型选择:为了解决计划的任务,ChatGPT根据模型描述选择托管在hug Face上的专家模型。
完成任务规划后,HuggingGPT接下来需要将任务和模型进行匹配,即在解析的任务列表中为每个任务选择最合适的模型。为此,我们使用模型描述作为连接各个模型的语言接口。更具体地说,我们首先从机器学习社区(例如,hug Face)获得专家模型的描述,然后通过上下文任务模型分配机制动态选择任务模型。该策略支持增量模型访问(简单地提供专家模型的描述),并且可以更加开放和灵活地使用ML社区。
上下文任务模型分配我们将任务模型分配表述为一个单选问题,其中潜在的模型在给定的上下文中作为选项呈现。通常,HuggingGPT能够根据提示符中提供的用户查询和任务信息,为每个已解析的任务选择最合适的模型。然而,由于最大上下文长度的限制,提示符不可能包含所有相关的模型信息。为了解决这个问题,我们首先根据它们的任务类型过滤掉模型,只保留那些与当前任务类型匹配的模型。对于这些选定的模型,我们将根据它们在hug Face上的下载次数对它们进行排名(我们认为下载可以在一定程度上反映模型的质量),然后选择top-K的模型作为HuggingGPT的候选模型。此策略可以大大减少提示中的令牌使用,并有效地为每个任务选择适当的模型。
3.任务执行:调用并执行每个选定的模型,并将结果返回给ChatGPT。
一旦将特定的模型分配给已解析的任务,下一步就是执行该任务,即执行模型推理。因此,在这个阶段,HuggingGPT会自动将这些任务参数输入到模型中,执行这些模型来获得推理结果,然后将其发送回LLM。在这个阶段有必要强调资源依赖的问题。由于先决条件任务的输出是动态生成的,因此HuggingGPT还需要在启动任务之前动态地指定任务的依赖资源。
4.响应生成:最后,利用ChatGPT整合所有模型的预测并为用户生成响应。
在所有任务执行完成后,HuggingGPT需要生成最终响应。HuggingGPT将前三个阶段(任务规划、模型选择和任务执行)的所有信息集成为这一阶段的简明总结,包括计划任务列表、任务选择的模型以及模型的推断结果。其中最重要的是推理结果,这是HuggingGPT做出最终决策的关键点。这些推理结果以结构化的格式呈现,如对象检测模型中带有检测概率的边界框,问答模型中的答案分布等。HuggingGPT允许LLM接收这些结构化的推理结果作为输入,并以友好的人类语言形式生成响应。此外,LLM不是简单地聚合结果,而是生成主动响应用户请求的响应,从而提供具有置信度的可靠决策。
整体流程如下图所示:语言是llm(例如ChatGPT)连接众多AI模型(例如hugs Face)的接口,用于解决复杂的AI任务。在这个概念中,LLM作为一个控制器,管理和组织专家模型的合作。LLM首先根据用户请求规划任务列表,然后为每个任务分配专家模型。专家执行任务后,LLM收集结果并响应用户。

一个huggingGPT的例子,如下图所示。HuggingGPT的工作流程以LLM(如ChatGPT)为核心控制器,专家模型为执行者,分为四个阶段:1)任务规划:LLM将用户请求解析为任务列表,确定任务之间的执行顺序和资源依赖关系;2)模型选择:基于专家模型在hug Face上的描述,LLM为任务分配合适的模型;3)任务执行:混合端点上的专家模型执行分配的任务;4)响应生成:LLM集成专家的推理结果,生成工作流日志汇总,响应用户。

局限性:
(1)HuggingGPT中的规划严重依赖于LLM的能力。因此,我们不能保证生成的计划总是可行和最优的。因此,如何对LLM进行优化,提高LLM的规划能力至关重要;
(2) 在我们的框架中,效率是一个共同的挑战。为了构建这样一个具有任务自动化的协作系统(例如HuggingGPT),它严重依赖于一个强大的控制器(例如ChatGPT)。然而,HuggingGPT在整个工作流程中需要与llm进行多次交互,从而增加了生成响应的时间成本;
(3)令牌长度是使用LLM时的另一个常见问题,因为最大令牌长度总是有限的。虽然有些作品已经将最大长度扩展到32K,但如果我们想要连接众多的模型,这对我们来说仍然是无法满足的。因此,如何简单有效地总结模型描述也是值得探索的问题;
(4)不稳定性的主要原因是llm通常是不可控的。虽然LLM在生成方面很熟练,但在预测过程中仍有可能不符合指令或给出不正确的答案,导致程序工作流程出现异常。如何减少推理过程中的不确定性是设计系统时必须考虑的问题。
相关文章:
2023+HuggingGPT: Solving AI Tasks with ChatGPT and itsFriends in Hugging Face
摘要: 语言是llm(例如ChatGPT)连接众多AI模型(例如hugs Face)的接口,用于解决复杂的AI任务。在这个概念中,llms作为一个控制器,管理和组织专家模型的合作。LLM首先根据用户请求规划任务列表,然后为每个任务分配专家模…...
Ant Design Mobile是什么?
在当今的数字时代,移动应用程序和网页设计已经成为各行各业的重要组成部分。用户界面的设计直接影响到用户体验和产品的成功。为了帮助设计师在移动设计领域更好,Antdesignmobile应运而生。Antdesignmobile是蚂蚁金服的移动UI设计语言和框架,…...
深入理解设计模式-行为型之模板(和回调区别联系)
概述 模板设计模式(Template Design Pattern)是一种行为型设计模式,它定义了一个算法的骨架,将算法的一些步骤延迟到子类中实现。模板设计模式允许子类在不改变算法结构的情况下重新定义算法的某些步骤。 模板设计模式的核心思想…...
LabVIEW控制通用工作台
LabVIEW控制通用工作台 用于教育目的的计算机化实验室显着增长,特别是用于运动控制的实验室。它们代表了各种工业应用中不断扩大的领域,并成为以安全的方式使用通常昂贵或独特的实验室设备进行实时实验的宝贵工具。NI LabVIEW等软件应用程序的开发和不断…...
什么是事务,并发带来的事务问题以及事务隔离级别(图文详解)
一、什么是事务? 简单说就是逻辑上的一组操作,要么都执行,要么都不执行。 举个例子,假如小明要给小红转账100元,这个转账会涉及到两个关键操作:①将小明的余额减少100元。 ②将小红的余额增加100元 。但…...
【MySQL】MySQL数据库的delete from table和truncate table之间的区别
DELETE FROM table 和 TRUNCATE TABLE 是两种不同的数据库操作,用于从MySQL数据库的表中删除数据。它们有以下区别: 操作方式:DELETE FROM table 是一种逐行删除的操作,它会逐个删除表中的每一行数据,并且可以带有条件…...
强制Edge或Chrome使用独立显卡【WIN10】
现代浏览器通常将图形密集型任务卸载到 GPU,以改善你的网页浏览体验,从而释放 CPU 资源用于其他任务。 如果你的系统有多个 GPU,Windows 10 可以自动决定最适合 Microsoft Edge 自动使用的 GPU,但这并不一定意味着最强大的 GPU。 …...
easyx图形库基础:3实现弹球小游戏
实现弹球小游戏 一.实现弹球小游戏:1.初始化布:2.初始化一个球的信息:3.球的移动和碰撞反弹4.底边挡板的绘制和移动碰撞重置数据。 二.整体代码: 一.实现弹球小游戏: 1.初始化布: int main() {initgraph(800, 600);setorigin(40…...
vue基础知识三:v-show和v-if有什么区别?使用场景分别是什么?
一、v-show与v-if的共同点 我们都知道在 vue 中 v-show 与 v-if 的作用效果是相同的(不含v-else),都能控制元素在页面是否显示 在用法上也是相同的 <Model v-show"isShow" /> <Model v-if"isShow" />当表达式为true的时候&#…...
Python Opencv实践 - 图像旋转
import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png", cv.IMREAD_COLOR)#图像旋转 #Opencv中的旋转,首先通过cv.getRotationMatrix2D获得旋转矩阵 #cv.getRotationMatrix2D(center,ang…...
第五章 Opencv图像处理框架实战 5-10 文档扫描OCR识别
一、整体流程演示 上一篇我们进行了银行卡数字识别,这次我们利用opnecv等基础图像处理方法实现文档扫描OCR识别,该项目可以对任何一个文档,识别扫描出该文档上所有的文字信息。 为了方便后续程序运行,大家可以在Run->Edit Configuration中配置相关参数,选择相应编译器…...
CentOS 7 源码制作openssh 9.4p1 rpm包 —— 筑梦之路
参考之前的博客: centos 7 制作openssh8.7/8.8/8.9/9.0/9.1/9.2/9.3 p1 rpm包升级——筑梦之路_openssh rpm包_筑梦之路的博客-CSDN博客 需要说明的是9.4版本必须要openssl 1.1.1,低于此版本无法完成编译。这也是单独写这篇文章的必要性。 参考这篇编…...
OpenCV图像处理——轮廓检测
目录 图像的轮廓查找轮廓绘制轮廓 轮廓的特征轮廓面积轮廓周长轮廓近似凸包边界矩形最小外接圆椭圆拟合直线拟合 图像的矩特征矩的概念图像中的矩特征 图像的轮廓 查找轮廓 binary,contours,hierarchycv.findContours(img,mode,method)绘制轮廓 cv.drawContours(img,coutours…...
【论文阅读】基于深度学习的时序预测——Non-stationary Transformers
系列文章链接 论文一:2020 Informer:长时序数据预测 论文二:2021 Autoformer:长序列数据预测 论文三:2022 FEDformer:长序列数据预测 论文四:2022 Non-Stationary Transformers:非平…...
开发者如何使用讯飞星火认知大模型API?
目录 1、申请星火API接口 2、使用星火API接口 3、测试编译效果 之前我们使用网页文本输入的方式体验了讯飞星火认知大模型的功能(是什么让科大讯飞1个月股价翻倍?),本篇博文将从开发者角度来看看如何使用讯飞星火认知大模型API…...
linux 系统中vi 编辑器和库的制作和使用
目录 1 vim 1.1 vim简单介绍 1.2 vim的三种模式 1.3 vim基本操作 1.3.1命令模式下的操作 1.3.2 切换到文本输入模式 1.3.3 末行模式下的操作 2 gcc编译器 2.1 gcc的工作流程 2.2 gcc常用参数 3 静态库和共享(动态)库 3.1库的介绍 3.2静态…...
麒麟arm架构 编译安装qt5.14.2
1、先在官网下载qt源码: https://download.qt.io/archive/qt/5.14/5.14.2/single/[qt源码下载地址] 2、解压编译 使用tar -xvf qt-everywhere-src-5.14.2.tar.xz 解压压缩包 cd qt-everywhere-src-5.14.2 执行 ./configure --prefix/usr/local/qt.5.14.2 make -…...
【springmvc系】利用RequestBodyAdviceAdapter做接口鉴权
需求 有个简单的需求,对于第三方接口我们需要做个简单的鉴权机制,这边使用的是非对称性加密的机制。我们提供三方公钥,他们通过公钥对接口json报文使用加密后的报文请求,我们通过对接收过来的请求某一个加密报文字段来进行RSA解密…...
ROS学习笔记(三)---好用的终端Terminator
ROS学习笔记文章目录 01. ROS学习笔记(一)—Linux安装VScode 02. ROS学习笔记(二)—使用 VScode 开发 ROS 的Python程序(简例) 一、Terminator是什么? 在前面的学习中,为了运行hello.py我是在vscode频繁的点击运行窗口的“”号…...
NFT Insider#102:The Sandbox重新上线LAND桥接服务,YGG加入Base生态
引言:NFT Insider由NFT收藏组织WHALE Members(https://twitter.com/WHALEMembers)、BeepCrypto(https://twitter.com/beep_crypto)联合出品,浓缩每周NFT新闻,为大家带来关于NFT最全面、最新鲜、最有价值的讯息。每期周…...
Elixir Plug安全防护:CSRF保护、SSL强制与基础认证的终极教程
Elixir Plug安全防护:CSRF保护、SSL强制与基础认证的终极教程 【免费下载链接】plug Compose web applications with functions 项目地址: https://gitcode.com/gh_mirrors/pl/plug Elixir Plug 是一个强大的 Web 应用构建工具,提供了全面的安全防…...
终极窗口管理指南:如何让重要窗口始终置顶提升3倍工作效率
终极窗口管理指南:如何让重要窗口始终置顶提升3倍工作效率 【免费下载链接】AlwaysOnTop Make a Windows application always run on top 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop 你是否曾经在视频会议时,会议窗口突然被弹出的…...
Visium HD空转实战:Space Ranger v4.0.1从安装到结果解读全流程
1. Visium HD与Space Ranger初探 第一次接触Visium HD技术时,我被它强大的空间转录组分析能力震撼到了。简单来说,这项技术能让我们在组织切片上精确到单个细胞的位置,同时获取它们的基因表达数据。想象一下,这就像给组织样本拍了…...
极验点选验证码识别避坑指南:如何应对验证码图片更新带来的挑战
极验点选验证码动态对抗实战:从数据迭代到模型优化的全链路解决方案 当你的验证码识别模型突然失效时,第一反应是什么?上个月刚跑通的极验点选验证码识别系统,在验证码图片更新后准确率从92%暴跌至17%,这是我们团队最近…...
Arcgis林业资源管理实战:从GPS打点到小班成图的完整工作流
ArcGIS林业资源管理实战:从GPS打点到小班成图的完整工作流 林业资源调查是森林经营管理的基石,而GIS技术正在彻底改变传统林业调查的工作模式。记得去年参与某林场资源普查时,我们团队用传统方法完成一个林班调查需要两周,而采用A…...
手把手教你用STM32F103C8T6+DHT11做个智能加湿器(附完整代码和PCB文件)
从零打造智能加湿器:STM32F103C8T6与DHT11的完美组合 在干燥的秋冬季节,一台能够自动调节湿度的智能加湿器不仅能提升生活舒适度,更是电子爱好者展示技能的绝佳项目。本文将带你从元器件选型开始,逐步完成一个基于STM32F103C8T6单…...
Simulink双矢量MPC实战:从郭磊磊论文到可运行的Matlab Function代码(调制模型预测控制详解)
Simulink双矢量MPC实战:从理论到代码的完整实现路径 当我在实验室第一次尝试复现郭磊磊老师那篇经典论文时,面对12种矢量组合和复杂的PWM生成逻辑,完全不知从何下手。经过三个月的反复试验和代码调试,终于摸清了从论文公式到可运行…...
【WEB模型】CS架构BS架构HTMLCSSJS
一、CS架构 - Client/Server 客户端/服务器pc安装软件:安卓应用、ios应用需要安装专门软件才能用,软件直接跟服务器通信开发成本高,各个平台都有对应的开发工程师好处:功能强大二、BS架构 - Browser/Server 浏览器/服务器不需要安…...
使用Image - To - image条件生成对抗网络评估乳腺癌新辅助化疗反应的动态对比增强MRI血管渗透性映射
论文总结1、提出了一种基于条件生成对抗网络(cGAN)的新方法,用于将动态对比增强磁共振成像(DCE MRI)快速转换为药代动力学(PK)血管通透性参数图(Ktrans),以早…...
2025最权威的降AI率网站实际效果
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 有的技术方案,其旨在减低文本人工智能生成特征,这就是降AIGC工具。它…...
