技术标签: llama 语言模型 音视频 大语言模型文献调研
本文是关于论文《Video-LLaMA: An Instruction-tuned Audio-Visual Language Model for Video Understanding》的简要介绍。Video-LLaMA是阿里达摩院的一个多模态大语言模型产品,可以理解视频中视觉和听觉内容。和很多多模态大语言模型类似,模型结构和训练方式中规中矩,但是针对视频这种信息量丰富的数据类型,作者提出了一些创意。
有关本专栏的更多内容,请参考大语言模型文献调研专栏目录
模型结构:与以往仅补充LLMs处理视觉或音频信号的作品不同,Video-LLaMA通过应对两个挑战实现视频理解:
(1)捕捉视觉场景中的时序变化:作者提出了Video Q-former,将一个预训练的图像编码器组装到视频编码器中,并引入视频到文本生成任务来学习视频-语言对应关系。
(2)整合音频-视觉信号。利用通用嵌入模型ImageBind作为预训练音频编码器,并在ImageBind之上引入一个Audio Q-former,为LLM模块学习合理的听觉查询嵌入。
训练方式:和很多多模态大语言模型一样,Video-LLaMA冻结预训练视觉和音频编码器,冻结的LLMs,进行跨模态训练。为了将视觉和音频编码器的输出与LLM的嵌入空间对齐,作者首先在海量视频/图像标题对上训练Video-LLaMA,然后使用质量更高但数量适中的视觉指导数据集模型。
论文链接:https://arxiv.org/pdf/2306.02858.pdf
代码链接:https://github.com/DAMO-NLP-SG/Video-LLaMA
展示样例:https://www.youtube.com/watch?v=RDNYs3Rswhc&feature=youtu.be
论文引用:
@article{zhang2023video,
title={Video-llama: An instruction-tuned audio-visual language model for video understanding},
author={Zhang, Hang and Li, Xin and Bing, Lidong},
journal={arXiv preprint arXiv:2306.02858},
year={2023}
}
大型语言模型(LLMs)已经表现出了出色的理解和遵循用户意图和指令的能力。研究人员通常将用户请求和LLMs的响应都以文本形式表达,但是,在许多应用场景下,仅限于文本的人机交互并不足够,真实世界的信息通常是多模态的。
现有工作的不足。为了进一步探索LLMs的潜力,许多研究人员尝试赋予LLMs理解多模态内容的能力。包括使用大量交织的图像-文本数据或语音-文本数据对多模态LLMs进行大规模预训练,以适应多模态输入。或者采用更高效的参数方式,通过补充LLMs与现成的视觉或语音基础模型来实现多模态理解。尽管这些方法有效,但它们致力于将来自一个额外模态(即图像或音频)的输入与文本对齐,这对于视频理解来说远远不够。要使LLMs理解视频,需要全面处理包括视觉输入、听觉输入和文本输出在内的不同模态,这比仅理解图像或仅理解音频任务更具挑战性。近期有一些研究尝试释放LLMs的视频理解能力,但它们主要目的是仅理解视频的视觉内容,而忽略了听觉内容。因此,作者的研究旨在填补加入音频的-视觉LLMs的空白,探讨构建支持视频输入的多模态LLMs的可能性,使用户能够围绕用户上传的视频与计算机进行交流。
构建端到端模型处理多模态结构。视频通常由多个视频帧和音频组成。与使用外部感知模型将视觉/听觉信号转换为文本信号不同,作者构建了一个端到端模型,可以在单个框架内处理来自多种模态的数据。采用BLIP-2的思想来保证跨模态预训练的效率。为了明确捕获视频中视觉场景的变化,使用预训练的视觉编码器分别计算帧表示。然后,我们引入了帧嵌入层来注入时间信息,以及一个视频Q-Former来生成视觉查询标记。对于视频中的音频信号,我们另外利用预训练的音频编码器以及音频Q-Former来学习合理的听觉查询嵌入。
多支路跨模态预训练实现视频与文本的对齐。为了使文本输出与视频对齐,作者设计了多支路交叉模态预训练,以学习视觉-语言对应关系和音频-语言对应关系。首先在大规模视频文本数据集上对与视觉相关的组件进行预训练,然后在视频会话数据集上进行微调,以执行视觉指令调整。对于音频编码器和语言解码器之间的对齐,作者进一步在音频文本数据集上对音频相关组件进行预训练。作者利用Imagebind作为编码器,将不同模态对齐到公共嵌入空间。
**大型语言模型(LLMs)**已成为跨领域的自然语言理解和生成的强大工具,涵盖了文章、对话、故事和诗歌等多种领域。诸如LLaMA、BLOOM和OPT等开源LLMs大大推动了技术的进步,并为自然语言处理社区做出了巨大贡献。借助这些LLMs奠定的基础,研究人员进一步扩展了它们的能力,开发了针对特定自然语言处理任务的专门模型,如Vicuna和Baize。作者在这些进展的基础上,通过增强LLMs的能力,使其能够理解视频中的视觉和听觉内容,从而扩展了它们在多媒体应用中的实用性和影响力。
研究人员一直积极探索利用LLMs处理多模态输入的方法。现有方法可分为两大类。第一类是将LLMs作为控制器,利用现有的多模态模型作为工具。在这种方法中,当接收到用户的文本指令时,LLM识别用户意图并决定调用哪些工具,然后通过整合这些现成的多模态模型得到综合性回应。例如包括ChatGPT、HuggingGPT和AudioGPT等。第二类侧重于训练基础的大规模多模态模型。这一系列工作的关键思想是将其他模态的预训练基础模型与文本LLMs进行对齐。例如,Flamingo利用感知器重采样器和门控交叉注意力层连接冻结的图像编码器和LLMs。BLIP2引入Q-Former将学习的图像查询映射到LLMs的文本嵌入空间。mPLUG-owl和MiniGPT4使用图像-指令数据集开发了遵循指令的图像-LLMs。Video-Chat和Video-ChatGPT将图像编码器扩展到视频编码器,并与LLMs连接以理解视频中的视觉内容。PandaGPT利用ImageBind的多模态编码器,专门训练在图像-指令对上,使大型模型能够理解六种模态。作者的工作属于第二类别,训练基础模型来理解视频中的视觉和听觉内容。
视觉-语言分支。视觉-语言分支旨在使大型语言模型(LLMs)能够理解视觉输入,有以下要点:
组成部分:
过程:
实现:
音频-语言分支。引入音频-语言分支来处理所提供视频的音频内容。旨在使LLMs能够理解并基于音频输入生成文本,要点如下:
组成部分:
过程:
实现:
作者分别训练视觉-语言和音频-语言分支。在第一阶段,使用大规模的视觉-文本数据集进行训练;在第二阶段,使用高质量的指示遵循数据集进行微调。将图像视为单帧视频处理。
视觉-文本分支,有以下要点:
数据集利用:利用Webvid-2M和CC595k数据集进行预训练。Webvid-2M包含库存视频网站的短视频及文本描述。CC595k数据集源自CC3M。
预训练阶段:采用视频到文本生成任务。促使冻结的LLM生成相应的文本描述。部分文本描述无法充分反映视频内容,导致视觉语义与文本描述不完全一致。预训练阶段旨在利用大量数据,使视频特征尽可能包含更多视觉知识。
微调阶段:视觉-文本对齐和指示遵循能力留待下一个阶段。模型在信息生成方面表现良好,但遵循指令的能力有所下降。
使用高质量的指示数据对模型进行微调。整合了来自MiniGPT4、LLaVA和Video-Chat的图像和视频指令数据集。Video-LLaMA在遵循指示和理解图像和视频方面展现出显著能力。
音频-文本分支:
作者提出了多模态框架Video-LLaMA,为大型语言模型赋予了音频和视频理解能力。实验展示了Video-LLaMA在音频和视频驱动对话中的能力,突显其作为音视频人工智能助手有着巨大潜力的原型。作者开源了整个训练代码和各种模型,并提供了详细指导,以帮助开发人员利用我们的代码进行进一步开发。另外,作者提供了在线演示网站和离线演示部署指南,让用户直接体验Video-LLaMA的功能。致力于不断维护和改进Video-LLaMA,并将继续为开源社区做出贡献。
现有工作也有一些可以提高的地方:
有关本专栏的更多内容,请参考大语言模型文献调研专栏目录
文章浏览阅读3.4k次,点赞8次,收藏42次。一、什么是内部类?or 内部类的概念内部类是定义在另一个类中的类;下面类TestB是类TestA的内部类。即内部类对象引用了实例化该内部对象的外围类对象。public class TestA{ class TestB {}}二、 为什么需要内部类?or 内部类有什么作用?1、 内部类方法可以访问该类定义所在的作用域中的数据,包括私有数据。2、内部类可以对同一个包中的其他类隐藏起来。3、 当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。三、 内部类的分类成员内部_成员内部类和局部内部类的区别
文章浏览阅读118次。分布式系统要求拆分分布式思想的实质搭配要求分布式系统要求按照某些特定的规则将项目进行拆分。如果将一个项目的所有模板功能都写到一起,当某个模块出现问题时将直接导致整个服务器出现问题。拆分按照业务拆分为不同的服务器,有效的降低系统架构的耦合性在业务拆分的基础上可按照代码层级进行拆分(view、controller、service、pojo)分布式思想的实质分布式思想的实质是为了系统的..._分布式系统运维工具
文章浏览阅读174次。1.数据源准备2.数据处理step1:数据表处理应用函数:①VLOOKUP函数; ② CONCATENATE函数终表:step2:数据透视表统计分析(1) 透视表汇总不同渠道用户数, 金额(2)透视表汇总不同日期购买用户数,金额(3)透视表汇总不同用户购买订单数,金额step3:讲第二步结果可视化, 比如, 柱形图(1)不同渠道用户数, 金额(2)不同日期..._exce l趋势分析数据量
文章浏览阅读3.3k次。堡垒机可以为企业实现服务器、网络设备、数据库、安全设备等的集中管控和安全可靠运行,帮助IT运维人员提高工作效率。通俗来说,就是用来控制哪些人可以登录哪些资产(事先防范和事中控制),以及录像记录登录资产后做了什么事情(事后溯源)。由于堡垒机内部保存着企业所有的设备资产和权限关系,是企业内部信息安全的重要一环。但目前出现的以下问题产生了很大安全隐患:密码设置过于简单,容易被暴力破解;为方便记忆,设置统一的密码,一旦单点被破,极易引发全面危机。在单一的静态密码验证机制下,登录密码是堡垒机安全的唯一_horizon宁盾双因素配置
文章浏览阅读7.7k次,点赞4次,收藏16次。Chrome作为一款挺不错的浏览器,其有着诸多的优良特性,并且支持跨平台。其支持(Windows、Linux、Mac OS X、BSD、Android),在绝大多数情况下,其的安装都很简单,但有时会由于网络原因,无法安装,所以在这里总结下Chrome的安装。Windows下的安装:在线安装:离线安装:Linux下的安装:在线安装:离线安装:..._chrome linux debian离线安装依赖
文章浏览阅读153次。中国发达城市榜单每天都在刷新,但无非是北上广轮流坐庄。北京拥有最顶尖的文化资源,上海是“摩登”的国际化大都市,广州是活力四射的千年商都。GDP和发展潜力是衡量城市的数字指...
文章浏览阅读3.3k次。前言spark在java使用比较少,多是scala的用法,我这里介绍一下我在项目中使用的代码配置详细算法的使用请点击我主页列表查看版本jar版本说明spark3.0.1scala2.12这个版本注意和spark版本对应,只是为了引jar包springboot版本2.3.2.RELEASEmaven<!-- spark --> <dependency> <gro_使用java调用spark注册进去的程序
文章浏览阅读4.8k次。汽车零部件开发工具巨头V公司全套bootloader中UDS协议栈源代码,自己完成底层外设驱动开发后,集成即可使用,代码精简高效,大厂出品有量产保证。:139800617636213023darcy169_uds协议栈 源代码
文章浏览阅读4.6k次,点赞20次,收藏148次。AUTOSAR基础篇之OS(下)前言首先,请问大家几个小小的问题,你清楚:你知道多核OS在什么场景下使用吗?多核系统OS又是如何协同启动或者关闭的呢?AUTOSAR OS存在哪些功能安全等方面的要求呢?多核OS之间的启动关闭与单核相比又存在哪些异同呢?。。。。。。今天,我们来一起探索并回答这些问题。为了便于大家理解,以下是本文的主题大纲:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JCXrdI0k-1636287756923)(https://gite_autosar 定义了 5 种多核支持类型
文章浏览阅读2.2k次,点赞6次,收藏14次。原因:自己写的头文件没有被加入到方案的包含目录中去,无法被检索到,也就无法打开。将自己写的头文件都放入header files。然后在VS界面上,右键方案名,点击属性。将自己头文件夹的目录添加进去。_vs2013打不开自己定义的头文件
文章浏览阅读3.3w次,点赞80次,收藏342次。此时,可以将系统中所有用户的 Session 数据全部保存到 Redis 中,用户在提交新的请求后,系统先从Redis 中查找相应的Session 数据,如果存在,则再进行相关操作,否则跳转到登录页面。此时,可以将系统中所有用户的 Session 数据全部保存到 Redis 中,用户在提交新的请求后,系统先从Redis 中查找相应的Session 数据,如果存在,则再进行相关操作,否则跳转到登录页面。当数据量很大时,count 的数量的指定可能会不起作用,Redis 会自动调整每次的遍历数目。_redis命令
文章浏览阅读449次,点赞3次,收藏3次。URP的设计目标是在保持高性能的同时,提供更多的渲染功能和自定义选项。与普通项目相比,会多出Presets文件夹,里面包含着一些设置,包括本色,声音,法线,贴图等设置。全局只有主光源和附加光源,主光源只支持平行光,附加光源数量有限制,主光源和附加光源在一次Pass中可以一起着色。URP:全局只有主光源和附加光源,主光源只支持平行光,附加光源数量有限制,一次Pass可以计算多个光源。可编程渲染管线:渲染策略是可以供程序员定制的,可以定制的有:光照计算和光源,深度测试,摄像机光照烘焙,后期处理策略等等。_urp渲染管线