Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models ----论文阅读

这篇具有很好参考价值的文章主要介绍了Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models ----论文阅读。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

vary-base,语言模型,论文阅读,人工智能

Vary 的代码和模型均已开源,还给出了供大家试玩的网页 demo。感兴趣的小伙伴可以去试试

主页:https://varybase.github.io/
部分内容参考:https://mp.weixin.qq.com/s/Sg_yHAVVN-yAYT61SNKvCA

预备知识

CLIP

官网:https://openai.com/research/clip (要了解的建议看这个,篇幅少点,论文中大量篇幅是介绍实验的)
论文:https://arxiv.org/abs/2103.00020
代码:https://github.com/openai/CLIP

Qwen-7B

通义千问
官网:https://github.com/QwenLM/Qwen
技术报告:https://arxiv.org/abs/2309.16609

Vicuna-7B

官网:https://lmsys.org/blog/2023-03-30-vicuna/

简介

目前的多模态大模型几乎都是用 CLIP 作为 Vision Encoder 或者说视觉词表。确实,在 400M 图像文本对训练的 CLIP 有很强的视觉文本对齐能力,可以覆盖多数日常任务下的图像编码。但是对于密集和细粒度感知任务,比如文档级别的 OCR、Chart 理解,特别是在非英文场景,CLIP 表现出了明显的编码低效和 out-of-vocabulary 问题。

受语言的 LLMs 启发,纯 NLP 大模型(如 LLaMA)从英文到中文(外语)时因为原始词表编码中文效率低,必须要扩大 text 词表。那么对于现在基于 CLIP 视觉词表的多模大模型也是一样的,遇到 “foreign language image”,如一页论文密密麻麻的文字,很难高效地将图片 token 化,Vary 提出就是解决这一问题,在不 overwrite 原有词表前提下,高效扩充视觉词表。

Vary 表现出了很大的潜力和极高的上限,OCR 可以不再需要冗长的 pipline,直接端到端输出,且可以按用户的 prompt 输出不同的格式如 Latex、Word、Markdown。通过 LLM 极强的语言先验,这种架构还可以避免 OCR 中的易错字,比如“杠杆”和“杜杆”等, 对于模糊文档,也有望在语言先验的帮助下实现更强的 OCR 效果。

模型

不同于现有方法直接用现成的 CLIP 词表,Vary 分两个阶段:第一阶段先用一个很小的 Decoder-only 网络用自回归方式帮助产生一个强大的新视觉词表,此阶段为 Vary-tiny;然后在第二阶段融合新词表和 CLIP 词表,从而高效的训练多模大模型拥有新 feature,此阶段为 Vary-base。Vary 的训练方法和模型结构如下图:
vary-base,语言模型,论文阅读,人工智能
具体来说,Vary-tiny主要由一个词汇网络和一个微小的 OPT-125M 组成。在两个模块之间,使用一个线性层来对齐通道尺寸。在Vary-tiny 中没有文本输入分支,因为它主要关注细粒度感知。希望新的视觉词汇网络能够在处理人工图像,即文档和图表方面表现出色,以弥补CLIP的不足。同时,也期望在输入自然图像时,它不会成为CLIP的噪声。因此,在生成过程中,本文将人工文档和图表数据作为正样本,将自然图像作为负样本来训练 Vary-tiny。在完成上述过程后,本问题提取词汇网络并将其添加到一个大型模型中以构建Vary-base。如上图下半部分所示,新旧词汇网络具有独立的输入嵌入层,并在LLM之前进行集成。在此阶段,冻结新旧视觉词汇网络的权值,解冻其他模块的权值。

产生新视觉词表

新词汇网络

本文使用 SAM 预训练的 ViTDet 图像编码器作为 Vary 新词汇网络的主要部分。由于 SAM-base 的输入分辨率为(1024×1024),而输出步幅为 16,所以最后一层的特征维度的为(64×64×256),无法与 CLIP-L 的输出(N×C为256×1024)对齐。因此,本文在SAM 初始化网络的最后一层后面添加了两个卷积层,如下图所示。第一个卷积层的核大小为 3,目的是将特征变为 32×32×512。第二个卷积层的设置与第一个相同,可以进一步将输出变为 16×16×1024。之后,再将输出特征展平为 256×1024,以对齐 CLIP-VIT的图像 token 的维度。
vary-base,语言模型,论文阅读,人工智能

数据

文档数据。 本文选择高分辨率文档图像-文本对作为新视觉词汇预训练的主要正样本,因为密集OCR可以有效验证模型的细粒度图像感知能力。因为目前还没有公开的中英文文档数据集,所以本文创建了自己的数据集。首先从 arXiv 和 CC-MAIN-2021-31-PDFUNTRUNCATED 上的开放获取文章中收集 pdf 格式的文档作为英文部分,从互联网上的电子书中收集中文部分。然后使用PyMuPDF 的 fitz 提取每个 pdf 页面中的文本信息,同时通过 pdf2image 将每个页面转换为 PNG 图像。在此过程中,本文分别构建了 1M 个中文文档和 1M 个英文文档图像-文本对进行训练。

图表数据。 目前的 LVLMs 并不擅长图表理解,尤其是中文图表,所以本文把图表数据作为另一个需要融合进新词汇表的主要知识。对于图表图像-文本对,本文使用渲染方式。选择 matplotlib 和 pyecharts 作为渲染工具。对于 matplotlib 风格的图表,构建了 250k 的中英文版本。而对于pyecharts,分别为中文和英文创建了 50万 个pyecharts。此外,将每个图表的文本 gt 转换为 python- dictionary 形式。图表中使用的文本,例如标题、x轴和y轴,是从互联网上下载的自然语言处理(NLP)语料库中随机选择的。

负的自然图像。对于CLIP-VIT擅长的自然图像数据,需要保证新引入的词汇不会产生噪声。因此,本文构建了负的自然图像-文本对,以使新词汇网络在看到自然图像时能够正确编码。我们从 COCO 数据集中提取了 120k 张图像,每张图像对应一个文本。文本部分从以下句子中随机抽取: “It’s an image of nature”; “Here’s a nature picture”; “It’s a nature photo”; “This is a natural image”; “That’s a shot from nature”

输入格式

本文用图像-文本对 对 var -tiny 的所有参数进行自回归训练。输入格式遵循流行的LVLMs,图像 token 与文本 token 拼接。具体来说,本文使用两个特殊的标记“”和“”来标识图像 token 输入到 OPT-125M(4096个标记)的输入的位置。在训练过程中,Vary-tiny的输出仅为文本,并将“”视为eos token。

融合新视觉词表

Vary-base结构

在完成词汇网络的训练后,将它用于 Vary -base中。具体来说,将新的视觉词汇表与原始的 CLIP-VIT 并行。这两个视觉词汇表都有一个单独的输入嵌入层,即一个简单的线性。线性的输入通道为 1024,输出通道为 2048,保证了拼接后的图像 token 通道为4096,这与LLM (Qwen-7B 或 Vicuna-7B )的输入完全一致。

vary-base,语言模型,论文阅读,人工智能

数据

LATEX渲染文档。 除了在训练词汇表时收集的文档数据外,还需要数据具有一定的格式,例如支持公式和表格。首先,在 arxiv 上收集了一些 .tex 源文件,然后使用正则表达式提取表、数学公式和纯文本。最后,用 pdflatex 准备的新模板重新渲染这些内容。收集了 10 多个模板来执行批处理渲染。此外,将每个文档页面的文本 gt 转换为 mathpix markdown 样式,以统一格式。通过这个过程,获得了 50 万英文页面和 40 万中文页面。如下图所示。

vary-base,语言模型,论文阅读,人工智能
语义关联图渲染。 之前通过批量渲染图表数据来训练新的词汇网络。然而,由于渲染图表中的文本(标题、x轴值和y轴值)是随机生成的,所以它们相关性较低。这个问题在词汇表生成过程中不是问题,只希望新的词汇表能够有效地压缩视觉信息。但是在 Vary-base 的训练阶段,由于 LLM 的解冻,希望使用更高质量(强相关内容)的数据进行训练。因此,本文使用 GPT-4 使用相关语料库生成一些图表,然后利用高质量语料库添加渲染 200k 图表数据进行 Vary-base 训练。

通用数据。 训练 Vary-base 和流行的 LVLMs 一样,例如LLaVA,包括预训练和监督微调阶段。与 LLaVA 不同的是,本文冻结了所有的词汇网络,并解冻了输入嵌入层和 LLM,这更像是一个纯 LLM 的预训练设置。然后使用自然的图像-文本对数据让 Var-base 学习一些通用概念。图像-文本对从 LAION-COCO 中随机抽取,数量为 400 万。在监督微调阶段,使用 LLaVA-80k 或 LLaVA-CC665k 以及 DocVQA 和 ChartQA 的训练集作为微调数据集。

对话格式

当我们使用 Vicuna- 7b 作为LLM时,对话格式遵循 Vicuna v1,即 USER: “”“文本输入 ”assistant:“文本输出”。由于 Vicuna 对汉语的效果不好,所以选择 Qwen-7B 作为处理汉语的 LLM。当使用 Qwen-7B 时,按照 LLaVA-MPT 设计对话风格,描述为: <|im_start|> 用户: “文本输入”<|im_end|> <|im_start|>助手:“文本输出”<|im_end|>。

模型输出结果示例

英文OCR
vary-base,语言模型,论文阅读,人工智能
中文OCR
vary-base,语言模型,论文阅读,人工智能
输出Markdown/Latex格式
vary-base,语言模型,论文阅读,人工智能
输出无线表格
vary-base,语言模型,论文阅读,人工智能
图表解释
vary-base,语言模型,论文阅读,人工智能
自然图像的解释
vary-base,语言模型,论文阅读,人工智能

结论

实际在Demo上简单体验了一下,对于实际场景中的图像 输出 OCR 结果或者 恢复表格结构,都不太好。大概是模型训练使用的数据大多数是论文或者简单的文字图片,所以对一些实际场景中的业务图片支持并不太好。所以目前这个模型仅仅在一个初级阶段,Vary 是一个具有很大的潜力和极高的上限的大模型。还需要不断的完善,对于 OCR 或者表格解析来说,还是目前的 pipeline 的效果更好。
不过,本篇论文提供了一个很好的思路,可以通过额外训练一个新的词汇网络,并且不影响已经在大量数据上训练过的大模型的本身的效果,结合两者训练出一个满足实际场景的大模型。文章来源地址https://www.toymoban.com/news/detail-773584.html

到了这里,关于Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models ----论文阅读的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【视频异常检测】VadCLIP: Adapting Vision-Language Models for Weakly Supervised Video Anomaly Detection 论文阅读

    文章信息: 发表于:AAAI(CCF A) 原文链接:https://arxiv.org/abs/2308.11681 源码链接:https://github.com/nwpu-zxr/VadCLIP 最近,对比语言-图像预训练(CLIP)模型在各种图像级任务中取得了巨大成功,展现了学习丰富语义的强大视觉表示能力。一个开放且值得探讨的问题是如何高效地将这样一

    2024年03月19日
    浏览(38)
  • 跨模态检索论文阅读:(PTP)Position-guided Text Prompt for Vision-Language Pre-training

    (PTP)Position-guided Text Prompt for Vision-Language Pre-training 视觉语言预训练的位置引导文本提示 视觉语言预训练(VLP)已经显示出将图像和文本对统一起来的能力,促进了各种跨模态的学习任务。 然而,我们注意到,VLP模型往往缺乏视觉基础/定位能力,这对许多下游任务如视觉推理至

    2024年02月11日
    浏览(32)
  • X2-VLM: All-In-One Pre-trained Model For Vision-Language Tasks论文笔记

    Title:X2-VLM: All-In-One Pre-trained Model For Vision-Language Tasks Code CLIP这一类方法只能进行图片级别的视觉和文本对齐; 也有一些方法利用预训练的目标检测器进行目标级别的视觉和文本对齐,但是只能编码目标内部的特征,无法有效表达多目标上下文关联; 本文致力于进行多粒度(

    2024年02月09日
    浏览(30)
  • Multitask Vision-Language Prompt Tuning

    本文是LLM系列文章,针对《Multitask Vision-Language Prompt Tuning》的翻译。 提示调整以任务特定的学习提示向量为条件,已成为一种数据高效和参数高效的方法,用于将大型预训练视觉语言模型适应多个下游任务。然而,现有的方法通常考虑从头开始独立地为每个任务学习提示向量

    2024年02月10日
    浏览(23)
  • 历尽艰辛的问题:Waiting for the kubelet to boot up the control plane......This can take up to 4m0s

    只是初始化一个集群,没想到如此艰辛。 初始化集群使用如下命令: sudo kubeadm init --kubernetes-version=v1.26.1 --ignore-preflight-errors=all 结果出现如题所示问题: waiting for the kubelet to boot up the control plane as Static Pods from directory “/etc/kubernetes/manifests” this might take a minute or longer if the

    2024年02月06日
    浏览(35)
  • 【多模态】13、Vision-Language 模型在视觉任务中的调研

    近来,一种新的学习范式 pre-training → Finetuning → Prediction 取得了很大的进步,并且在视觉识别任务中取得了很好的效果。 使用 pretrained 模型来学习丰富的知识,可以加速模型对下游任务的收敛速度并且提高效果 但是,这种学习范式在下游任务仍然需要很多带标注的数据,如

    2024年02月17日
    浏览(26)
  • 【AIGC】16、Vision-Language 模型在视觉任务中的调研

    近来,一种新的学习范式 pre-training → Finetuning → Prediction 取得了很大的进步,并且在视觉识别任务中取得了很好的效果。 使用 pretrained 模型来学习丰富的知识,可以加速模型对下游任务的收敛速度并且提高效果 但是,这种学习范式在下游任务仍然需要很多带标注的数据,如

    2024年02月11日
    浏览(72)
  • VLT:Vision-Language Transformer用于引用的视觉语言转换和查询生成分割

    在这项工作中,我们解决了引用分割的挑战性任务。引用分割中的查询表达式通常通过描述目标对象与其他对象的关系来表示目标对象。因此,为了在图像中的所有实例中找到目标实例,模型必须对整个图像有一个整体的理解。为了实现这一点,我们 将引用分割重新定义为直

    2024年02月14日
    浏览(31)
  • 论文阅读《Vision-Language Pre-Training with Triple Contrastive Learning》

    本文是2022年CVPR上的一篇 多模态 论文,利用对比学习和动量来进行图片与文本信息的上游预训练。 作者提出问题 简单的跨模态比对模型无法确保来自同一模态的相似输入保持相似。(模态内部语义信息损失) 全局互信息最大化的操作没有考虑局部信息和结构信息。 对于上

    2024年04月13日
    浏览(34)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包