HuggingGPT和HuggingFace
HuggingGPT
HuggingGPT是⼀个 Agent 框架,利⽤ ChatGPT 作为任务规划器,根据每个模型的描述来 选择 HuggingFace 平台上可⽤的模型, 最后根据模型的执⾏结果⽣成总结性的响应 。这个 项⽬⽬前已在 Github 上开源, 并且有⼀个⾮常酷的名字叫做 JARVIS(钢铁侠的助⼿) 。这 项研究主要涉及到两个主体, ⼀个是众所周知的 ChatGPT, 另⼀个是 AI 社区中的 Hugging Face。
这个系统包含四个阶段:
1.任务规划:使⽤LLM作为⼤脑,将⽤户的请求解析为多个任务 。每个任务都有任务类 型 、ID 、依赖关系和参数四个属性 。系统会使⽤⼀些示例来指导LLM进⾏任务解析和规 划。
具体指令如下:
. "dep"字段表示前⼀个任务的ID ,该任务⽣成了当前任务所依赖的新资源。
. “-task_id ”字段指的是具有任务ID为task_id的依赖任务中⽣成的⽂本图像 、⾳频和视频。
⽤户和HuggingGPT之间的聊天⽇志被记录下来, 并显示在显示资源历史记录的屏幕上。 2.模型选择:LLM将任务分配给专⻔的模型, 这些请求被构建成了⼀道多项选择题。
LLM为⽤户提供了⼀个模型列表供选择 。由于上下⽂⻓度的限制, 需要根据任务类型进行过滤 具体指令如下
根据⽤户请求和调⽤命令,Agent 帮助⽤户从模型列表中选择⼀个合适的模型来处理⽤户请 求 。Agent 仅输出最合适模型的模型ID 。输出必须采⽤严格的JSON格式:{ “id ” : “模型ID” , “reason ” : “您选择该模型的详细原因”}。
之后, HuggingGPT根据下载次数对模型进⾏排名, 因为下载次数被认为是反映模型质量的 可靠指标 。选择的模型是根据这个排名中的 “Top-K ”模型来进⾏的 。K在这⾥只是⼀个表示 模型数量的常数,例如, 如果设置为3 ,那么它将选择下载次数最多的3个模型。
3.任务执⾏:专家模型在特定任务上执⾏并记录结果。 具体指令如下:
根据输⼊和推理结果,Agent 需要描述过程和结果 。前⾯的阶段可以形成下⽅的输⼊
⽤户输⼊:{{⽤户输⼊}} ,任务规划:{{任务}} ,模型选择:{{模型分配}} ,任务执⾏: {{预测结果}}。
为了提⾼此过程的效率, HuggingGPT 可以同时运⾏不同的模型, 只要它们不需要相同的资 源 。例如, 如果我提示⽣成猫和狗的图⽚ ,那么单独的模型可以并⾏运⾏来执⾏此任务 。但 是,有时模型可能需要相同的资源, 这就是为什么HuggingGPT维护⼀个属性来跟踪资源的 原因 。它确保资源得到有效利⽤ 。
4.响应⽣成:LLM 接收执⾏结果, 并向⽤户提供总结结果。
然⽽, 要将HuggingGPT应⽤于实际场景中, 我们需要应对⼀些挑战:
. 提⾼效率: 因为LLM的推理轮次和与其他模型的交互都会减缓处理速度
. 依赖⻓上下⽂窗⼝ :LLM需要使⽤⻓篇的上下⽂信息来传递复杂的任务内容 . 提⾼稳定性:需要改进LLM的输出质量以及外部模型服务的稳定性。
现在, 让我们假设您希望模型根据图像⽣成⼀个⾳频 。HuggingGPT会以最适合的⽅式连续 执⾏这个任务 。您可以在下⾯的图中查看更详细的响应信息
Hugging Face是什么?
简单来说, Hugging Face是⼀个专注于⼈⼯智能的开源社区平台,⽤户可以在该平台上发布 和共享预训练模型 、数据集和展示⽂件等 。 ⽬前在Hugging Face上已经共享了超过10万个预 训练模型和1万多个数据集 。包括微软 、⾕歌 、彭博社 、英特尔等众多⾏业的1万家机构都在 使⽤Hugging Face的产品。
Hugging Face(抱脸网)是一个知名的开源库和平台,该平台以其强大的Transformer模型库和易用的API而闻名,为开发者和研究人员提供了丰富的预训练模型、工具和资源。对于从事AI研究的同学来说,其重要性不亚于GitHub(与GitHub一样,访问Hugging Face平台也要科学上网哟~)。以下是对 Hugging Face 平台的简要介绍:
预训练模型库:Hugging Face提供了大量先进的预训练模型,起初涵盖了各种NLP任务,如文本分类、命名实体识别、情感分析、问答等。随着平台的壮大,如今各个领域的预训练模型几乎都可以在平台上找到,这让我们可以关注研究问题本身,而不是从论文复现开始“造轮子”。
transformers 库和diffusers库:Hugging Face的transformers库和diffusers库提供了简洁易用的API,使得下载、加载和使用预训练模型变得非常简单。transformers库中提供的多种分词器和文本编码器为我们研究NLP任务提供了极大的遍历;diffusers库提供了包括文生图(stable diffusion)、文生视频(stable video diffusion)等模型,无论是模型的代码实现还是模型的预训练权重都为我们的学习和使用带来巨大便利。
模型架构的创新:Hugging Face不断推出新的模型架构,以改进各种NLP任务的性能。例如,BERT、Llama、RoBERTa、SD、SVD等模型在各自领域取得了巨大成功,并为社区提供了许多基于这些模型的解决方案。
社区和开放性:Hugging Face 是一个活跃的社区,拥有庞大的用户群体和开发者社区。平台鼓励用户贡献自己的模型、代码和工具,并提供了开放的 API 和数据集,以促进合作和创新。
快速体验
体验HuggingGPT⾮常简单, 只需要输⼊openai apikey和HuggingGPT token即可:
Reference
· HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face
· HuggingGPT: The Secret Weapon to Solve Complex AI Tasks
- 点赞
- 收藏
- 关注作者
评论(0)