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

这篇具有很好参考价值的文章主要介绍了Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Paper name

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

Paper Reading Note

Paper URL: https://arxiv.org/pdf/2303.04671.pdf
Code URL: https://github.com/microsoft/visual-chatgpt
Demo URL: https://huggingface.co/spaces/RamAnanth1/visual-chatGPT

TL;DR

  • 2023 年 3 月微软发布的文章,提出 Visual ChatGPT,结合不同的视觉基础模型,使用户能够输入文本与图像的多模态信息与 ChatGPT 进行交互

Introduction

背景

  • ChatGPT 正在吸引跨领域的兴趣,因为它提供了一个跨许多领域具有显著会话能力和推理能力的语言交互方式
  • 然而,由于 ChatGPT 是用语言训练的,目前还不能从视觉世界中处理或生成图像
  • 与此同时,视觉基础模型 (Visual Foundation Models, VFM),如 Visual transformer 或 Stable Diffusion,虽然表现出了出色的视觉理解和生成能力,但它们仅是在特定任务上具有一轮固定输入和输出的专家
  • 目前还没有一个支持图像理解和生成的 chatgpt 系统。重新训练一个这样的系统可能有两个问题
    • 花费较多的数据和计算资源
    • 训练好一个多模态模型后,比如训好一个视觉语言模型后,增加新的模态(如视频、声音)支持会较为麻烦,又需要重新训练

本文方案

  • 本文提出 Visual ChatGPT,结合不同的视觉基础模型,使用户能够基于以下方式与 ChatGPT 进行交互:

    • 不仅发送和接收语言,还发送和接收图像信息
    • 提供复杂视觉问题或视觉编辑指令,这些问题需要多个 AI 模型以多步骤协作完成
    • 提供反馈并要求修正结果
  • 考虑到多输入/输出模型和需要视觉反馈的模型,本文设计了一系列提示符将可视化模型信息注入到 ChatGPT 中。如下图所示,所提出的主要模块叫做 Prompt Manager,作用是基于用户输入,结合 chatgpt 和各个视觉基础模型实现用户给定的多模态任务
    Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models


Dataset/Algorithm/Model/Experiment Detail

实现方式

Visual ChatGPT 概览
  • 整体流程如下图所示,左边展示了三轮对话内容,中间展示了 Visual ChatGPT 具体处理流程,右边展示了处理第二轮对话中 VFM 模型的具体处理细节
    Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models

  • ChatGPT 对话系统的功能表示
    Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models
    上述为 N 个问答对

  • Visual ChatGPT 多模态对话系统的功能对于上面每轮答案 Ai 都需要利用一系列 VFM(F) 模型,具体的处理模块为 Prompt Manager (M),公式表示为
    Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models

    • System Principle P: 系统原理为 Visual ChatGPT 提供了基本规则。比如该系统应该对图像文件名敏感,并且应该使用 VFM 来获取聊天结果,而不是根据聊天历史生成结果
    • Visual Foundation Model F:不同基础模型的组合,比如 BLIP、Stable Diffusion 等
    • History of Dialogue H<i:历史对话的文本形式,超过 ChatGPT 长度约束的历史问答对会被直接删掉
      Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models
    • User query Qi:用户输入可以是文本或者图片
    • History of Reasoning Ri(<j):对于第 i 轮对话,Ri(<j) 是来自 j 个调用的VFMs 的所有历史推理
    • Intermediate Answer A(j):在处理复杂的查询时,Visual ChatGPT 将尝试通过逻辑上调用不同的 VFMs 来逐步获得最终答案,从而产生多个中间答案
    • Prompt Manager M:用于将所有视觉信息转换为语言,以便 ChatGPT 模型能够理解
  • 支持的视觉基础模型汇总
    Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models

  • Prompt Manager 的整体概览,以下章节会详细介绍具体的实现
    Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models文章来源地址https://www.toymoban.com/news/detail-431968.html

Prompt Managing of System Principles M§
  • Visual ChatGPT 是一个集成不同 VFM 来理解视觉信息并生成相应答案的系统。要做到这一点,需要定制一些系统原理,然后将其转换为 ChatGPT 可以理解的提示。这些提示符有几个用途,包括
    • Visual ChatGPT 角色定义 (Role of Visual ChatGPT): Visual ChatGPT 旨在协助一系列与文本和视觉相关的任务,例如 VQA、图像生成和编辑
    • VFM 可访问性 (VFMs Accessibility): Visual ChatGPT可以访问 VFM 列表来解决各种 VL 任务。使用哪个基础模型完全由 ChatGPT 模型本身决定,因此很容易支持新的 VFM 和 VL 任务
    • 对文件名敏感 (Filename Sensitivity): 根据文件名访问图像文件,使用精确的文件名以避免歧义是至关重要的,因为一轮对话可能包含多个图像及其不同的更新版本,而滥用文件名将导致当前正在讨论哪个图像的混淆。Visual ChatGPT 被设计为严格限制文件名的使用,以确保它检索和操作正确的图像文件
    • 思想链 (Chain-of-Thought): 为了处理一个看似简单的命令,可能需要多个 VFM 中的模型,例如图一中的 “根据此图像的预测深度生成一个红花,然后使其像卡通一样” 的查询需要深度估计,深度到图像和风格转换这三个模型。为了通过将查询分解为子问题来处理更具挑战性的查询,Visual ChatGPT 中引入了 CoT 来帮助决定、利用和分派多个 VFM 模型
    • 格式严格性 (Reasoning Format Strictness): Visual ChatGPT 必须遵循严格的推理格式。因此,本文使用详细的正则匹配算法解析中间推理结果,并为 ChatGPT 模型构建合理的输入格式,以帮助它确定下一次执行,例如触发一个新的 VFM 或返回最终响应
    • 可靠性 (Reliability): 引导 ChatGPT 优先利用 VFM,而不是根据会话历史生成结果
Prompt Managing of Foundation Models M(F)
  • Visual ChatGPT 配备了多个 VFM 来处理各种 VL 任务。由于这些不同的 VFM 可能有一些相似之处,例如替换图像中的对象可以被视为生成一个新的图像,图像到文本(I2T)任务和图像问题回答(VQA)任务都可以理解为根据所提供的图像给出响应,因此区分它们是至关重要的。本文明确定义了以下方面,以帮助Visual ChatGPT 准确地理解和处理VL任务
    • Name: 名称提示符提供了每个VFM整体功能的摘要,比如 answer question about the image
    • Usage: 使用提示符描述了应该使用VFM的特定场景
    • Inputs/Outputs: 输入和输出提示符概述了每个 VFM 所需的输入和输出格式,因为格式可能有很大差异,为 Visual ChatGPT 正确执行 VFM 提供明确的指导方针是至关重要的
    • Example(Optional): 示例提示是可选的,可以帮助 Visual ChatGPT 更好地理解如何在特定输入模板下使用特定的 VFM 并处理更复杂的查询
Prompt Managing of User Querie M(Qi)
  • 从以下两个方面处理用户查询
    • 生成唯一的文件名 (Generate Unique Filename): Visual ChatGPT 可以处理两种与图像相关的查询: 涉及新上传的图像的查询和涉及对现有图像的引用的查询
      • 对于新上传的图像,Visual ChatGPT会生成一个具有通用唯一标识符(UUID)的唯一文件名,并添加一个前缀字符串 “image” 表示相对目录,例如“image/{UUID}.png”。虽然新上传的图像不会被输入到ChatGPT,但会生成一个假的对话历史记录,其中一个问题说明了图像的文件名,而一个答案表明图像已被接收
      • 对于涉及到现有图像引用的查询,Visual ChatGPT 会忽略文件名检查。这种方法已被证明是有益的,因为 ChatGPT 能够理解用户查询的模糊匹配,前提是它不会导致歧义,例如 UUID 名称
    • 促使 VFM 思考 (Force VFM Thinking):为了确保成功触发 Visual ChatGPT的 VFMs,在 (Qi) 后面添加了一个后缀提示符:“Since Visual ChatGPT is a text language model, Visual ChatGPT must use tools to observe images rather than imagination. The thoughts and observations are only visible for Visual ChatGPT, Visual ChatGPT should remember to repeat important information in the final response for Human. Thought: Do I need to use a tool?”,这个 prompt 有两个作用
      • 提示 Visual ChatGPT 使用基础模型,而不是仅仅依靠它的想象力
      • 鼓励 Visual ChatGPT 提供由基础模型生成的特定输出,而不是像 “here you are” 这样的通用响应
Prompt Managing of Foundation Model Outputs
  • 模型输出的内部步骤如下
    • 生成链式文件名:
      • 图片命名: “{Name} {Operation} {Prev Name} {Org Name}”,其中 {Name} 为 UUID 名称,{Operation} 为操作名称,{Prev Name} 为输入图像的唯一标识符,{Org Name} 为用户上传或 VFM 生成的图像的原始名称
    • 调用更多的 VFM:让 ChatGPT 通过在每一轮迭代结束时扩展一个后缀 “Thought:” 来不断地询问自己是否需要 VFM 来解决当前的问题
    • 询问更多细节: 当用户的命令不明确时,Visual ChatGPT 应该向用户询问更多细节,以帮助更好地利用 VFM

实验结果

实验配置
  • LLM 使用 ChatGPT (“text-davinci-003” 版本),用 LangChain 指导 LLM
  • HuggingFace Transformers、Maskformer 和 ControlNet 库中收集视觉基础模型
  • 22 个视觉语言模型部署需要 4 个 Nvidia V100 GPU。用户可以部署更少的基础模型,灵活节省GPU资源
  • 聊天记录的最大长度为 2000,超过的 token 会被截断以满足 ChatGPT 的输入长度
多轮对话的完整样例
  • 16 轮对话示例,Visual ChatGPT 可以理解人类的意图,支持语言和图像输入,并完成复杂的可视化任务,如生成、提问和编辑
    Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models
Prompt Manager 的样例分析(system principles)
  • 命名敏感性和格式严格性
    Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models
  • 可靠性和 CoT
    Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models
Prompt Manager 的样例分析(foundation models)
  • 命名影响与使用影响
    Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models
  • 输入输出影响与示例影响
    Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models
Prompt Manager 的样例分析(user query and model outputoutput.)
  • 独特文件名影响与促使 VFM 思考影响
    Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models
  • 生成链式文件名影响与询问更多细节影响
    Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models

局限性分析

  • 依赖 ChatGPT 和 VFM:Visual ChatGPT 的性能在很大程度上受到这些模型的准确性和有效性的影响
  • 重型提示工程:这个过程很耗时,需要计算机视觉和自然语言处理方面的专业知识
  • 实时性有限:在处理特定任务时,Visual ChatGPT 可能会调用多个 VFM,导致与专门为特定任务训练的专家模型相比,实时能力有限
  • Token 长度限制:ChatGPT 中的最大 token 长度可能会限制可以使用的基础模型的数量。如果有数千或数百万个基础模型,则可能需要一个预过滤器模块来限制输入到 ChatGPT 的 VFM
  • 安全和隐私:方便地插入和拔出基础模型的能力可能会引起安全和隐私问题,特别是对于通过 api 访问的远程模型

Thoughts

  • 无需 finetune 的方案对于使用者来说非常友好,未来模态扩充也更方便
  • 工作的主要创新点在 prompt manager 上,整体思路其实很直观,工作量整体来看并不大,主要是 prompt 工程需要一定的专业知识才能做
  • Github 代码上线两天 8k+ star,视觉语言这个领域现在确实火…

到了这里,关于Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【论文笔记】GeneFace: Generalized and High-FidelityAudio-Driven 3D Talking Face Synthesis

    这项工作泛化能力弱,存在的两个挑战: (1)训练数据规模小。 (2)容易产生“平均脸”。音频到其对应的面部运动是一对多映射,这意味着相同的音频输入可能具有多个正确的运动模式。使用基于回归的模型学习此类映射会导致过度平滑和模糊结果 (1)为了处理弱泛化

    2024年02月04日
    浏览(35)
  • 2023+HuggingGPT: Solving AI Tasks with ChatGPT and itsFriends in Hugging Face

    摘要: 语言是llm(例如ChatGPT)连接众多AI模型(例如hugs Face)的接口,用于解决复杂的AI任务。在这个概念中,llms作为一个控制器,管理和组织专家模型的合作。LLM首先根据用户请求规划任务列表,然后为每个任务分配专家模型。专家执行任务后,LLM收集结果并响应用户。 问题:

    2024年02月12日
    浏览(25)
  • Multimodel Image synthesis and editing:The generative AI Era

    1.introduction 基于GAN和扩散模型,通过融入多模态引导来调节生成过程,从不同的多模态信号中合成图像;是为多模态图像合成和编辑使用预训练模型,通过在GAN潜在空间中进行反演,应用引导函数,或调整扩散模型的潜在空间和嵌入。 2.modality foundations 每一种信息源或形式都

    2024年02月09日
    浏览(32)
  • HuggingGPT Solving AI Tasks with ChatGPT and its Friends in Hugging Face

    HuggingGPT 让LLM发挥向路由器一样的作用,让LLM来选择调用那个专业的模型来执行任务。 HuggingGPT搭建LLM和专业AI模型的桥梁。 Language is a generic interface for LLMs to connect AI models Task Planning: 将复杂的任务分解。但是这里是将任务分解为一系列的structured tasks。还可以通过之前的 ch

    2024年02月15日
    浏览(31)
  • LLaMA:Open and Efficient Foundation Language Models

    在大规模数据下训练的大模型,已经展示了很好的表现,当模型足够大的时,模型会出现一个 涌现 的能力,如下图: 最近的一项研究表明,在有限的算力下,表现最好的模型不是参数最大的,而是小一点模型搭配了更多数据。 这项工作的重点是训练一系列语言模型,通过对

    2024年02月09日
    浏览(29)
  • LLaMA Open and Efficient Foundation Language Models

    来源Meta AI github地址: facebookresearch/ llama 论文:LLaMA: Open and Efficient Foundation Language Models 模型:目前可以在huggingface上直接下载,https://huggingface.co/decapoda-research 包括: LLaMA-7B LLaMA-13B LLaMA-33B LLaMA-65B 一、摘要 我们介绍了LLaMA,这是一组从7B到65B参数范围内的基础语言模型。我们

    2024年02月11日
    浏览(55)
  • LLaMA: Open and Efficient Foundation Language Models

    用最少的计算资源,解决了LLM大模型预测问题,训练了一些列的LLaMa模型,在参数量比较少的情况下,达到业界大模型效果。 主要贡献就是提升了LLM模型的训练速度和效率,在小容量的基础上,大大提升了模型的效果。 同时由于模型结构更小更简单,大大提升了推理速度。

    2024年02月13日
    浏览(33)
  • 《2023 HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face》阅读笔记

    借助大语言模型(LLMS)在语言理解生成推理等方面表现出的出色能力,考虑将其作为控制器来管理现有的各种AI模型, 把语言作为通用接口 。基于这一理念,提出了HuggingGPT框架,利用LLMS(ChatGPT)来连接机器学习社区(Hug face)中的各种AI模型,具体来说就是在接收用户请求

    2024年02月02日
    浏览(52)
  • LLaMA: Open and Efficient Foundation Language Models笔记

    一个基础语言模型的集合,参数范围从7B到65B 在数万亿的token上训练的模型,不依赖于专有的和不可访问的数据集 大多数基准测试中优于GPT-3 (175B) LLaMA65B与最好的模型Chinchilla-70B和PaLM-540B具有竞争力 全部模型开源!! 最近的工作表明,对于给定的计算预算,最佳性能不是由最

    2024年02月09日
    浏览(35)
  • 论文笔记--LLaMA: Open and Efficient Foundation Language Models

    标题:LLaMA: Open and Efficient Foundation Language Models 作者:Touvron, Hugo, et al. 日期:2023 期刊:arxiv preprint   文章利用公开数据集训练并发布了一系列大语言模型LLaMA,在多个NLP下游任务中性能超过了GPT-3和PALM等模型。 English CommonCrawl(67%): 训练集的大部分构成为2017~2020年间的Com

    2024年02月09日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包