王炸!微软发布Visual ChatGPT:视觉模型加持ChatGPT实现丝滑聊天

推荐使用ChatGPT4.0中文网,国内可直接访问:www.chatgp4.com

 

最近,人工智能领域在多个领域取得了显著的突破,ChatGPT展现了强大的语言问答和推理能力。然而,作为自然语言模型,它无法处理视觉信息。

与此同时,视觉基础模型如Visual Transformer和Stable Diffusion等则展现出了出色的视觉理解和生成能力。

Visual Transformer将ChatGPT作为逻辑处理中心,集成了多个视觉基础模型,从而实现了以下效果:

  • 视觉聊天系统Visual ChatGPT能够接收和发送文本及图像。
  • 提供复杂的视觉问答和视觉编辑指令,能够通过多步推理来解决复杂的视觉任务。
  • 提供反馈,总结答案,并主动询问含糊的指令。

这一工作开辟了利用视觉基础模型作为工具,进行视觉任务处理的研究方向。

论文链接: Visual ChatGPT

开源代码: GitHub – Visual ChatGPT

论文作者: Chenfei Wu, Shengming Yin, Weizhen Qi, Xiaodong Wang, Zecheng Tang, Nan Duan

机构: 微软亚洲研究院

模型效果与工作流程

在对话过程中,第i轮的回复是通过多次思考和工具调用的结果总结而成。假设在第i轮对话的第j次工具调用中得到了中间答案(记作 ( A_{ij} )),则过程如下:

[ A_{ij} = f(\text{原则}, \text{视觉基础模型}, \text{历史会话记忆}, \text{用户输入}, \text{思考历史}) ]

其中,( f ) 是全局原则,包含多个视觉基础模型,历史会话记忆记录了本轮的用户输入和思考历史。( A_{ij} ) 为中间答案,prompt manager则将各个功能转换为合理的文本提示,以便交给ChatGPT处理。以下是一个示例流程:

对用户输入添加全局原则提示、工具描述提示、历史会话提示后,传递给ChatGPT进行逻辑推理(如“是否使用视觉基础模型?”),得到推理结果(即获得的GPT文本输出)。随后,进行正则匹配分析。如果工具调用结束,直接提取总结输出作为最终回复;如果需要继续调用工具,则将提取到的工具名称和参数输入视觉基础模型,得到新的结果,放置于思考历史中,进行下一轮推理。具体操作如下:

  • 第一次问答中调用的各个API记录;
  • 每次回答后的API调用历史将被清空,唯有最后的总结性回复被纳入对话历史。

细节描述

系统规则提示符(如“Visual ChatGPT是一个能够处理多种语言和视觉任务的助手”)需要强调以下内容:

  • Visual ChatGPT的角色,要求充分利用视觉基础模型,并严格遵循命名原则,不可随意捏造。
  • 各个视觉基础模型的描述,包括工具名称、使用方法、输入输出格式及实例。
  • 用户输入需经过改写,以帮助理解图片并强制GPT进行思考。

案例研究

论文分析显示,如果prompt manager设计不当,可能导致各种问题。例如:

  • 如果不强调图片文件名的敏感性,可能发生指代错误。
  • 忽视思考链格式的严格性,会导致正则匹配失败。
  • 缺乏可靠性的指导,可能导致模型在未读图片的情况下直接回答。
  • 未强调工具的链式使用,可能使思考过程不够深入。

有意义的启发

这一研究开启了ChatGPT处理视觉任务的新天地:

  • 发展了NLP到“自然语言Photoshop”的可能性,实现文本描述下的图像创作、编辑和问答。
  • 通过系统设计与工具包的Prompt,可以做到无监督的工具调用,类似于零样本工具调用(zero-shot toolformer)。
  • 强调了Prompt的重要性,作为纯语言模型,GPT会模仿先前的指令,若能适当进行赞扬,能增强其能力感知。
  • Visual ChatGPT作为语言模型,其多轮对话实际上是Human: AI:形式的连续生成,因此可以强行引导AI生成自我表述内容。这种方式能显著降低生成的难度。

例如,用户上传图片后,重新表述为“Human: 上传了一张图片,描述为:{}。这段描述旨在帮助你理解图片,你不能仅凭此进行幻想,而必须调用工具。如果你理解了,请回复‘收到’”。这种方式使AI相信回复是其自身生成的,大大降低了生成难度。

另一种方法是,给GPT提供思考内容,如“思考:我是否需要使用工具?”以引导其进入推理链,从而有效连接到思维链格式的提示,降低思考难度。通过这样的结构和方式,Visual ChatGPT的表现得以显著提升。

滚动至顶部