用ChatGPT「指挥」数百个模型,HuggingGPT让专业模型干专业事(1)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 用ChatGPT「指挥」数百个模型,HuggingGPT让专业模型干专业事

用ChatGPT「指挥」数百个模型,HuggingGPT让专业模型干专业事

机器之心 2023-04-03 13:16 发表于北京

机器之心报道

机器之心编辑部

ChatGPT 这次成为数百个模型的管理者。

几个月来,ChatGPT、GPT-4 的相继爆火,让人们看到大型语言模型 (LLM) 在语言理解、生成、交互和推理方面表现出的非凡能力,这引起了学界和业界的极大关注,也让人们看到了 LLM 在构建通用人工智能 (AGI) 系统方面的潜力。


要实现 AGI,LLM 要面临诸多挑战,包括:


  • 受限于文本生成的输入和输出形式,当前的 LLM 缺乏处理视觉和语音等复杂信息的能力;
  • 在现实场景中,一些复杂的任务通常由多个子任务组成,因此需要多个模型的调度和协作,这也超出了语言模型的能力范围;
  • 对于一些具有挑战性的任务,LLM 在零样本或少样本情况下表现出优异的结果,但它们仍然弱于一些专用的微调模型。


其中,最重要的一点是实现 AGI 需要解决不同领域、不同模式的复杂 AI 任务,而现有 AI 模型大多是用于特定领域特定任务。


基于此,来自浙江大学和微软亚研的研究者最近提出了一种让 LLM 充当控制器的新方法,让 LLM 来管理现有的 AI 模型以解决复杂的 AI 任务,并且使用语言作为通用接口。该研究提出的 HuggingGPT 是一个利用 LLM 连接机器学习社区(例如 HuggingFace)中各种 AI 模型以解决复杂 AI 任务的系统。


论文地址:https://arxiv.org/abs/2303.17580

项目地址:https://github.com/microsoft/JARVIS


具体来说,HuggingGPT 在收到用户请求时使用 ChatGPT 进行任务规划,根据 HuggingFace 中可用的功能描述选择模型,用选定的 AI 模型执行每个子任务,并根据执行结果汇总响应。借助 ChatGPT 强大的语言能力和 HuggingFace 丰富的 AI 模型,HuggingGPT 能够完成覆盖不同模态和领域的复杂 AI 任务,并在语言、视觉、语音等具有挑战性的任务中取得了令人印象深刻的结果。HuggingGPT 为走向通用人工智能开辟了一条新的道路。

我们先来看一下 HuggingGPT 完成任务的例子,包括文档问题回答、图像转换、视频生成和音频生成:


还有为图像生成复杂详尽的文本描述:



为了处理复杂的 AI 任务,LLM 需要与外部模型协调以利用它们的能力。因此,问题的关键是如何选择合适的中间件来桥接 LLM 和 AI 模型之间的连接。


该研究注意到每个人工智能模型都可以通过总结其模型功能来表示为一种语言形式。因此,该研究提出一个概念:「语言是 LLM 连接 AI 模型的通用接口」。通过将 AI 模型的文本描述融入到 prompt 中,LLM 可以被视为管理(包括规划、调度和协作) AI 模型的「大脑」。


另一个挑战是,解决大量的 AI 任务需要收集大量高质量的模型描述。在这一点上,该研究注意到一些公共 ML 社区通常会提供各种适用于特定 AI 任务的模型,并且这些模型具有定义明确的描述。因此该研究决定将 LLM(例如 ChatGPT)与公共 ML 社区(例如 GitHub、HuggingFace、Azure 等)联系起来,通过基于语言的接口解决复杂的 AI 任务。


截至目前,HuggingGPT 已经围绕 ChatGPT 在 HuggingFace 上集成了数百个模型,涵盖了文本分类、目标检测、语义分割、图像生成、问答、文本转语音、文本转视频等 24 个任务。实验结果证明了 HuggingGPT 在处理多模态信息和复杂 AI 任务方面的强大能力。并且,HuggingGPT 将继续添加面向特定任务的 AI 模型,从而实现可增长和可扩展的 AI 功能。


HuggingGPT 介绍


HuggingGPT 是一个协作系统,大型语言模型(LLM)充当控制器、众多专家模型作为协同执行器。其工作流程共分为四个阶段:任务规划、模型选择、任务执行和响应生成。


  • 任务规划:ChatGPT 等 LLM 首先对用户请求进行解析,进行任务分解,并根据其知识规划任务顺序和依赖关系;
  • 模型选择:LLM 将解析后的任务分配给专家模型;
  • 任务执行:专家模型在推理端点上执行分配到的任务,并将执行信息和推理结果记录到 LLM;
  • 响应生成:LLM 对执行过程日志和推理结果进行汇总,并将汇总结果返回给用户。


接下来我们看看这四步具体实现过程。


任务规划


在 HuggingGPT 的第一阶段,大型语言模型接受用户请求并将其分解为一系列结构化任务。复杂的请求往往涉及多个任务,大型语言模型需要确定这些任务的依赖关系和执行顺序。为了促使大型语言模型进行有效的任务规划,HuggingGPT 在其提示设计中采用了基于规范的指令和基于演示的解析。


通过在提示中注入几个演示,HuggingGPT 允许大型语言模型更好地理解任务规划意图和标准。目前,HuggingGPT 支持的任务列表如表 1、表 2、表 3 和表 4 所示。可以看出,HuggingGPT 覆盖 NLP、CV、语音、视频等任务。


模型选择


在解析任务列表之后,HuggingGPT 为任务列表中的每个任务选择适当的模型。为了实现这一过程,该研究首先从 HuggingFace Hub 获得对专家模型的描述(模型描述大致包括模型功能、体系架构、支持的语言和域、许可等信息。)然后通过上下文中的任务模型分配机制动态地为任务选择模型。


任务执行


一旦将任务分配给特定模型,接下来就是执行任务,即执行模型推理。为了加速和计算稳定性,HuggingGPT 在混合推理端点上运行这些模型。将任务参数作为输入,模型计算推理结果,然后将信息反馈给大型语言模型。


响应生成


所有任务执行完成后,HuggingGPT 进入响应生成阶段。在这一阶段,HuggingGPT 将前三个阶段(任务规划、模型选择和任务执行)的所有信息整合成一个简洁的摘要,包括计划任务列表、模型选择和推理结果。其中最重要的是推理结果,它是 HuggingGPT 做出最终决策的基础。这些推理结果以结构化格式出现,例如对象检测模型中具有检测概率的 bounding boxes、问答模型中的答案分布等。


实验


该研究使用 gpt-3.5-turbo、text-davinci-003 这两种 GPT 模型的变体当做大型语言模型,这些模型可以通过 OpenAI API 公开访问。表 5 提供了任务规划、模型选择和响应生成阶段详细的提示设计。

HuggingGPT 对话演示示例:在演示中,用户输入一个可能包含多任务或多模态资源的请求。然后 HuggingGPT 依靠 LLM 组织多个专家模型的合作,生成反馈给用户。



相关文章
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型】ChatGPT模型原理介绍(下)
【AI大模型】ChatGPT模型原理介绍(下)
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型】ChatGPT模型原理介绍(上)
【AI大模型】ChatGPT模型原理介绍(上)
|
3月前
|
人工智能 开发者 芯片
【51单片机】单片机开发者的福音: 让AI看电路图帮你编写程序(使用ChatGPT 中训练好的单片机工程师模型)
使用AI大语言模型编写 单片机程序. 使用的是 OpenAI公司发布的 ChatGPT .在ChatGPT上有别人训练好的 单片机工程师 with Keil uVision 5 - C Code Explainer模型, 可以上传电路图改模型可以通过这个用户所给的电路图进行编程.
249 0
【51单片机】单片机开发者的福音: 让AI看电路图帮你编写程序(使用ChatGPT 中训练好的单片机工程师模型)
|
2月前
|
存储 Linux API
物理地址模型 【ChatGPT】
物理地址模型 【ChatGPT】
|
2月前
|
Linux API 调度
设备的能量模型【ChatGPT】
设备的能量模型【ChatGPT】
|
2月前
|
Linux 程序员 编译器
将驱动程序移植到新的驱动模型 【ChatGPT】
将驱动程序移植到新的驱动模型 【ChatGPT】
|
2月前
|
设计模式 Linux
驱动模型 【ChatGPT】
驱动模型 【ChatGPT】
|
3月前
|
人工智能 自然语言处理 搜索推荐
chatgpt这么火,现在AI搜索引擎有哪些呢?
国外AI搜索引擎包括ChatGPT,擅长自然语言处理与内容生成;Google Bard,提供智能个性化搜索体验;Microsoft Bing集成GPT模型增强智能检索;Perplexity AI以简洁答案及文献引用著称;Neeva强调隐私保护与无广告服务。国内方面,天工AI支持多种功能如知识问答与代码编程;腾讯元宝基于混元模型助力内容创造与学习;360AI搜索以精准全面的信息搜索见长;秘塔AI专注提升写作质量和效率;开搜AI搜索提供个性化智能搜索服务。以上引擎均利用先进AI技术提升用户体验。更多详情参阅[AI搜索合集](zhangfeidezhu.com/?page_id=651)。
112 8
chatgpt这么火,现在AI搜索引擎有哪些呢?
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
HuggingGPT解析:使用 ChatGPT及HuggingFace上的族系解决AI问题
HuggingGPT是一个框架,它使用大型语言模型(如ChatGPT)作为控制器来管理和协调Hugging Face上的AI模型,以语言作为通用接口解决多模态和领域的复杂AI任务。
59 0
HuggingGPT解析:使用 ChatGPT及HuggingFace上的族系解决AI问题
|
3月前
|
机器学习/深度学习 人工智能 算法
为什么ChatGPT等AI大模型都是基于Python开发?
为什么ChatGPT等AI大模型都是基于Python开发?