视觉ChatGPT来了,微软发布,代码已开源(下)

简介: 视觉ChatGPT来了,微软发布,代码已开源(下)

正文



基础模型的 prompt 管理 9.png


Visual ChatGPT 配备了多个 VFM 来处理各种 VL 任务。由于这些不同的 VFM 可能有一些相似之处,例如,图像中对象的替换可以被视为生成新图像,图像到文本(I2T)任务和图像问答(VQA)任务都可以理解为根据提供的图像给出响应,区分它们至关重要。如图 3 所示,Prompt Manager 具体定义了以下几个方面来帮助 Visual ChatGPT 准确理解和处理 VL 任务:


  • 名称:名称 prompt 为每个 VFM 提供了整体功能的抽象,例如回答关于图像的问题,它不仅有助于 Visual ChatGPT 简明扼要地理解 VFM 的用途,而且名称还是 VFM 的入口。
  • 用法:用法 prompt 描述了应该使用 VFM 的特定场景。例如,Pix2Pix 模型适用于改变图像的风格。提供此信息有助于 Visual ChatGPT 做出将哪个 VFM 用于特定任务的明智决策。
  • 输入 / 输出:输入和输出 prompt 概述了每个 VFM 所需的输入和输出格式,因为格式可能有很大差异,并且为 Visual ChatGPT 正确执行 VFM 提供明确的指导至关重要。
  • 示例(可选):示例 prompt 是可选的,但它可以帮助 Visual ChatGPT 更好地理解如何在特定的输入模板下使用特定的 VFM 以及处理更复杂的查询。


11.png


用户查询的 prompt 管理 12.png


Visual ChatGPT 支持多种用户查询,包括语言或图像,简单或复杂的查询,以及多张图片的引用。Prompt Manager 从以下两个方面处理用户查询:


生成唯一的文件名。Visual ChatGPT 可以处理两种类型的图像相关查询:涉及新上传图像的查询和涉及引用现有图像的查询。对于新上传的图像,Visual ChatGPT 会生成一个具有通用唯一标识符 (UUID) 的唯一文件名,并添加一个前缀字符串「image」来表示相对目录,例如「image/{uuid}.png」。虽然新上传的图像不会被输入 ChatGPT,但会生成一个虚假的对话历史记录,其中包含一个说明图像文件名的问题和一个表明图像已收到的答案。这个虚假的对话历史有助于以下对话。对于涉及引用现有图像的查询,Visual ChatGPT 会忽略文件名检查。这种方法已被证明是有益的,因为 ChatGPT 能够理解用户查询的模糊匹配,前提是它不会导致歧义,例如 UUID 名称。


确保正确触发 VFM。为了保证 Visual ChatGPT 的 VFM 成功触发,该研究在 13.png面附加了一个后缀提示,这个提示有两个目的:1)提示 Visual ChatGPT 使用基础模型,而不是仅仅依靠它的想象;2) 鼓励 Visual ChatGPT 提供由基础模型生成的特定输出,而不是通用响应。



基础模型输出的 prompt 管理14.png


对于来自不同 VFM 15.png的中间输出,Visual ChatGPT 将隐式汇总并将它们提供给 ChatGPT 进行后续交互,即调用其他 VFM 进行进一步操作,直到达到结束条件或将结果反馈给 ChatGPT 用户。内部步骤可以拆解为生成链式文件名、调用 VFM、询问用户更多细节以确定用户命令。


实验及结果


多轮对话完整案例


图 4 为 Visual ChatGPT 进行的 16 轮多模态对话案例。在本例中,用户同时询问文本和图像问题,Visual ChatGPT 能够以文本和图像的方式给出响应。


16.png


Prompt Manager 案例研究


系统原则 prompt 管理分析研究如图 5 所示:为了验证系统原则 prompt 的有效性,该研究从中删除了不同的部分来比较模型性能。结果显示每次移除都会导致不同的容量退化。


17.png18.png


图 6 为基础模型 prompt 管理的案例分析。前面也提到 VFM 的名称非常重要,需要明确定义。当名称缺失或模糊时,Visual ChatGPT 会进行多次猜测,直到找到现有的 VFM,或遇到错误终止,如左上角所示。此外,VFM 应清楚地描述在特定的场景下所使用的模型,以避免错误的响应,右上图显示风格迁移被错误地处理成替换。还有一点需要注意的是,输入输出格式的 prompt 要准确,避免参数错误,如左下图。示例 prompt 可以帮助模型处理复杂的用法,但它是可选的,如右下图所示,虽然本文删除了示例 prompt,但 ChatGPT 还可以总结对话历史和人类意图以使用正确的 VFM。


19.png


图 7 上半部分分析了用户查询 prompt 管理的案例研究,图 7 底部分析了模型输出的 prompt 管理案例。


29.png


相关文章
|
4月前
|
机器学习/深度学习 人工智能 算法
【极客技术】ColossalChat用完整RLHF技术克隆ChatGPT的开源解决方案
【极客技术】ColossalChat用完整RLHF技术克隆ChatGPT的开源解决方案
38 0
|
7月前
|
Java API Spring
使用 Java 代码调用 openAI 的 ChatGPT API
使用 Java 代码调用 openAI 的 ChatGPT API
192 0
|
28天前
|
存储 机器学习/深度学习 人工智能
基于Nvidia的ChatGPT实现智能回答(附完整代码)
基于Nvidia的ChatGPT实现智能回答(附完整代码)
|
2月前
|
人工智能 API UED
汇总:5个国产版chatgpt中文网站,可用来写代码文章小说
目前已经有一些替代方案,使得中国用户也能够在国内网络条件下使用ChatGPT。这些站点通过调用ChatGPT的API接口,实现了对语言模型的调用,为用户提供了类似于原版ChatGPT的功能和体验。
|
2月前
|
人工智能 测试技术 开发者
马斯克将在本周,开源类ChatGPT产品Grok
【2月更文挑战第21天】马斯克将在本周,开源类ChatGPT产品Grok
54 1
马斯克将在本周,开源类ChatGPT产品Grok
|
3月前
|
JavaScript 前端开发 Python
用chatgpt帮你写一段GEE计算森林生物量的代码,你猜结果如何?
用chatgpt帮你写一段GEE计算森林生物量的代码,你猜结果如何?
24 0
|
7月前
|
SQL 人工智能 中间件
每日一个 ChatGPT 使用小技巧系列之4:使用 AI 工具对 SAP ABAP 代码的编写质量进行打分
每日一个 ChatGPT 使用小技巧系列之4:使用 AI 工具对 SAP ABAP 代码的编写质量进行打分
75 0
|
8月前
|
人工智能 自然语言处理 Java
当代码遇见AI:IDEA开启ChatGPT插件,分分钟成为高效程序猿!
当代码遇见AI:IntelliJ IDEA开启ChatGPT插件,分分钟成为高效程序猿!
1310 0
|
8月前
|
数据采集 数据可视化 数据格式
ChatGPT 代码解释器:它如何节省我的工作时间
ChatGPT 代码解释器:它如何节省我的工作时间
|
9月前
|
数据采集 自然语言处理 数据可视化
使用 ChatGPT 的代码解释器进行数据科学的 5 种方法
借助代码解释器,ChatGPT 现在可以编写和执行 Python 代码来自动执行复杂的数据任务并生成可视化。
151 0