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

相关文章

SpringBoot项目Web拦截器使用的多种方式

《SpringBoot项目Web拦截器使用的多种方式》在SpringBoot应用中,Web拦截器(Interceptor)是一种用于在请求处理的不同阶段执行自定义逻辑的机制,下面给大家介绍Sprin... 目录一、实现 HandlerInterceptor 接口1、创建HandlerInterceptor实

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

Python使用Reflex构建现代Web应用的完全指南

《Python使用Reflex构建现代Web应用的完全指南》这篇文章为大家深入介绍了Reflex框架的设计理念,技术特性,项目结构,核心API,实际开发流程以及与其他框架的对比和部署建议,感兴趣的小伙... 目录什么是 ReFlex?为什么选择 Reflex?安装与环境配置构建你的第一个应用核心概念解析组件

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

web网络安全之跨站脚本攻击(XSS)详解

《web网络安全之跨站脚本攻击(XSS)详解》:本文主要介绍web网络安全之跨站脚本攻击(XSS)的相关资料,跨站脚本攻击XSS是一种常见的Web安全漏洞,攻击者通过注入恶意脚本诱使用户执行,可能... 目录前言XSS 的类型1. 存储型 XSS(Stored XSS)示例:危害:2. 反射型 XSS(Re