LLaMA模型指令微调 字节跳动多模态视频大模型 Valley 论文详解

news2024/11/25 0:37:17

Valley: Video Assistant with Large Language model Enhanced abilitY

大家好,我是卷了又没卷,薛定谔的卷的AI算法工程师「陈城南」~ 担任某大厂的算法工程师,带来最新的前沿AI知识和工具,包括AI相关技术、ChatGPT、AI绘图等, 欢迎大家交流~。

近期基于LLaMA微调的模型有很多,Alpaca,Vicuna都是基于ChatGPT等数据进行文本场景指令微调,LLaVA也使用图文对数据进行了图文场景多模态能力的扩展(这几个模型往期文章都有涉及,不清楚/感兴趣的可以看)。

而本文提到的Valley则是字节发布的视频场景多模态指令微调LLaMA模型

其中这几个指令微调版本的模型都大差不差,主要还是数据与训练的差异。本文描述Valley当然对标的是其类似模型LLaVA,原文introduction部分翻译修改后如下:

在Valley中,我们遵循 LLaVA 的先预训练然后指令调整的流程,采用一个简单的投影模块作为视频、图像和语言模式之间的桥梁。 我们采用 CLIP (Radford et al., 2021) 的 ViT-L/14 (Dosovitskiy et al., 2021) 作为视觉编码器(与LLaVA一致),然后提出一种时空池化操作来统一视频和图像输入的视觉编码(模型差异点)。 通过更新投影模块进行预训练,以使统一的视觉嵌入与 LLM 保持一致,其中 Stable-Vicuna (Chiang et al., 2023) 由于其多语言能力而成为选择的 LLM。 此外,我们引入了从各种视频任务中收集的多模态指令跟踪数据集,包括视频问答、长描述、随意关系推理和动作识别。 经过指令微调,最终提出了我们的视频理解谷多模态基础模型。 作为人工智能助手,我们预计Valley将在各种视频相关任务中得到广泛的应用,并帮助用户以类似于在现实世界中与人聊天的方式更好地理解和解释复杂的视频。

结合论文内容,我对Valley的贡献作了概括:

  • 模型:基于LLaVA的方法,添加了时空池化模块应对视频(多帧)场景,将LLaVA从单图扩展为多图(动态长度),同时将LLaVA的Vicuna语言模型换为Stable-Vicuna模型。;
  • 数据:搞了多模态的instruction-following数据集,聚焦于视频理解、比较多样的任务(包括multi-short captions,带时间戳的时间性描述、长视频的复杂陈述。同时使用了ChatGPT生成对话人和视频内容的对话,进一步增强数据集的质量和多样性。
  • 开源:LLM时代,开源也是贡献~

Related Work

感兴趣的可以通过 相关工作来了解一下LLM的现状,以下为部分机翻:

现有的方法可以分为两种技术路线,一种是利用LLM作为调度器来调度现有的多模态模型,另一种是基于LLM来训练多模态模型。 前者在接收到用户指令和各个基础模型的功能后,将LLM作为控制器逐步调用相应的模型,并整合各个模型的输出内容生成结果(Wu等,2023;Shen等,2023)。 ,2023;Yang 等人,2023)。 例如,HuggingGPT(Shen et al., 2023)利用ChatGPT根据其功能描述在Hugging Face1中选择合适的模型并总结其执行结果。 后者为法学硕士配备辅助模块,帮助他们通过端到端训练理解多模态内容(Li et al., 2023c; Zhu et al., 2023; Zhu et al., 2023; Zhu et al., 2023; Liu et al., 2023; Su 等人,2023;戴等人,2023)。 例如,LLaVA (Liu et al., 2023) 和 MiniGPT-4 (Zhu et al., 2023) 通过投影层将 LLaMA (Touvron et al., 2023) 与视觉编码器连接起来,赋予其理解图像的能力 。 Video-LLaMA (Zhang et al., 2023) 通过 Q-Former 为 LLaMA (Touvron et al., 2023) 提供视觉和音频信息,赋予其基于视频的对话能力。

方法部分

网络结构

在LLaVA(如上图)基础上进行了扩展,将其单图扩展为多图(视频),如下图:

多帧的处理通过时空池化模块,具体:

  1. 有T个图,每个图的特征为 Vcls + 256 个patch token;

  1. 在patch token上做时间维度的平均,即T个图平均,则剩余特征为 T个Vcls + 256个平均后的patch token,下图为patch token的平均;

  1. 因为patch token的时间平均会损失时间信息(保留空间信息),所以将Vcls token 拼接在patch token后面,最终得到 T+256个视觉Token的输入,下图的V平均就是patch token;

空间tokens:256 patch(平均),时序tokens:T个CLS Token;这两个Token最终会经过映射层(Projection)与Text tokens衔接在一起送给大模型;

指令微调数据收集

作者基于MSRVTT(10k)、VATEX(22k)、AativityNet(10k)、VIOLIN(5.8k)共多个数据集构建了视频中心多模态指令数据,包含3种上下文类型,这些对应的问答对生成通过stable-vicuna生成,如下图

参考LLaVA和VideoChat中生成Prompt的方式,作者也用了上面的3种上下文文本和Stable-Vicuna生成了指令微调数据,如下图。累积42k对话5.8k的问答对,其中对话数据涵盖基础视频内容描述(目标信息等)、时间内容理解。问答数据包含因果推理、字符识别和视频复杂内容理解。

训练

同LLaVA类似的两阶段训练方式,第一阶段通过预训练映射层来进行特征对齐第二阶段微调语言模型映射层

映射层预训练

使用图文对、视频文本对两种数据进行预训练,其中图文对为LLaVA的595k CC3M数据,视频文本对为参考LLaVA过滤方法进行过滤的 702K WebVid2M 数据。两种类型数据的Prompt组织方式一致,均为:

如果输入单个图像,则帧数为1。图像-文本对和视频-文本对构建为单轮对话,使用各种问题询问视频内容,并使用相应的标题进行回答。

微调

不止上面提到的42k对话和5.8k的问答对,为了增强对视觉内容的强调,还从LLaVA中收集了150k的图片指令数据、以及VideoChat收集的11k视频指令。

实验部分

没有什么指标,给了几个case大家感受下性能就行

Limitation

  1. 加入音频信息,构建 音、画、文三种模态可感知的多模态模型;

  2. 提供中文感知能力,构建更多的中文多模态数据来增强模型;

  3. 存在LLM固有的幻觉问题(hallucination problem)需要解决。幻觉问题指大模型的输出是错误的、无意义的、输出与输入是明显不符合的(比如在摘要生成任务上)等情况,详细可参考:

    1. GPT-4的“hallucination”(幻觉)相关对策
    2. 对话大模型中的事实错误:ChatGPT 的缺陷文本任务_问题
    3. Survey of Hallucination in Natural Language Generation arXiv:2202.03629v5

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

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

相关文章

性能测试工具的重要性及其应用

在现代的软件开发过程中,性能测试是不可或缺的一环。性能测试旨在评估系统或应用程序在特定负载条件下的性能表现,帮助开发团队识别潜在的性能瓶颈和问题。而性能测试工具作为辅助工具,发挥着至关重要的作用。以下是性能测试工具的重要性及其…

vue 2.0 的使用

day01 1. Vue简介 一套用于构建用户界面的 <font colorred>渐进式框架</font> 2. 初识Vue 2.1 搭建Vue开发环境 第一步&#xff1a;去<a href"https://v2.cn.vuejs.org/">Vue2官网</a>&#xff0c;下载依赖包。 第二步&#xff1a;在 …

教你如何优雅的管理UDP接口——Python

设计思路主要参考了Flask框架&#xff0c;通过 route() 装饰器来告诉 UDE触发函数的 URL&#xff0c;通过蓝图接口进行分类管理。 ude.py 代码内容 import socket import msgpackclass UDE:def __init__(self):self.urls {}# 回调函数def Callback(self, packet):try:data …

vue中elementUI表单循环验证

进行验证的步骤 1、表单el-form 添加 :model"form" ref"form" :rules"rules"&#xff0c;注意是 :model"form"不是v-model&#xff0c;而后每个el-form-item绑定prop 2、不循环的示例在官网可看 3、循环表单的验证&#xff1a;3-1、e…

QT 之蓝牙编程

简介 使用PC蓝牙和蓝牙透传模块通讯。使用Android蓝牙和蓝牙透传模块通讯。 准备 QT core gui bluetoothQT蓝牙库相关头文件 #include <QtBluetooth/qbluetoothglobal.h> #include <QtBluetooth/qbluetoothlocaldevice.h> #include <qbluetoothaddre…

6.2.5 网络基本服务----动态主机配置协议DHCP

6.2.5 网络基本服务----动态主机配置协议DHCP 动态主机配置协议允许一台计算机加入新的网络时可自动获取网络配置信息&#xff0c;不用人工参与。连网的计算机需要配置的参数包括 IP地址子网掩码默认路由器的IP地址域名服务器IP地址 DHCP与DNS、FTP、Telnet一样也采用客户服…

Jetbot TinyML Create Sin

浏览器访问ip(oled上显示的ip地址):8888&#xff0c;如192.168.10107:8888&#xff0c;Password:jetbot。 双击Notebool下的Python 3&#xff0c;然后编辑代码&#xff1a; import tensorflow as tf import numpy as np import matplotlib.pyplot as plt import math#Well gen…

医疗器械外贸ERP软件:优化资源分配,提升企业竞争力

随着医疗器械外贸业务的不断发展&#xff0c;外贸业务管理ERP软件已经成为了医疗器械企业必不可少的一项工具。该软件解决方案可以有效地帮助企业管理海外市场、跟进海外订单、协调供应链等关键业务。 医疗器械外贸行业管理难点&#xff1a; 1、法规和标准&#xff1a;涉及到不…

博客系统(Servlet)

我们的目标是实现一个带有服务器版本的博客系统&#xff08;重点关注后端开发&#xff09; 1.准备工作 1&#xff09;创建web项目 2&#xff09;创建相应的目录结构、 3&#xff09;配置pom.xml <?xml version"1.0" encoding"UTF-8"?> <pro…

【玩转Linux操作】一文带你明白Shell的判断,循环语句

&#x1f38a;专栏【玩转Linux操作】 &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#x1f386;音乐分享【如愿】 大一同学小吉&#xff0c;欢迎并且感谢大家指出我的问题&#x1f970; 文章目录 &#x1f354;判断语句⭐单层if&#x1f388;示例 ⭐…

C++ 最长子段和

最大子段和详解_最大字段和_Niteip的博客-CSDN博客 #include <iostream> #include <sstream> #include <vector> #include <string> #include <algorithm> #include <climits> #include <unordered_map> #include <set>using…

ElementUI —— Cascader 级联选择器

前言&#xff1a; 项目中使用Cascader级联选择器&#xff0c;通过递归处理后端接口返回的数据。 function fn(temp) {let newArr [];for (let i 0; i < temp.length; i) {let obj {};obj.value temp[i].name;obj.label temp[i].name;obj.children [];if (temp[i].chil…

Python爬虫实战之原神公告获取

前言 好久不见了吧&#xff0c;博主最近也是成为了准高三&#xff0c;没有太多时间去创作文章了&#xff0c;所以这篇文章很有可能是高考前最后一篇文章了(也不一定&#x1f609;) 言归正传&#xff0c;本次文章主要讲解如何去爬取原神官网的公告(我不玩原神&#xff01;&…

如何在WordPress网站中嵌入TikTok视频(3个简单方法)

您想轻松地将 TikTok 视频嵌入您的 WordPress 网站吗&#xff1f; 如果您已经创建了成功的、病毒式传播的 TikTok&#xff0c;那么将这些视频发布到您的网站也是有意义的。通过这种方式&#xff0c;您只需很少的额外努力就能获得更多的观看次数、参与度和社交媒体关注者。 在…

企业面临数字化转型,有什么建议吗?

数字化转型是一个综合过程&#xff0c;涉及利用数字技术增强业务运营、改善客户体验并推动创新。企业数字化转型的一些建议&#xff1a; 制定清晰的愿景&#xff1a;定义数字化转型目标并创建与业务目标相符的愿景。这将有助于指导数字化并确保它们的驱动目标。 拥抱云计算&am…

盲盒抽奖小程序源码-带H5端可打包APP_带安装教程

1.新建站点。上传后台源码文化到新建站点&#xff0c;解压跟目录&#xff01;&#xff01; 2. 导入数据库文件&#xff0c;修改数据库信息&#xff0c;&#xff08;数据库根目录 .env 文件&#xff09; 3. 修改网站运行目录 《运行目录为/public 》 4. 修改伪静态 《伪静态t…

STM32 Proteus仿真双路0-20V直流电压表TM1637数码管-0061

STM32 Proteus仿真双路0-20V直流电压表TM1637数码管-0061 Proteus仿真小实验&#xff1a; STM32 Proteus仿真双路0-20V直流电压表TM1637数码管-0061 功能&#xff1a; 硬件组成&#xff1a;STM32F103R6单片机 TM1637 4位数码管驱动电路2路0~20V电压测量模块2个电位器输出0-…

微信小程序精选,多样化的功能与便捷体验

白噪音Pro、魔术字体和天天倒计时&#xff0c;这三款微信小程序正越来越受到我们的欢迎。它们各自具有独特的功能和特点&#xff0c;为我们提供了多样化的体验。现在&#xff0c;让我们一起来详细介绍一下这三款小程序。 首先是白噪音Pro。随着生活节奏的加快和压力的增加&…

如何把录音转换成文字免费?用三个方法轻松转文字!

录音转文字的技术为我们的生活带来了诸多便利。例如&#xff0c;一家新闻机构正在进行一项采访&#xff0c;需要记录受访者的观点和信息&#xff0c;他们选择使用录音设备来收集数据&#xff0c;因为这样可以更准确地捕捉受访者的原始反应。然而&#xff0c;手动将录音内容转化…

动态路由介绍

目录 动态路由 协议的划分&#xff1a; 通过协议算法的不同可以分为两类&#xff1a; RIP RIP的基础配置 拓展配置&#xff1a; 1.RIP的手工认证——RIPV2的手工认证 2.RIP的手工汇总 3.RIP的沉默接口 4.RIP的加快收敛 5.RIP的缺省路由 OSPF 动态路由评判标准&…