训练时间减少30% 视频大模型无损提速 删除多余token

Don’t look twice!

把连续相同的图像块合并成一个token,就能让Transformer的视频处理速度大幅提升。

卡内基梅隆大学提出了视频大模型加速方法 Run-Length Tokenization (RLT),被NeurIPS 2024选为Spotlight论文。

精度几乎没有损失的前提下,RLT可以让模型训练和推理速度双双提升

一般情况下,利用RLT,Transformer视频识别模型的 训练时间可缩短30%,推理阶段提速率提升更是可达67%

对于高帧率和长视频,RLT的效果更加明显,30fps视频的 训练速度可提升1倍,长视频训练token减少80%

相比于传统的剪枝方法,RLT能用更小的精度损失实现更好的加速效果。

有人想到了电视剧中的评论,认为这项研究找到了在压缩空间中进行搜索的方法。

DeepMind科学家Sander Dieleman则评价称,这项研究是一种“非主流”(Off-the-grid)的创新方法,但比起其他复杂的非主流研究,又显得非常简洁。

重复图像块合为一个token

RLT的核心原理,是利用视频中存在大量时间上重复的图像块这一特点, 将重复的图像块合并为一个token表示

这种情况下,还需要用一个位置编码来表示这个token的长度,但RLT总体上减少了输入的token数量。

要想完成重复token的修剪,首先要对视频进行 分块

具体来说,视频在空间和时间维度上会被划分成固定大小的图像块,每个图像块的大小为C×D_x×D_y×D_t,每个图像块都对应一个空间-时间位置。

(其中C是通道数,D_x和D_y是空间维度大小,D_t是时间维度大小。)

划分完成之后,需要比较时间上相邻的图像块, 判断它们是否相似 ,也就是是否需要合并。

对于时间位置相差1的两个图像块P_1和P_2,取P_1的第一帧和P_2的最后一帧,计算它们的L1距离。

如果距离小于一个预设的阈值τ,就认为P_1和P_2是静态重复的(阈值τ表示允许多大程度的相似性,设置与具体数据集无关)。

完成判别之后, 重复的图像块会被移除

对于一串连续的、两两之间都是静态重复的图像块,RLT只保留第一个块对应的token。

这一步是在patch embedding之前完成的,因此移除token不需要改动模型结构。

经过这一步,输入的token数量从N_P降低到了N_P’(N_P’≤N_P)。

为了让合并后的token仍然能够反映完整的视频信息,接下来要 给每个token加上长度编码

对于一个保留下来的token,系统会计算它所代表的原始token的长度l_i,也就是它到下一个没有被移除的token的距离。

长度信息l_i与token的空间-时间位置(x,y,t)一起,用一个可学习的长度编码矩阵映射成一个d维的embedding向量,与patch embedding相加,作为输入token的最终表示。

最后只需要将处理后的token序列输入到视频Transformer中,进行常规的训练或推理过程。

不过需要注意的是,由于每个视频样本计算出的token数量N_P’不尽相同,样本之间可能有较大差异。

然而标准的Transformer是按批次处理固定长度的序列的。

为了能在一个批次中处理多个长度不一的视频,RLT采用了一种称为“example packing”的方法,将这一批中所有视频样本的token序列首尾相连,拼成一个超长的序列,作为Transformer的输入。

这样的话,Transformer实际上是在处理一个批次大小为1、长度为所有样本token数量之和的序列。

通过以上步骤,RLT能够去除视频中的许多冗余token,在几乎不损失精度的情况下,大幅降低内存占用和计算量,加速视频Transformer的训练和推理。

训练时长下降30%

训练阶段 ,RLT对ViT-B和ViT-L两种规模的模型都有很好的加速效果。

在Kinetics-400上,ViT-BRLT和ViT-L训练时间分别从14.4小时和21.6小时,降低到10.2小时和15.4小时,降幅均接近30%左右,精度损失不超过0.1个百分点;

在SSv2上,两者的训练时间分别从10.1和15.2小时,降低到7.2和10.8小时,降幅也接近30%,精度同样仅下降0.1个百分点。

相比之下,传统的剪枝方法Token Merging在精度下降0.1-0.5个百分点的情况下,加速只有10-20%。

推理阶段 ,也不需要额外的训练,就可以将RLT作为现成的tokenizer,达到很好的加速效果。

具体来说,RLT能在几乎不牺牲精度的情况下(不超过0.5个百分点),将推理阶段的计算量和延迟降低30-60%。

同样在Kinetics-400和SSv2上,对于ViT-B和ViT-L,RLT都能带来60%以上的推理加速。

对于更大的ViT-H,在Kinetics-400上,RLT也能实现45%的加速效果。

特别地,还针对 高帧率 长时长 视频数据集进行了测试,发现RLT带来的token下降幅度比在普通数据集中更高。

同时在高帧率数据集当中,RLT能够在精度损失同样低的情况下,实现更好的加速效果。

而且帧率越高效果也越明显,对于30fps的视频,加速可达100%。

论文地址:https://arxiv.org/abs/2411.05222代码:https://github.com/rccchoudhury/rlt


什么是大模型

大模型通常是指参数量巨大的深度学习模型,其中包含数以亿计的参数,例如,一些大规模的语言模型或图像模型。 这些大模型通过在大规模的数据集上进行训练,可以学习到各种复杂的特征和模式,并具备强大的泛化能力,可以在各种任务和领域中表现出优异的性能。

大模型的构建和训练需要大量的计算资源和数据,通常由大型研究机构、科技公司或开放社区进行开发和维护。 这些大模型在自然语言处理、计算机视觉、语音识别等领域具有广泛的应用,可以用于文本分类、情感分析、摘要生成、图像识别、目标检测、人脸识别、语音转文本等任务。

数据作为AI大模型的核心驱动力,越来越成为未来AI大模型竞争的关键要素。 高质量、大规模、多样性的数据可以帮助模型学习到更精细的特征,提高模型的精度和可解释性,增强模型的鲁棒性与泛化能力,以提供更准确和更具代表性的信息,减少模型训练的时间,提高训练效率。

【llm大语言模型】一文看懂llama2(原理,模型,训练)

llama2是由Meta公司开源的语言大模型,其训练数据集规模达到惊人的2万亿token,相较于之前的版本,最大上下文长度从2048扩展到了4096,使得模型能够理解和生成更长的文本内容,包括7B、13B和70B三种不同的参数量级版本。 这一模型在各种基准测试中表现出色,并且适用于研究和商业应用。 在语言处理过程中,文本的分词(tokenize)是将连续文本转换为便于模型处理的数字表示过程。 常见的分词方法有词分词、基于字符的分词以及结合词与字符的子词分词。 子词分词方法如BPE(Byte Pair Encoding)、WordPiece和Unigram,通过在语料库中查找频繁出现的连续子串来构建词表,同时解决分词粒度与词汇表大小之间的平衡问题。 之后,通过将分词后的文本映射到高维向量空间,即Embedding,以捕获单词之间的语义关系,减少维度的同时提高表示能力。 这有助于模型理解单词在语境中的意义,实现降维和特征学习。 transformer架构是当前主流的大语言模型设计,它包含编码器和解码器两部分,其中llama2仅使用了解码器部分。 选择Decoder-only结构的原因是基于理论分析和实验验证,证实该结构能够保持较高的表达能力的同时,减少计算复杂度。 llama2的模型结构相对简单,包含多个解码器层,每个层中应用了RMSNorm、GQA(全局注意力)和RoPE(相对位置编码)等优化技术。 在推理阶段,llama2模型采用生成接口(generate)进行预测,与一般深度学习模型不同。 为提高生成质量,模型通常采用集束搜索(beam search)算法,结合RoPE外推技术,动态扩展输入序列长度,从而生成更符合语义的文本。 训练llama2模型涉及预训练、指令微调和奖励模型训练三个步骤。 数据集的选择对于模型性能至关重要,通常包含大量文本数据。 预训练阶段通过扩充词汇表、使用特定的训练脚本和库进行大规模训练。 在指令微调阶段,模型进一步优化以适应特定任务需求。 对于RLHF(Reinforcement Learning from Human Feedback)微调,通过构建奖励模型,利用人类反馈优化模型决策,提升模型在特定任务上的性能。 模型部署方面,llama2支持多种部署方式,包括建立web端问答平台、模型量化以适应移动设备、与LangChain集成以完成特定任务,如检索式问答,以及将llm模型应用于AI代理和构建私有知识库。 此外,llm模型还可以与多模态数据结合,如视觉、点云、视频等,为下游任务提供辅助。 学习llama2模型及其应用涉及多个领域知识,包括自然语言处理、深度学习、数据科学等,因此在理解过程中参考相关文档和研究是至关重要的。

《Distilling Vision-Language Models on Millions of Videos(从数百万视频中提炼视觉语言模型)》精华摘译

视觉-语言模型(Vision-Language Models)的最新进展主要得益于大量图像-文本数据的利用。 本文旨在模仿这一成功,将视觉-语言模型应用于视频-语言领域。 然而,现有的视频-文本数据远远不足。 因此,采用了一种策略,从强大的图像-语言基线模型开始,通过合成指令性数据进行微调,以适应视频-语言模型。 这种方法被用于自动为数百万计的视频生成高质量的字幕。 改进后的视频-语言模型在多个视频-语言基准测试中表现出色。 例如,在开放式的NExT-QA测试中,与之前最佳结果相比,它提高了2.8%。 此外,该模型为陌生的视频生成了更详细的描述,这比现有方法提供了更好的文本监督。 基于这些自动生成的字幕,对比训练的视频-语言双编码模型比同样利用视觉-语言模型的最强基线模型表现提高了3.8%。 在MSR-VTT的零样本文本-视频检索任务中,的最佳模型比当前最先进的方法表现提高了6%。 合成数据的使用在视觉领域尤为重要,它可以用于创建新的数据集或增强现有数据集。 LLM生成的文本作为语言理解的重要资源,用于对话型模型的微调,例如Vicuna对LLaMA的微调。 在视觉-语言理解领域,通过利用LLM生成高质量的合成图像描述,已证明对改进视觉-语言模型的多模态数据集非常有效。 一些项目如VideoChatGPT和InternVid则使用人工辅助和半自动标注方法生成高质量的视频指导数据。 然而,这些方法要么过于专注于图像输入,要么过于依赖图像模型生成视频描述,未能正确捕捉视频中的时间信息。 视觉-语言模型(VLMs)通过基于图像的VLMs接收图像和文本序列(通常称为指令或提示)作为输入,并输出跟随该提示的文本序列。 VLMs通常包含一个视觉编码器和一个语言模型,视觉编码器将输入的图像映射到视觉令牌,语言模型处理指令并生成文本序列。 VLMs的训练使用字幕损失函数,即每一步正确词的负对数似然之和。 成功的关键在于大量成对的图像-文本数据集,通过为设置指令或固定的字幕任务prompt并设置,可以轻松地通过在十亿级数据集上训练来扩展VLMs。 训练视频-语言模型面临的挑战之一是缺乏视频-文本数据。 最大的公共视频数据集是具有人类标注文本描述的Spoken Moments in Time (S-MiT),包含约50万个视频。 尽管主题多样,但视频持续时间短(2至3秒),字幕简短。 文本描述是从音频录音中转录的,不可避免地存在转录错误。 Video Localized Narratives (VidLN) 数据集涵盖了更长视频(10至30秒)的更复杂事件,但由于注释成本,视频数量减少了10倍。 这些数据集在规模上远远落后于现有的图像-文本数据集。 文章接下来介绍了一种方法,利用这些现有的视频-文本数据集高效地将预训练的VLM从图像适应到视频,从而为数百万个野生视频获取高质量的伪字幕。 实验表明该方法在注释质量上具有竞争力,并且比人类对视频的注释更具可扩展性。 方法:将Vision-Language Models适配到Video-Language Models该方法采用两阶段适配过程:第一阶段适配视觉编码器,同时冻结语言组件,利用带有短字幕的大型视频数据集进行微调;第二阶段微调语言编码器,并冻结其他模型组件,使用带有详细字幕的较小视频数据集进行微调。 通过实证研究证明了这种两阶段设计的优势。 模型:文中使用的视频-语言模型将一系列帧作为视觉输入,通过视觉编码器处理,并将所有输出的视觉token串联起来,同时语言模型处理指令和视觉token,生成文本序列。 文中采用了PaLI-3,一个在WebLI(仅包含图像-文本数据)上训练的最先进的VLM,视觉编码器是具有2B参数的ViT-G/14,语言模型基于3B参数的UL-2,模型以8帧2FPS处理输入,输入分辨率调整为224×224。 两步适配:在视觉适配阶段,通过使用带有短字幕的大型视频数据集对视觉编码器进行微调,同时冻结语言模型。 在语言适配阶段,使用带有详细字幕的较小视频数据集对语言模型进行微调,同时保持视觉编码器冻结。 推理过程使用核心采样法,每一步只从包含大概率质量的一小部分token中采样。 实验数据集:用于将视觉-语言模型从图像适配到视频的两个数据集。 利用提炼出来的伪字幕:描述了如何利用和评估为数百万网络抓取视频生成的伪字幕,特别是在VideoCC+和InternVid+数据集上使用了双编码器模型。 双编码器模型的对比训练:使用类似于CLIP的视频-语言双编码器模型进行训练。 给定输入视频帧和机器生成的字幕,模型分别使用视觉编码器和文本编码器,加上相应的投影头,以获得全局视觉和文本向量。 模型架构:双编码器模型由视觉编码器和文本编码器构成,视觉编码器是具有联合空间-时间注意力的Vision Transformer,文本编码器是12层类似于GPT的Transformer。 主要结果:报告了双编码器模型在文本到视频检索、零样本学习设置下的视频分类准确率以及在几个代表性的视频-语言基准测试上的性能,包括视频字幕和视频问答。 这些结果旨在评估提炼的视频伪字幕数据的质量。 在MSR-VTT检索任务上,使用不同子集的VideoCC训练的双编码器模型表明,提炼的伪字幕在性能上显著优于原始的Alt-text字幕。 在文本到视频检索和视频分类的零样本学习性能上评估提炼的伪字幕,显示了与原始Alt-text相比的显著提升。 在表3中比较了经过微调的VLM和基线模型PaLI-3,在具有挑战性的开放式NExT-QA数据集上,的模型在WUPS分数上超过了Flamingo的2.8%,而仅使用了1/16的参数和1/50的训练视频。 消融研究:生成更好字幕的关键因素包括如何进行视觉适配和语言适配。 视觉适配方法的研究表明,冻结视觉编码器同时微调语言模型的效果优于默认配方,但可能会导致过拟合。 语言适配时指令-回答数据的影响研究发现,使用特定的视觉指令调整数据集对提高模型性能有积极作用。 最终,通过逐步研究指令语料库,模型在略微降低字幕性能的情况下,恢复了其零次学习问答能力。 总结:本文通过从强大的图像-语言基线模型开始,利用合成指令性数据进行微调,成功地将视觉-语言模型适应到视频-语言领域,为数百万个野生视频生成了高质量的伪字幕。 实验结果表明,这种方法在多个基准测试中表现出色,特别是在零样本学习和文本到视频检索任务中,证明了提炼的视频伪字幕数据的有效性和可扩展性。

新一代电子茅台!华为Mate 抢到就赚 70系列宣布今日开启
暂无