微软开源多模态聊天机器人Visual ChatGPT

416 阅读3分钟

微软研究院最近开源了Visual ChatGPT,这是一个聊天机器人系统,可以根据人类的文字提示生成和操作图像。该系统将OpenAI的ChatGPT与22种不同的视觉基础模型(VFM)相结合,以支持多模式的互动。

系统在arXiv上发表的一篇论文中进行了描述。用户可以通过输入文字或上传图片与机器人互动。机器人还可以根据文本提示从头开始生成图像,或者通过操作聊天历史中的以前的图像。机器人的关键模块是提示管理器,它将用户的原始文本修改为 "思维链 "提示,帮助ChatGPT确定是否需要用VFM工具来执行图像任务。根据微软团队的说法,Visual ChatGPT是:

一个包含不同VFM的开放系统,并使用户能够与ChatGPT进行超越语言格式的互动。为了建立这样一个系统,我们精心设计了一系列的提示,以帮助将视觉信息注入ChatGPT,从而可以逐步解决复杂的视觉问题。

ChatGPT和其他大型语言模型(LLM)已经显示出显著的自然语言处理能力;然而,它们被训练成只能处理一种输入模式:文本。微软团队没有训练一个新的模型来处理多模式输入,而是设计了一个提示管理器,向ChatGPT产生文本输入,其结果是可以调用VFM(如CLIP或稳定扩散)来执行计算机视觉任务。

视觉ChatGPT架构。图片来源:https://github.com/microsoft/visual-chatgpt

提示管理器是基于LangChain代理,而VFM被定义为LangChain代理工具。为了确定是否需要一个工具,代理结合来自用户的提示和对话历史的输入,其中包括图像文件名,然后应用提示前缀和后缀。前缀包括文本:

Visual ChatGPT不能直接读取图像,但它有一个工具清单,可以完成不同的视觉任务。每张图片都会有一个文件名,形成 "image/xxx.png",Visual ChatGPT可以调用不同的工具来间接理解图片。

前缀中的附加文本引导ChatGPT问自己 "我需要使用一个工具吗?"来处理用户想要的任务,如果是这样,它应该输出工具的名称和它所需的输入,如图片文件名或要生成的图片的文本描述。代理人会反复调用VFM工具,将生成的图像发送给聊天,直到它不再需要使用某个工具。在这一点上,最后生成的文本输出将被发送到聊天室。

在Hacker News关于这项工作的主题中,一位用户指出,VFM使用的内存比语言模型少得多,他想知道为什么。另一位用户回答说:

图像模型可以很偏,但仍能产生一个令人满意的结果。想想看,我可以把一张图片中的所有像素随机变化10%,你只会看到它的质量有点低,但在其他方面是完全一致的。语言模型没有这样的运气,他们试图解决的问题是 "更清晰 "的,如果他们的结果有一点点的偏差,就很容易出现严格的错误。因此,你需要一个更大的模型来获得足够水平的文本 "清晰度"。

Visual ChatGPT的源代码可以在GitHub上找到。