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

相关文章

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho

Java Web实现类似Excel表格锁定功能实战教程

《JavaWeb实现类似Excel表格锁定功能实战教程》本文将详细介绍通过创建特定div元素并利用CSS布局和JavaScript事件监听来实现类似Excel的锁定行和列效果的方法,感兴趣的朋友跟随... 目录1. 模拟Excel表格锁定功能2. 创建3个div元素实现表格锁定2.1 div元素布局设计2.

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

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?安装与环境配置构建你的第一个应用核心概念解析组件