【多模态】41、VILA | 打破常规多模态模型训练策略,在预训练阶段就微调 LLM 被证明能取得更好的效果!

在这里插入图片描述

论文:VILA: On Pre-training for Visual Language Models

代码:https://github.com/NVlabs/VILA

出处:NVLabs

时间:2024.05

贡献:

  • 证明在预训练阶段对 LLM 进行微调能够提升模型对上下文任务的效果
  • 在 SFT 阶段混合图像-文本数据和纯文本数据能够缓解模型在纯文本任务上的退化,同时提升视觉理解能力

在这里插入图片描述

一、背景

大型语言模型(LLMs)在自然语言任务中展示了卓越的能力 [4, 8, 10, 15, 16, 19, 31, 46, 51, 59–61]。将LLMs扩展以支持视觉输入,使得最终模型能够继承一些吸引人的特性,如指令跟随、零样本泛化和少样本上下文学习(ICL),从而增强各种视觉语言任务的能力 [1, 2, 6, 9, 14, 20, 35, 39, 73]。

统一视觉和语言进行协作推理的核心挑战在于连接LLM和视觉基础模型(例如,CLIP编码器):这两种基础模型通常是单独预训练的,然后通过视觉-语言联合训练进行对齐。在这一领域的大多数努力都集中在改进视觉语言指令调整过程中,即监督微调(SFT)或基于人类反馈的强化学习(RLHF) [38, 39, 57]。然而,对于预训练过程缺乏全面的研究,在该过程中,模型在大规模图像-文本数据集/语料库上进行训练 [11, 54, 74]。这一过程虽然成本高昂,但对于模态对齐至关重要。

本文中,作者旨在探索不同设计选项对增强视觉语言模型预训练的影响。

作者希望能回答这个问题:“视觉语言模型预训练中的各种设计选择如何影响下游性能?”

作者遵循了预训练 + SFT 的流程,并对监督数据集属性和训练协议进行了不同设计选项的消融实验。发现了几个有趣的结果:

  • (1)在预训练期间冻结LLM可以实现不错的零样本性能,但无法实现上下文学习(ICL)能力,而更新LLMs则鼓励深度嵌入对齐,作者发现这对于ICL非常重要;
  • (2)交错的视觉语言数据对于预训练至关重要,它提供了准确的梯度更新并保持了纯文本能力;
  • (3)在SFT期间添加纯文本指令数据可以进一步补救纯文本退化并提升视觉语言任务的准确性。

作者引入了一种设计视觉语言模型的实用指南,称为VILA。在没有花哨技巧的情况下,VILA在广泛的视觉语言任务中明显超越了最先进的模型 [38],这得益于改进后的预训练过程。此外,作者观察到预训练过程为模型解锁了几种有趣的能力,例如:

  • (i)多图像推理(尽管模型在SFT期间仅看到单一图像-文本对)
  • (ii)更强的上下文学习能力
  • (iii)增强的世界知识。我们希望我们的发现能为未来的视觉语言模型提供良好的预训练配方

多模态模型的模型结构:

  • 多模态大模型的结构一般分为两种,一种是 cross-attention-based,另一种是 auto-regressive-based,后者是将图像编码为 token,然后和语言 token 结合起来送入 LLM 中的形式,更常用也更加灵活,所以本文也选择了后者的结构。
  • 基于自回归的 VLM 一般有 3 个部分:visual encoder、LLM、projector,且 projector 可以是 linear layer 或 MLP 或 Transformer block,作者会对比不同的形式所带来的效果

二、方法

在这里插入图片描述

2.1 Pre-training

更新 LLM 很有必要!

目前有两种流行的对 LLM 进行视觉微调的方法:

  • fine-tuning:训练 LLM 和 projector
  • prompt tuning:冻结 LLM,只微调 projector,这种方式目前比较流行,但作者发现更新 LLM 参数对上下文学习很重要,结果见表 1

在这里插入图片描述

  • 仅在SFT(微调)期间训练投影器会导致性能不佳(设置a),尽管使用了高容量设计。在SFT期间微调大型语言模型(LLM)是有回报的。
  • 在预训练期间冻结LLM并不会影响零样本性能,但会降低上下文学习能力(即4-shot,比较设置b和c)。对于描述数据集(如COCO和Flickr),这种差距更大,因为它们是分布外数据(指令微调数据主要是VQA类的,见补充材料),这表明冻结LLM时的泛化能力更差。
  • 当使用小容量投影器(一个线性层)时,准确性略有提高(比较设置c和d)。作者认为一个更简单的投影器迫使 LLM 在处理视觉输入方面学习更多,从而有更好的泛化能力。

为什么 4-shot 能够表示上下文学习能力呢:上下文学习能力通常指模型根据给定的上下文信息进行推理和预测的能力

  • 有限示例:在4-shot学习中,模型只有四个示例来推断任务或问题的模式。因此,它需要有效地利用这些有限的上下文信息来进行准确预测。这对模型的上下文理解和泛化能力提出了很高的要求。
  • 依赖于上下文信息:在少样本学习中,模型必须能够从少量示例中提取出有用的信息,并将其应用到新的、未见过的数据上。这意味着它需要理解和利用给定示例中的上下文信息,以便在新的情境下做出正确的推断。
  • 模型适应性:4-shot设置要求模型能够快速适应新任务或新数据。这种适应性依赖于模型对上下文信息的敏感度和处理能力。换句话说,模型需要能够从有限的示例中推断出更广泛的规律,并将其应用到不同但相关的任务上。
  • 综合能力测试:相比于零样本(0-shot)设置,4-shot设置更能测试模型在处理复杂任务时综合利用多条上下文信息的能力。零样本情况下,模型完全依赖于预训练时学到的一般知识,而在4-shot情况下,它还需要整合和应用新的特定示例。

为什么微调 LLM 会更好呢:

  • 作者假设对齐视觉和文本潜在嵌入的分布(特别是在更深层次)是很重要的,这样模型才能无缝地模拟这两种模态之间的交互。如果想在视觉语言应用中继承LLM的一些优良特性(如上下文学习能力),这一点至关重要。
  • 为了验证这一观点,作者计算了不同层次上视觉和文本嵌入的Chamfer距离,以衡量它们对齐的程度,如图3所示。计算了成对的余弦相似度,以排除幅度的影响。从配置(b)到(d),较深层次的相似度更高,表1中的4-shot准确率也随之提高,这表明深层嵌入对齐和上下文学习之间存在正相关关系。
  • 基于这些观察结果,在后续研究中,作者在预训练和指令微调期间都对LLM进行了微调,并使用了一个简单的线性投影层。

在这里插入图片描述

使用交错的数据很有必要!

其实多模态模型是为了增强 LLM 对视觉输入能力的支持,所以保持LLM的纯文本处理能力很重要。

数据混合:在预训练和指令微调过程中,使用混合的视觉和语言数据是关键因素。

预训练数据集可选择的类型:

  • 图像-文本对:大多数视觉语言模型(VLM)的预训练依赖于图像-文本对(例如,LAION,COYO),因为这些数据集广泛可用且多样性高。

  • 交错图像-文本数据集:一些数据集(如MMC4,M3W)包含交错的图像和文本,这些数据集的分布与纯文本语料库更相似。这种相似性在Flamingo风格模型训练中被证明是重要的。

  • 图像-文本对(COYO)的问题:

使用COYO进行预训练会导致“灾难性遗忘”,即模型忘记了如何处理纯文本任务。纯文本任务的准确性下降了17.2%(MMLU)。视觉语言任务的准确性也显著下降,特别是在4-shot设置下表现更差,这表明模型无法正确进行上下文学习,因为它在预训练期间从未见过超过一张图像。

  • 交错数据集(MMC4)的优势:

MMC4的数据分布与纯文本语料库更接近。使用交错数据进行预训练时,纯文本任务的准确性只下降了约5%。通过适当的指令微调,这种降级可以完全恢复。交错数据促进了视觉上下文学习,使得4-shot设置下的准确性高于0-shot设置。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

三、效果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

Centos7离线安装ElasticSearch7.4.2

一、官网下载相关的安装包 ElasticSearch7.4.2: elasticsearch-7.4.2-linux-x86_64.tar.gz 下载中文分词器: elasticsearch-analysis-ik-7.4.2.zip 二、上传解压文件到服务器 上传到目录:/home/data/elasticsearch 解压文件&#xff1…

免费无限白嫖阿里云服务器

今天,我来分享一个免费且无限使用阿里云服务器的方法,零成本!这适用于日常测试学习,比如测试 Shell 脚本、学习 Docker 安装、MySQL 等等。跟着我的步骤,你将轻松拥有一个稳定可靠的服务器,为你的学习和实践…

错误记录-SpringCloud-OpenFeign测试远程调用

文章目录 1,org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name memberController: Unsatisfied dependency expressed through field couponFeign2, Receiver class org.springframework.cloud.netflix…

几种不同的方式禁止IP访问网站(PHP、Nginx、Apache设置方法)

1、PHP禁止IP和IP段访问 <?//禁止某个IP$banned_ip array ("127.0.0.1",//"119.6.20.66","192.168.1.4");if ( in_array( getenv("REMOTE_ADDR"), $banned_ip ) ){die ("您的IP禁止访问&#xff01;");}//禁止某个IP段…

SAP S4 环境下,KSU1 Ob52 转为前台操作,不产生传输请求号

参考 OB52/KSV1/KSU1等与Client状态相关的前台操作-y_q_yang se16n 编辑表 T811FLAGS 新增行 CYCLES MAINTENANCE X 即可

WAIC 2024 AI盛宴大会亮点回顾

&#x1f389; 刚刚落幕的WAIC 2024大会&#xff0c;简直是科技迷们的狂欢节&#xff01;这场全球瞩目的人工智能盛会&#xff0c;不仅汇聚了全球顶尖的智慧&#xff0c;还带来了无数令人惊叹的创新成果。让我们一起回顾那些抓人眼球的亮点吧&#xff01; &#x1f525; 超燃开…

Java面试八股之MySQL的redo log和undo log

MySQL的redo log和undo log 在MySQL的InnoDB存储引擎中&#xff0c;redo log和undo log是两种重要的日志&#xff0c;它们各自服务于不同的目的&#xff0c;对数据库的事务处理和恢复机制至关重要。 Redo Log&#xff08;重做日志&#xff09; 功能 redo log的主要作用是确…

世界人工智能大会 | 江行智能大模型解决方案入选“AI赋能新型工业化创新应用优秀案例”

日前&#xff0c;2024世界人工智能大会暨人工智能全球治理高级别会议在上海启幕。本次大会主题为“以共商促共享&#xff0c;以善治促善智”&#xff0c;汇聚了上千位全球科技、产业界领军人物&#xff0c;共同探讨大模型、数据、新型工业化等人工智能深度发展时代下的热点话题…

[AI 大模型] Anthropic Claude

文章目录 [AI 大模型] Anthropic Claude简介模型架构发展新技术和优势示例 [AI 大模型] Anthropic Claude 简介 Anthropic Claude 是由 Anthropic 开发的一系列大型语言模型&#xff0c;旨在提供高性能、可靠和安全的 AI 解决方案。Claude 模型以其在语言处理、推理、分析和编…

响应式R2DBC数据库mybatis

介绍 响应式&#xff1a;Web、网络、IO&#xff08;存储&#xff09;、中间件&#xff08;Redis、MySQL&#xff09; 应用开发&#xff1a; ● 网络 ● 存储&#xff1a;MySQL、Redis ● Web&#xff1a;Webflux ● 前端&#xff1b; 后端&#xff1a;Controller – Service –…

【C++ STL】模拟实现 vector

标题&#xff1a;【C STL】模拟实现 vector 水墨不写bug &#xff08;图片来源于网络&#xff09; 正文开始&#xff1a; STL中的vector是一个动态数组&#xff0c;支持随机访问&#xff0c;可以根据需要来扩展数组空间。 本项目将实现vector的部分常用功能&#xff0c;以增强…

阿里云 Ubuntu 开启允许 ssh 密码方式登录

以前用的 centos&#xff0c;重置系统为 ubuntu 后在ssh 远程连接时遇到了点问题&#xff1a; 在阿里云控制台重置实例密码后无法使用密码进行 SSH 连接登录 原因&#xff1a;阿里云 Ubuntu 默认禁用密码登录方式 解决办法&#xff1a; 先使用其他用户登录到服务器 这里进来…

国产操作系统安装配置auditd审计工具 _ 统信 _ 麒麟 _ 中科方德

原文链接&#xff1a;国产操作系统安装配置auditd审计工具 | 统信 | 麒麟 | 中科方德 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇在国产桌面操作系统上部署auditd审计工具的文章。auditd是Linux审计系统的核心守护进程&#xff0c;用于记录系统安全相关的事件和…

Python自动化测试系列[v1.0.0][自动化测试报告]

BeautifulReport测试报告 获取BeautifulReport模块 BeautifulReport 源码Clone地址为 BeautifulReport &#xff0c;其中BeautifulReport.py和其template是我们需要的 BeautifulReport 如下代码是BeautifulReport.py的源码&#xff0c;其中几个注释的地方需要注意&#xff…

排序算法(算法篇)

算法之排序算法 排序算法 概念&#xff1a; 我们在的排序工作能在主存中完成的&#xff0c;我们就叫这种算法叫做内部排序不能在主存中完成而必须在磁盘或磁带上完成的排序算法叫做外部排序 冒泡排序 概念&#xff1a; 冒泡排序是一个很简单的排序算法&#xff0c;冒泡排…

【python】PyQt5可视化开发,鼠标键盘实现联动界面交互逻辑与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

一个简单的 Vue 组件例子

https://andi.cn/page/621509.html

YOLOv10改进 | Conv篇 | 利用DualConv二次创新C2f提出一种轻量化结构(轻量化创新)

一、本文介绍 本文给大家带来的改进机制是利用DualConv改进C2f提出一种轻量化的C2f&#xff0c;DualConv是一种创新的卷积网络结构&#xff0c;旨在构建轻量级的深度神经网络。它通过结合33和11的卷积核处理相同的输入特征映射通道&#xff0c;优化了信息处理和特征提取。Dual…

java 参数传递(尤其注意参数是对象的情况)

8大基本数据类型为 值传递 类和数组为 引用传递&#xff0c;传递的是地址 但是要注意虽然类是引用传递&#xff0c;但是要注意&#xff0c;调用方法是新开一个栈 因此如果进行p null或者 Person p new Person()等语句&#xff0c;要格外注意&#xff1a; 如果主函数再次输出…

基于场景的 Java Spring Boot 热门面试问题

随着 Spring Boot 继续主导 Java 生态系统&#xff0c;对熟悉这个强大框架的熟练开发人员的需求正在上升。如果您正在准备 Spring Boot 面试&#xff0c;尤其是作为一名经验丰富的专业人士&#xff0c;那么专注于测试您的实践知识和解决问题能力的基于场景的问题至关重要。本文…