ChatGPT新玩法:Visual-ChatGPT开启GPT多模态交流范式

发布时间:2023-03-20 07:00

摘要

自2022年底以来,ChatGPT凭借跨领域的卓越会话能力和推理能力火速出圈。然而,ChatGPT作为语言模型,无法处理和生成视觉图像。2023年3月微软提出的Visual ChatGPT系统重磅来袭。该系统结合如Stable Diffusion等前沿视觉基础模型(VFM),以多模态的方式进行交互。Visual ChatGPT走向多模态对话的同时,展示了很好的图像理解和生成能力。

 

介绍

ChatGPT真正以对话的方式与用户交互,并保存历史会话结果,引导后续答案生成。实际上,对于一些复杂的问题,图像更具备丰富的内容和表征能力。但ChatGPT仅限于基于文本的问询和答案,难以理解和处理视觉信息。与此同时,视觉基础模型(VFM)[1]在复杂图像的理解和生成上展示了超强的能力。例如,BLIP模型为图像理解和描述专家(输入图像,输出图像描述或者问答。试玩网址:BLIP - a Hugging Face Space by Salesforce);Stable Diffusion为基于文本提示生成图像专家(输入文本提示,输出图像。试玩网址:Stable Diffusion Online (stablediffusionweb.com));pixel2pixel完成风格迁移任务(输入图像,输出另一种域分布图像)。据此,微软提出了Visual ChatGPT系统,结合ChatGPT和VFM支持图像理解和生成会话。为了消除ChatGPT和VFM之间的差距和VFM输入输出上的格式差异,文中提出了PromptManager。PromptManager显式地告知ChatGPT每个VFM的功能并定义了们之间的内部关联,指定每个VFM的输入输出格式;支持将不同的视觉数据(不同格式图像、深度图像和掩码矩阵)转换为语言格式,帮助ChatGPT理解对话内容;支持接受反馈,处理不同视觉基础模型VFM的中间输出、优先级和冲突等。

 

Visual ChatGPT

假设 表示Visual ChatGPT系统N轮对话,是经过一系列VFM得到的输出,表示第轮对话中第个VFM(F)的输出。在处理 Prompt Manager M 时,的输入格式在不断地被修改,以满足每个F的输入。Visual ChatGPT的定义如公式(1)所示:

 

公式(1)中P为系统原理,为Visual ChatGPT系统提供了基本规则。F为视觉基础模型。表1展示了系统中所涉及的VFM、对应的显存占用和具体任务。 表示第i轮对话前的历史对话。 包含语言和视觉用户查询。 为来自j个调用的VFM的所有先前推理历史。 为不同VFM的中间结果。M作为提示管理器,将上述组成转换为语言提示,以便ChatGPT模型能够理解。图1为Visual ChatGPT的整体概述,下文将详细介绍上述组成。

 

图1 Visual ChatGPT概述。左侧显示三轮对话,中间显示Visual ChatGPT迭代调用Visual Foundation模型并提供答案。右侧显示了第二次QA的详细流程。

图片来源:https://arxiv.org/abs/2303.04671

 

表1 Visual ChatGPT系统中包含的VFM

图片来源:https://arxiv.org/abs/2303.04671

 

Foundation Model

GPU Memory (MB)

任务

ImageEditing

3981

Remove/Replace Something From The Photo

InstructPix2Pix

2827

Instruct Image Using Text

Text2Image

3385

Generate Image From User Input Text

ImageCaptioning

1209

Get Photo Description

Image2Canny

0(cpu)

Edge Detection On Image

CannyText2Image

3531

Image Generation Condition On Canny Image

Image2Line

0(cpu)

Line Detection On Image

LineText2Image

3529

Generate Image Condition On Line Image

Image2Hed

0(cpu)

Hed Detection On Image

HedText2Image

3529

Generate Image Condition On Soft Hed Boundary Image

Image2Scribble

0(cpu)

Scribble Detection On Image

ScribbleText2Image

3531

Generate Image Condition On Scribble Image

Image2Pose

0(cpu)

Pose Detection On Image

PoseText2Image

3529

Generate Image Condition On Pose Image

Image2Seg

919

Uniformer Segmentation

SegText2Image

3529

Generate Image Condition On Segmentations

Image2Depth

0(cpu)

Predict Depth On Image

DepthText2Image

3531

Generate Image Condition On Depth

Image2Normal

0(cpu)

Predict Normal Map On Image

NormalText2Image

3529

Generate Image Condition On Normal Map

VisualQuestionAnswering

1495

Answer Question About The Image

 

基于系统的提示管理器 

 为Visual ChatGPT提供了基本规则。包括(1)VFM Accessibility;(2)保持文件名敏感;(3)思维链Chain of Thought;(4)严格控制推理格式;(5)极大化可靠性。图2为 示例

VFM Accessibility是指:Visual ChatGPT可以访问VFM列表。由ChatGPT模型本身决定使用哪些VFM的排列组合。

保持文件名敏感具体是指:由于每轮历史对话会包含多个图像及不同的更新版本,使用精确的文件名会避免歧义和混淆。Visual ChatGPT严格规定文件名的命名规则,以确保在对话中正确检索和操作图像文件。

Chain of Thought(CoT)借助CoT作为提示,将用户较复杂的查询分解为子问题。以帮助Visual ChatGPT决定、使用并调度多个VFM。

严格控制推理格式是指:使用复杂的正则表达式匹配算法解析中间推理结果,并为ChatGPT模型构建合理的输入格式,以帮助确定下一次执行内容,例如,触发新的VFM或返回最终响应。

极大化可靠性是指:要求Visual ChatGPT忠于VFM的输出,而不是历史输出。

 

图2 基于系统原理的提示管理器概述

图片来源:https://arxiv.org/abs/2303.04671

基础模型的提示管理器 

Visual ChatGPT配备了21个VFM来处理各种vision-language任务,但这些模型间存在不同程度重叠的相似度。例如,图像中物体替换和去除可以视为图像生成任务;Image-to-Text (I2T)和Image Question Answering(VQA)都可以视为对图像的响应。因此需要提示管理器对基础模型的(1)模型名称;(2)模型用法;(3)模型输入/输出;(4)示例进行定义,区分这些相近的VFM并帮助Visual ChatGPT准确理解和处理查询中的VL任务。图3为 示例

模型名称提示提供了每个VFM的功能摘要。不仅有助于Visual ChatGPT以简洁的方式理解VFM的具体任务,而且还作为VFM的入口。

模型用法提示描述了每个VFM的应用场景。例如,Pix2Pix模型用于改变图像的样式;Image2Depth模型生成深度图像等。这些提示信息帮助Visual ChatGPT决定将哪些VFMs用于特定任务。

模型输入/输出提示概述了每个VFM的输入和输出格式。不同模型接收和输出的格式可能会有较大差异,所以需要为Visual Chat GPT提供明确的指导。

示例提示作为可选项,有助于Visual ChatGPT更好地理解如何在特定输入模板下使用特定的VFM并处理更复杂的查询。

图3 基于基础模型的提示管理器概述

图片来源:https://arxiv.org/abs/2303.04671

 

用户查询的提示管理器 

支持多种用户查询,包括语言或图像,简单或复杂的查询,或多个图像的引用。提示管理器M在以下两个方面处理用户查询:生成唯一文件名和强制VFM思维。

生成唯一文件名是指对于新上传的图像,Visual ChatGPT生成具有通用唯一标识符(UUID)的唯一文件名,并添加表示相对目录的前缀字符串“image”,例如“image/UUID.png”。也就是说,上传的图像不会被输入到ChatGPT,但会生成一个假的对话历史,对话包含一个说明图像文件名的问题和一个表示已收到图像的答案。这段假对话历史将作为后续对话的引导。

强制VFM思维是为了确保VFM触发。由于ChatGPT是一个文本语言模型,Visual ChatGPT必须使用VFM Tool来观察和处理图像,而不是想象。这些想法和观察结果只对VisualChatGPT可见。在 中,需要在  后面添加下述提示“Thought: Do I need to use a tool?”。这个提示有两个作用:(1)提示Visual ChatGPT优先使用基础模型而不是依赖想象;(2)鼓励VisualChatGPT提供从基础模型得到的特定输出而不是像“here you are” 这种通用的回答。

 

图4 基于用户查询的提示管理器概述

图片来源:https://arxiv.org/abs/2303.04671

基础模型输出的提示管理器 

对于次序排列的VFM产生的中间输出 ,Visual ChatGPT将对其隐式汇总并反馈给ChatGPT进行后续交互,向用户提供反馈执行其他VFM进行进一步操作直到达到结束条件。内部步骤包括:(1)生成链接文件名;(2)调用更多VFM;(3)询问更多详细信息。

由于Visual ChatGPT的中间输出将成为下一轮隐式对话的输入,中间输出的文件名应该具逻辑性和可理解性,以帮助LLM更好地理解推理过程。具体来说,从Visual Foundation模型生成的图像保存在“image/”文件夹下,提示表示图像名称的字符串。然后,将图像命名为”Name_Operation_Prev_Name_Org_Name”。例如:“image/ui3c_edge_of_o0ec_nj9dcgf.png”表示nj9dcgf为最原始图像名称,o0ec当前Operation的输入图像名称、edge是Operation的名称、ui3c是操作过后的图像名称。使用这样的命名规则,可以向ChatGPT提示中间结果属性,以及VFM的执行顺序。

自动调用更多的VFM来完成用户的命令。是在每一次生成的末尾增加一个后缀“Thought:”,让ChatGPT不断询问自己是否继续需要VFM来解决当前问题。

当用户的命令不明确时,Visual ChatGPT应该询问用户更多详细信息,以帮助更好地使用和调度VFM。这种设计保障了对话安全,在输入信息不足的条件下,LLM不允许在没有依据的情况下任意篡改或推测用户的意图。

 

图5 基于基础模型输出的提示管理器概述

图片来源:https://arxiv.org/abs/2303.04671

 

Demo展示

文章示例:

图6 文章展示对话示例

图片来源:visual-chatgpt/demo_short.gif at main · microsoft/visual-chatgpt · GitHub

实测示例:

图7 右侧对话中,基于“remove”查询生成的提示不稳定,多次实测中都会生成其他object而不是正确去除。

测试来源:Visual Chatgpt - a Hugging Face Space by microsoft

思考

ChatGPT训练自语言,只能接收和理解语言格式的输入。Visual ChatGPT,是一个包含不同VFM的开放系统,使用户能够与ChatGPT进行超越语言格式的交互。Visual ChatGPT的主体为Prompt Manager+ChatGPT,Prompt Manager设计了一系列提示,以帮助将视觉信息注入ChatGPT,从而可以逐步解决复杂的视觉问题。论文展示大量的实验和选定的案例证明了Visual ChatGPT对于不同任务的巨大潜力和能力。但是在实际测试中,实际的生成效果不太令人满意,如实测示例中“remove”的提示时常生成不匹配的图像,从而导致对话失败。我们猜测是由于提示的不稳定性,使VFM中同时具有ImageEditing功能的模型出现了混淆而导致VFM的错误调用。为了解决上述问题,可以添加自校正模块来检查执行结果与人类意图的一致性,但这种行为会导致模型更复杂的思考,这势必会增加推理时间。那么在目前推理时间不算短的前提下,如何平衡推理速度和对话质量应该是Visual ChatGPT持续研究的话题。

Visual ChatGPT打开多模态交流范式,间接地使ChatGPT理解并在对话中生成图像。在3月15号,OpenAI紧接着发布了多模态模型GPT4。Visual ChatGPT和GPT4最大的不同之处是,前者并没有从头训练一个多模态模型,Visual ChatGPT系统的核心还是ChatGPT。此外,从表1可以看出配备所有VFM对GPGPU的显存有一定要求,虽然微软官方已提供了选择性加载视觉模型的低显存版本,但无疑会降低对话质量,这显然不是最优解。Visual ChatGPT可以视为GPT4推出前的临时解决方案,虽然GPT4没有公开更多的模型细节,但依旧话题不断。与此同时,我们看到了多模态大语言模型的研究价值和空间。

参考文献

[1] Wu, Chenfei et al. “Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models.” (2023).

本文中所引用的图片和视频来源均已标明,若有侵权请联系我们予以删除。

上一个: 人人有“丹”炼—大模型低成本微调技术

下一个: LLM大语言模型量化方法介绍(一)

近期文章

AI 智能体:应用前景与对算力需求的影响

人工智能技术的迅猛发展,尤其是 AI 智能体这一核心部分。本文讨论了AI智能体的定义、应用前景和其对算力需求的影响。

2023-11-13

查看更多