文/陈根
强强联手:当HuggingFace遇上了ChatGPT,HuggingGPT来了!
日前,由浙江大学与微软亚研院联合提出的HuggingGPT是一个利用LLM连接机器学习社区中各种AI模型以解决复杂AI任务的系统。例如,你给AI下达了一个任务“图片里有几种动物,每种有几只”,它就能帮你自动分析需要哪些AI模型,然后直接去调用HuggingFace上的相应模型,来帮你执行并完成。整个过程,你只需要用自然语言将你的需求输出。
大型语言模型LLM
作为一种大型语言模型,LLM是指包含数千亿(或更多)参数的语言模型,这些参数是在大量文本数据上训练的。LLM是建立在Transformer架构之上的,其中多头注意力层堆叠在一个非常深的神经网络中。而LLM的涌现能力则被定义为“在小型模型中不存在但在大型模型中出现的能力”,这是LLM与以前的PLM区分开来的最显著特征之一。
现有的LLM主要采用与小语言模型类似的模型架构(即Transformer)和预训练目标(即语言建模)。作为主要区别,LLM 在很大程度上扩展了模型大小、预训练数据和总计算量(扩大倍数)。他们可以更好地理解自然语言,并根据给定的上下文生成高质量的文本。这种容量改进可以用标度律进行部分地描述,其中性能大致遵循模型大小的大幅增加而增加。
LLM在语言理解、生成、交互和推理方面表现出的非凡能力,引起了学界和业界的极大关注,也让人们看到了LLM在构建AGI系统方面的潜力。
协作系统HuggingGPT
HuggingGPT是一个协作系统,由LLM充当控制器、众多专家模型作为协同执行器。其工作流程分为四个阶段:任务规划、模型选择、任务执行和响应生成。
任务规划:ChatGPT 等 LLM 首先对用户请求进行解析,进行任务分解,并根据其知识规划任务顺序和依赖关系;
模型选择:LLM 将解析后的任务分配给专家模型;
任务执行:专家模型在推理端点上执行分配到的任务,并将执行信息和推理结果记录到 LLM
响应生成:LLM 对执行过程日志和推理结果进行汇总,并将汇总结果返回给用户。
归结起来:当HuggingGPT收到用户请求时,使用ChatGPT进行任务规划,根据HuggingFace中可用的功能描述选择模型,用选定的AI模型执行每个子任务,并根据执行结果汇总响应。借助ChatGPT强大的语言能力和HuggingFace丰富的AI模型,HuggingGPT能够完成覆盖不同模态和领域的复杂AI任务,并在语言、视觉、语音等具有挑战性的任务中取得令人满意的结果。实验充分证明了HuggingGPT在处理多模态信息和复杂AI任务方面的强大能力,并且HuggingGPT 将继续添加面向特定任务的AI模型,从而实现可增长和可扩展的 AI功能。HuggingGPT 为走向通用人工智能开辟了一条新的道路。
已开源的“贾维斯”
目前,关于HuggingGPT的论文已经发布,项目在建设中,代码已开源了一部分,并揽获1.4k标星。该项目没被叫作HuggingGPT,而是取名于《钢铁侠》里的AI管家贾维斯(JARVIS)。
同时,它和3月份发布的Visual ChatGPT的思想非常像,这并不奇怪,因为它们都有一个共同的作者,叫作微软亚研院。而它们的区别在于HuggingGPT可调用的模型范围扩展了许多。
对于这个强大新工具的诞生,科学界纷纷表示:ChatGPT已经成为人类创建的所有AI的总指挥官了;而AGI可能不是一个LLM,而是由一个“中间人”LLM连接的多个相互关联的模型。
那么,我们是否一个利用LLM连接机器学习社区中各种AI模型以解决复杂AI任务的系统,开启了半AGI时代的序幕。已经开启了“半AGI”时代?