ChatGPT、GPT-3、GPT-4、text-davinci-003……近两年来,大模型层层出不穷,使人眼花缭乱,在不同的场景下,很多研究人员往往不知该作何选择?
为了解决这一难题,微软亚洲研究院和浙江大学的研究团队展开合作,发布了一个大模型协作系统——HuggingGPT,让 ChatGPT 与人工智能社区 HuggingFace 连接起来,将语言作为通用接口,让 LLM 作为控制器,管理行业内现有的所有人工智能模型。
「解决不同领域和模式的复杂人工智能任务是迈向 AGI 的关键一步」,研究团队在最新发布的 HuggingGPT 论文(https://arxiv.org/pdf/2303.17580.pdf)伊始说道。
HuggingGPT 的初衷
在研究团队看来,目前的 LLM 技术可以在语言理解、生成、互动和推理方面具有不错的能力,但是在建立先进的 AI 系统道路上仍然有一些紧迫的挑战:
限于文本生成的输入和输出形式,尽管 LLM 在 NLP 任务中表现显著,但是仍缺乏处理视觉和语音等复杂信息的能力;
在现实世界的场景中,一些复杂的任务通常由多个子任务组成,因此需要多个模型的调度和合作,这也超出了语言模型的能力范围;
对于一些具有挑战性的任务,LLM 在一些情况下表现出优秀的结果,但它们仍然比一些专家(例如,微调模型)弱。
如何解决这些问题可能是 LLM 走向更先进的人工智能系统的第一步,也是关键的一步。
HuggingGPT 的出现旨在能够让 LLM 与外部的模型协调,合力解决上述挑战。
HuggingGPT 的原理
具体来看,我们使用 ChatGPT 在收到用户请求时进行任务规划,根据机器学习社区 Hugging Face 中的功能描述选择模型,用选定的人工智能模型执行每个子任务,并根据执行结果总结响应。
通过利用 ChatGPT 强大的语言能力和 Hugging Face 中丰富的人工智能模型,HuggingGPT 能够覆盖不同模式和领域的众多复杂的人工智能任务,并在语言、视觉、语音和其他挑战性任务中取得令人印象深刻的结果,为实现高级人工智能铺设了一条新的道路。
根据论文解释,HuggingGPT 的整个过程可以分为四个阶段:
任务规划:使用 ChatGPT 分析用户的请求,了解他们的意图,并将其拆解成可解决任务。
模型选择:为解决计划任务,ChatGPT 根据描述选择托管在 Hugging Face 上的模型。
任务执行:调用并执行每个选定的模型,并将结果返回给 ChatGPT。
响应生成:最后使用 ChatGPT 整合所有模型的预测,进行总结和输出。
在这样的设计下,HuggingGPT 能够使用外部模型,也可以整合多模态感知能力,处理多个复杂的人工智能任务。
论文透露,HuggingGPT 目前通过利用 LLM(如 ChatGPT)来连接机器学习社区(如 Hugging Face)中各种人工智能模型,覆盖文本分类、目标检测、语义分割、图像生成、问答、文本到语音、文本到视频等 24 个任务。
样样都行的 HuggingGPT
在论文中,研究团队以实例进行了解释。如下图:分析 example1.jpg 中姿态和example2.jpg 的描述,重新生成一张图片。
通过 HuggingGPT 流程的第一步任务规划,即让 ChatGPT 分析用户的请求,ChatGPT 得出生成新图片过程涉及三步,进而自动进行模型选择:使用一个「openpose-control」模型来提取篮球图像中的姿势信息;进而使用「nlpconnect/vit-gpt2-image-captioning」生成图像中关于男孩的描述;第三步,执行任务之后,使用 Illyasviel/sd-controlnet-openpose 模型结合姿态信息和描述生成最终的图像。
HuggingGPT 也可以对音频和视频模式的多模型合作进行定性分析:
除此之外,HuggingGPT 可以整合多个用户输入资源来进行简单的推理,得到正确的答案。
写在最后
HuggingGPT 论文的发布引发了不少 AI 专家的关注,如果其正式落地,那么只需要通过 ChatGPT 一个入口就可以访问到各种适用的模型。
对此,英伟达 AI 科学家、斯坦福博士 Jim Fan 评价道:
HuggingGPT 是我本周阅读的最有趣的论文。它非常接近我描述的“Everything App”愿景。ChatGPT 充当 “AI 模型空间”的控制器,根据人类规范选择正确的模型(应用程序),并正确组装它们以解决任务。它是一种“低带宽”方式的多模态——所有模态都需要通过文本字符串进行压缩和连接。HuggingGPT 也与 Prismer 的想法有关:尽可能利用预训练的领域专家模型。有时少训练就是多做事!