视频生成无损提速:删除多余token,训练时间减少30%,帧率越高效果越好 | NeurIPS

AITNT-国内领先的一站式人工智能新闻资讯网站
# 热门搜索 #
AITNT-国内领先的一站式人工智能新闻资讯网站 搜索
视频生成无损提速:删除多余token,训练时间减少30%,帧率越高效果越好 | NeurIPS
5510点击    2024-11-17 14:10

Don’t look twice!


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


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


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


视频生成无损提速:删除多余token,训练时间减少30%,帧率越高效果越好 | NeurIPS


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


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


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


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


视频生成无损提速:删除多余token,训练时间减少30%,帧率越高效果越好 | NeurIPS


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


视频生成无损提速:删除多余token,训练时间减少30%,帧率越高效果越好 | NeurIPS


重复图像块合为一个token


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


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


视频生成无损提速:删除多余token,训练时间减少30%,帧率越高效果越好 | NeurIPS


要想完成重复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是静态重复的(阈值τ表示允许多大程度的相似性,设置与具体数据集无关)


视频生成无损提速:删除多余token,训练时间减少30%,帧率越高效果越好 | NeurIPS


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


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


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


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


视频生成无损提速:删除多余token,训练时间减少30%,帧率越高效果越好 | NeurIPS


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


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


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


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


视频生成无损提速:删除多余token,训练时间减少30%,帧率越高效果越好 | NeurIPS


不过需要注意的是,由于每个视频样本计算出的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%。


视频生成无损提速:删除多余token,训练时间减少30%,帧率越高效果越好 | NeurIPS


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


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


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


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


视频生成无损提速:删除多余token,训练时间减少30%,帧率越高效果越好 | NeurIPS


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


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


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


视频生成无损提速:删除多余token,训练时间减少30%,帧率越高效果越好 | NeurIPS


论文地址:

https://arxiv.org/abs/2411.05222


代码:

https://github.com/rccchoudhury/rlt


文章来自于微信公众号“量子位”,作者“克雷西”


视频生成无损提速:删除多余token,训练时间减少30%,帧率越高效果越好 | NeurIPS

AITNT-国内领先的一站式人工智能新闻资讯网站
AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
RAG

【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。

项目地址:https://github.com/microsoft/graphrag

【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。

项目地址:https://github.com/langgenius/dify


【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。

项目地址:https://github.com/infiniflow/ragflow/tree/main


【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目

项目地址:https://github.com/phidatahq/phidata


【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。

项目地址:https://github.com/TaskingAI/TaskingAI