Web agent 学习 2:TextSquare: Scaling up Text-Centric VisualInstruction Tuning

本文主要是介绍Web agent 学习 2:TextSquare: Scaling up Text-Centric VisualInstruction Tuning,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

学习论文:TextSquare: Scaling up Text-Centric Visual Instruction Tuning(主要是学习构建数据集)

递归学习了:InternLM-XComposer2: Mastering Free-form Text-Image Composition and Comprehension in Vision-Language Large Models(介绍模型结构细节)

论文译:1.放大以文本为中心的指令微调

2.掌握视觉语言大模型中的自由形式文本图像合成和理解

首先是第一篇论文:放大以文本为中心的指令微调

摘要部分主要是说:现有的多模态大模型受困于缺乏好的指令微调数据集,作者使用了一种叫“平方”的方法(自我提问、回答、推理和评估)制造了大规模、高质量的指令调优数据集Square-10M,并在其基础上训练出了textsquare模型,效果很好。

“以数据为中心的model”是什么意思?其实就是以往的模型重视算法(模型的结构啥的)但数据集比较随意。这些新模型的主要卖点不是模型有多奇妙,而是使用了更好的数据集。

VQA的意思是视觉问答。

本文的数据都是文本中心的,图片中有大量的文字。

本文的数据集构建流程如下:

(1)数据收集,用于收集具有不同属性的文本元素的大规模图像。

        在这一部分,作者收集了大量包含着许多文字的图片。

(2) 数据生成包括对收集到的数据进行自我提问、回答和推理(reasoning)。在这个阶段,MLLM被提示基于给定的图像以及其答案背后的推理来生成VQA对。

        这一部分就需要作者的Gemini登场了。reasoning就是要gemini解释一下为什么要这么回答。

(3)数据过滤,用于对生成的内容进行自我评估,旨在通过使用MLLM的评估能力来丢弃无意义的问题和错误答案。

        首先让gemini或者其他的什么大语言模型判断一下这些问题是否有意义,答案好不好。

        然后在回答阶段,作者会给gemini不同但其实是一个意思的提示。假如它一直给不一样的答案,那就不好。

        最后检查多上下文一致性。与上一步类似,我们通过在问题前准备不同的上下文信息来进一步验证VQA对。给定生成的问题,Gemini Pro在不同的上下文中生成三种类型的答案:(1)推理回答。Gemini Pro通过预先准备的详细解释(即推理阶段生成的内容)回答问题。(2) 上下文回答。Gemini Pro用预先准备好的思路或少量提示来回答问题。(3) 天真的回答。Gemini Pro在没有额外背景的情况下回答问题。如果生成的答案在语义上不一致,我们将丢弃VQA对

数据集搞完了,接下来介绍作者使用这个数据集训出来的模型。(不是上文那个gemini,这个工具人已经被抛弃了)

模型结构见此论文:Xiaoyi Dong, Pan Zhang, Yuhang Zang, Yuhang Cao, Bin Wang, Linke Ouyang, Xilin Wei, Songyang Zhang, Haodong Duan, Maosong Cao, et al. Internlm-xcomposer2: Mastering free-form text-image composition and comprehension in vision-language large model. arXiv preprint arXiv:2401.16420, 2024.

递归学习论文:InternLM-XComposer2: Mastering Free-form Text-Image Composition and Comprehension in Vision-Language Large Models

这个模型处理图像和文本。

图像encoder部分是用clip预训练的(就是用clip模型训练之后把图像encoder拆下来)当然也可使用开源的vit large模型。

语言模型部分使用了InternLM-2。

显然,这两个模型都是从别人身上扣下来的。他们在原本的模型里很正常,放到一起可能就不对头(不认识彼此的token啥的),我们要做的就是对齐图像特征与文字特征。这一部分要用的部件就是Partial LoRA——也就是Low-Rank Adaptation。

这就是给vision最后面(包括与LLM连接的那部分)加上几个全连接层,LLM固定住(太大了,训练不起),只训练vision和加上去的几个层,就可以让二者对齐了。最后可以解锁所有参数稍微训个几步。

模型结构大概就这样,现在回归主线。

在textsquare模型上,作者是这样训练的:TextSquare是通过使用Square-10M执行监督微调(SFT)来实现的。SFT过程包括三个阶段:在第一阶段,我们解冻所有三个组件(即视觉编码器、LLM和投影仪),并以490的分辨率训练模型。在第二阶段,输入分辨率增加到700,并且只有视觉编码器被训练以适应分辨率变化。在第三阶段,我们进一步以700的分辨率进行全参数微调。TextSquare证明,使用我们的Square-10M数据集,具有8B参数和正常大小图像分辨率的模型可以在以文本为中心的VQA上实现非凡的性能,超过了大多数可用的MLLM,甚至是闭源SOTA模型。

最后再说一下自己的数据集牛逼,完了。

这篇关于Web agent 学习 2:TextSquare: Scaling up Text-Centric VisualInstruction Tuning的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/991979

相关文章

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

Java Web指的是什么

Java Web指的是使用Java技术进行Web开发的一种方式。Java在Web开发领域有着广泛的应用,主要通过Java EE(Enterprise Edition)平台来实现。  主要特点和技术包括: 1. Servlets和JSP:     Servlets 是Java编写的服务器端程序,用于处理客户端请求和生成动态网页内容。     JSP(JavaServer Pages)