Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models

Paper: https://arxiv.org/pdf/2303.04671.pdf

Code: https://github.com/microsoft/visual-chatgpt

Author: MSRA


3月9号commit项目,3月10号15:00有 2.6k stars,3月12号10:00已经10.8k !

Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models_第1张图片

引言

ChatGPT在交谈、推理上展现了巨大的能力,但是它还不能处理视觉信息。与此同时,VFMs(Visual Foundation Models)可以很好的处理视觉信息。因此本文提出了Visual ChatGPT,将多个(22个)VFMs注入到ChatGPT中,来实现以交流的方式处理视觉信息。本文的核心是:提出了一个Prompt Manager(提示管理器)来:1)告诉ChatGPT输入输出的格式是什么,以及每个VFM的能力是什么(该用哪个VFM);2)将视觉信息转换为语言信息供ChatGPT理解;3)处理不同VFMs的历史、优先级和冲突(协调VFM)。

以下图为例,用户上传一张黄色的花的图片,并输入一个复杂的语言指令:“please generate a red flflower conditioned on the predicted depth of this image and then make it like a cartoon, step by step”。在提示管理器的帮助下,Visual ChatGPT启动了一个相关VFM的执行链,即:首先应用depth estimation模型来检测深度信息,然后利用depth-to-image模型生成一个红花的深度信息,最后利用Stable Diffusion将这张图片的风格变成卡通。在这一过程中,Prompt Manager充当ChatGPT的dispatcher(调度器)。最后当ChatGPT从Prompt Manager获得"carton"的提示时,它会结束上述的pipeline,并显示最终的结果。

Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models_第2张图片

方法

方法的细节如下图。对于每一轮对话,Prompt Manager的输入有很多: System Principle为Visual ChatGPT提供基础规则,比如应该对image的文件名敏感等;History of Dialogue 是对话的历史,即此轮对话之前所有的对话历史;User Query是包含text和image;History of Reasoning是此轮对话中所有的推理历史;Intermediate Answer是中间层的输出;

Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models_第3张图片

功能

集成了22个VFMs后,Visual ChatGPT可以实现如下任务:

Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models_第4张图片

在部署时,完整使用22个VFMs需要4张V100显卡。如果想自由选取VFMs种类,对GPU的显存要求如下:

Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models_第5张图片

Visual ChatGPT可以接受文本或图像的query,并生成文本或图像。

需要注意的是,Visual ChatGPT对图像的名字有自己的一套规则,使用时需提出正确的名字来进行操作:image/{Name}_{Operation}_{Prev_Name}_{Org_Name}。

Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models_第6张图片

不足

  • 依赖于ChatGPT和VFMs。Visual ChatGPT严重依赖ChatGPT来分配任务,然后使用VFMs来执行,也因此会受到这些模型精确性的限制。

  • 重提示工程。Visual ChatGPT需要大量的提示工程来将­VFM转换为语言,并使这些模型­描述可区分。这个过程很耗时,需要计算机­视觉和自然语言处理方面的专业知识。

有限的实时能力。Visual ChatGPT旨在通用,它试图将一个复杂­的任务自动分解为几个子任务。因此,当处理特定任务时,Visual ChatGPT可能会调用多个VFM,与专门为特定任务训练的专家模型相比,实时能力有限。

Token长度限制。ChatGPT中的最大token长度可能会限制­可以使用的基础模型的数量。如果有数千或数百万个基础模型,则可能需要一个预过滤模块来限制馈送到ChatGPT的VFM。

安全和隐私。轻松插拔基础模型的能力可能会引发安全和­隐私问题,尤其是通过API­访问的远程模型。必须仔细考虑并自动检查,以确保敏感数据不会被暴露或泄露。

总结

总之,Visual ChatGPT做的工作主要是在ChatGPT的基础上,设计了一个复杂的Prompt Manager来合理的调用现今的VFMs,从而实现了对话式的处理视觉内容。从算法层面讲,它并没有设计新的神经网络,本质上是设计了一个系统对现有的AI技术(ChatGPT, VFMs)进行整合。整体来看,Visual ChatGPT其实还是有非常多的不足的,但它也是一次探索多模态交互ChatGPT的有意义尝试。

你可能感兴趣的:(机器学习,论文阅读)