多模态:Vary-toy

文章目录

  • 前言
  • 一、模型结构
  • 二、数据工程
  • 总结


前言

Vary的提出让大模型在OCR相关任务的能力有了很大突破,通过提出额外的视觉词汇表模块来弥补单一CLIP编码能力的不足,详情可参考我之前的文章——多模态:Vary。

最近Vary的团队开发了一个更小版本的Vary模型——1.8B Vary-toy,与Vary相比,Vary-toy除了小之外,还优化了新视觉词表。解决了原Vary只用新视觉词表做pdf ocr的网络容量浪费,以及吃不到SAM预训练优势的问题。与Vary-toy同时发布的还有更强的视觉词表网络,其不仅能做pdf-level ocr,还能做通用视觉目标检测。

Vary-toy在消费级显卡可训练、8G显存的老显卡可运行,依旧支持中英文!这个“小”VLM几乎涵盖了目前LVLM主流研究中的所有能力:Document OCR、Visual Grounding、Image Caption、VQA……
Report:https://arxiv.org/abs/2401.12503

请添加图片描述


一、模型结构

请添加图片描述
Vary-toy的模型结构和训练流程如上图所示,大体上继承了Vary,使用Vary-tiny+,pretrain出一个更好的视觉词表,然后将训好的视觉词表merge到最终结构进行multi-task training(预训练)/SFT(监督微调)。
(注意这里的Vary-tiny+相比之前的Vary-tiny采用了更精细的数据和prompt)

模型输入与之前的Vary还有一些小的区别。当输入形状为H×W的图像时,新的视觉词汇分支将直接将图像大小调整为1024×1024,而CLIP分支通过中心裁剪获得224×224图像。两个分支都输出256个令牌,通道为1024。Qwen-1.8B输入通道的维数也是2048,所以最简单的方法是直接将两个分支中的图像标记连接起来作为语言模型的输入图像标记。在代码实现方面,为了保持与Vary结构的一致性,仍然在视觉词汇网络后面添加了输入嵌入层。

二、数据工程

一个好的数据配比对于产生一个能力全面的VLM是很重要的。因此在pretrain阶段,作者使用了5种任务类型的数据构建对话,数据配比和示例prompt如下;而在SFT阶段,只使用了LLaVA-80K数据。

请添加图片描述

与Vary-tiny的单一输入输出形式不同,Vary-tiny+需要不同的提示来引导模型输出正确的结果,因此需要多种输入格式来适应相应的任务。为了简单起见,作者使用Vicuna v1的模板来构建对话格式的所有ground truth,如

USER: “” “texts input” ASSITANT: “texts output” 。作者添加了“”和“”作为OPT-125M文本标记器的特殊标记,实验发现它可以很好地适应Vicuna模板。对于视觉输入分支,不使用任何增强,只将图像调整为固定分辨率,即1024×1024。

另外为了充分利用视觉词汇网络的能力,从SAM初始化中获得自然的图像感知能力,作者在视觉词汇生成过程中引入了目标检测数据。从两个大型开源数据集中收集样本,即Object365和OpenImage。由于在OPT的文本标记器中坐标(数字文本)编码的效率较低,对于对象过多的图像,ground truth中的标记数量可能会超过OPT- 125m支持的最大标记长度(尽管我们将其插值为4096)。因此,作者将注释重新组织为两个任务:
1) 对象检测: 如果图像中物体框数目<30个,则允许Vary-tiny + pipeline过程中的prompt为Detect all objects in this image。
2) REC(表达理解) : 如果图像中物体框数目>30个,则更换prompt模板为:Detect class1, class2, … in this image。通过上述方式,获得了大约3M的检测数据。
请添加图片描述

总结

Vary-toy这种小巧且能力强悍的模型还是很值得大家研究改进的,部署落地较为容易,迭代也会比较迅速。虽然天花板较低,但是很适合大模型的初学者进行研究。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/755415.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE要收费?难道ue的使用成本要增加吗?

去年&#xff0c;Epic Games在裁员16%后&#xff0c;放出要对非游戏制作等行业使用UE进行收费的消息。3月12日&#xff0c;Epic Games正式宣布了对UE、实时可视化工具Twinmotio和摄影测量应用RealityCapture的新定价。 Epic Games将从下个月开始推出新的Unreal订阅模式&#x…

Vue.js中使用Web Workers来创建一个秒表

在Vue.js中使用Web Workers来创建一个秒表应用可以提高性能&#xff0c;因为Web Workers可以在后台线程中运行&#xff0c;不阻塞主线程。下面是一个简单的Vue.js秒表应用的示例&#xff0c;该应用使用Web Worker来执行计时功能。 首先&#xff0c;我们创建一个Web Worker文件…

python循环结构

循环结构 1.1遍历循环结构for 1.1.1遍历循环for (1)遍历循环for的语句结构: for 循环遍历 in 遍历对象&#xff1a; 语句块 程序执行&#xff1a; &#xff08;2&#xff09;示例&#xff1a; #遍历字符串 for i in hello:print(i) #range()函数&#xff0c;python中的内…

蓝桥杯-Sticks-DFS搜索

题目 样例输出是 6 5 题目中给错了&#xff0c;不知道什么时候会改。 思路 --剪枝&#xff0c;否则时间复杂度和空间复杂度过大&#xff0c;会超时。 --注意有多组测试样例时&#xff0c;需要将bool数组重新赋值为false。 --函数类型不是void&#xff0c;return语句不能省…

【FPGA】摄像头模块OV5640

本篇文章包含的内容 一、OV5640简介1.1 基本概述1.2 工作时序1.2.1 DVP Timing&#xff08;数据传输时序&#xff09;1.2.2 帧曝光工作模式 1.3 OV5640 闪光灯工作模式1.3.1 Xenon Flash&#xff08;氙灯闪烁&#xff09;模式1.3.2 LED 1&2 模式1.3.3 LED 3模式1.3.4 手动开…

Re62:读论文 GPT-2 Language Models are Unsupervised Multitask Learners

诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文全名&#xff1a;Language Models are Unsupervised Multitask Learners 论文下载地址&#xff1a;https://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learner…

接口测试开始前做什么?这10步缺一不可!

在进行接口测试之前&#xff0c;测试工程师需要进行一系列的准备工作&#xff0c;以确保测试的顺利进行。以下是接口测试开始之前的准备工作&#xff0c;并附有示例说明&#xff1a; 1. 了解项目和接口文档&#xff1a; 在开始测试之前&#xff0c;测试工程师需要仔细阅读项目…

Android 系统源码快速入门

Android源码快速入门 今天分享的内容是Android源码快速入门&#xff0c;主要分为以下几个步骤&#xff1a; * 硬件要求 * 虚拟机安装 * 开发环境搭建 * 下载编译源码 * 从一个简单的实际开发需求体验 Framework 开发硬件要求 用于 Android Framework 开发的电脑需要较强的 C…

sqlserver列出表的所有字段名

1、纵向列出所有字段 SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME tablename;2、横向列车所有字段&#xff0c;以‘&#xff0c;’分隔 SELECT STUFF((SELECT , column_nameFROM information_schema.columnsWHERE table_name tablenameFOR XM…

使用 Python 编写网络爬虫:从入门到实战

网络爬虫是一种自动化获取网页信息的程序&#xff0c;通常用于数据采集、信息监控等领域。Python 是一种广泛应用于网络爬虫开发的编程语言&#xff0c;具有丰富的库和框架来简化爬虫的编写和执行过程。本文将介绍如何使用 Python 编写网络爬虫&#xff0c;包括基本原理、常用库…

实地研究降本增效的杀伤力,LSTM算法实现全国失业率分析预测

前言 ​ 降本增效降本增笑&#xff1f;增不增效暂且不清楚&#xff0c;但是这段时间大厂的产品频繁出现服务器宕机和产品BUG确实是十分增笑。目前来看降本增效这一理念还会不断渗透到各行各业&#xff0c;不单单只是互联网这块了&#xff0c;那么对于目前就业最为严峻的一段时…

zynq7000 neon 裸机编译

最近想用zynq7000跑下neon&#xff0c;所以就开始折腾。 因为ne10不能用在裸机上&#xff0c;所以盯上了cmsis_dsp。因为这个库可以在cortex-a和cortex-m上面跑&#xff0c;而zynq7000用的是cortex-a9。应该是可以跑的。在这里特别感谢大佬的文章&#xff0c;少走不少弯路。 …

Cinema 4D 2024 for mac/Win:开启三维动画与建模新纪元

在数字化时代&#xff0c;三维动画与建模已成为影视、游戏、广告等多个领域不可或缺的创作工具。而Cinema 4D&#xff0c;作为这一领域的佼佼者&#xff0c;始终以其卓越的性能和创新的功能引领着行业的发展。如今&#xff0c;Cinema 4D 2024的发布&#xff0c;更是为我们带来了…

键盘映射工具KeyTweak的使用,把F9和F10改为 Home、End

如果你的笔记本没有Home、End键 对于写文字和写代码影响还是比较大的 下面使用键盘映射工具KeyTweak 把F9和F10分别改为 Home、End 然后点击ok 电脑重启后 就生效了 很好用 完美解决 小尺寸笔记本 的按键少的烦恼 可以自己再琢磨琢磨 去映射 符合自己需求的按键 软件下载链接&…

【早鸟优惠|高录用|EI稳定检索】2024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024)诚邀投稿/参会!

【早鸟优惠|高录用|EI稳定检索】 2024年虚拟现实、图像和信号处理国际学术会议&#xff08;ICVISP 2024&#xff09;诚邀投稿/参会&#xff01; # 早鸟优惠 # 先投稿先送审 # #投稿免费参会、口头汇报及海报展示# 2024年虚拟现实、图像和信号处理国际学术会议&#xff08;I…

Golang案例开发之gopacket抓包入门(1)

文章目录 前言一、gopacket是什么&#xff1f;二、gopacket前提二、实践 枚举主机上网络设备的接口1、代码2、结果文档 总结 前言 说起网络抓包&#xff0c;我们一定听过大名鼎鼎的Tcpdump和WireShark。他们分别是Linux平台和Windows平台的抓包工具。 Wireshark抓包工具&…

杉德支付配合调查 - 数字藏品服务

最近&#xff0c;数字收藏品平台淘派发布了一则公告&#xff0c;宣布支付通道杉德已暂停接口服务&#xff0c;以配合调查。 近期发现多个异常账户&#xff0c;涉嫌盗取他人信息和银行卡&#xff0c;利用平台从事非法交易。淘派已第一时间报警&#xff0c;协助警方追回资金(回执…

idea maven 项目融合

背景 &#xff1a;项目A 和项目B 是两个独立的多模块项目&#xff0c;项目A 和项目B &#xff0c;均为独立的数据源 。其中项目B 有两个数据原。 需要将项目B 以多模块的方式融合进项目A。 解决版本。建立项目C&#xff0c;只含有pom的&#xff0c;空项目&#xff0c;项目A和项…

RPM与DNF的操作实践

这几课有三个目标&#xff1a; 第一步&#xff1a;先配置软件源 跳转到yum.repos.d目录&#xff0c;用vim创建一个openeuler_x84_64.repo文件。这个文件就是我们将会用到的软件源。 我们在里面添加这些东西&#xff0c;保存并退出即可。 然后&#xff0c;我们用yum list all就…

阿里云发布 AI 编程助手 “通义灵码”——VSCode更强了 !!

文章目录 什么是 通义灵码&#xff08;TONGYI Lingma&#xff09; 快速体验“通义灵码” 什么是“通义灵码”&#xff08;TONGYI Lingma&#xff09; 通义灵码&#xff08;TONGYI Lingma&#xff09;&#xff0c;是阿里云出品的一款基于通义大模型的智能编码辅助工具&#xff…