← 返回 2026-03-30

PackForcing:短视频训练即可实现长视频采样与长上下文推理 PackForcing: Short Video Training Suffices for Long Video Sampling and Long Context Inference

Xiaofeng Mao, Shaohao Rui, Kaining Ying, Bo Zheng, Chuanhao Li, Mingmin Chi, Kaipeng Zhang 📅 2026-03-26 👍 53 2026-07-13 08:36
KV缓存管理 注意力机制 自回归扩散模型 视频生成 长视频生成

三段式KV缓存压缩策略,5秒训练生成120秒长视频

前置知识

自回归视频生成(Autoregressive Video Generation)

自回归视频生成是一种逐块(block-by-block)生成视频的方法。与传统双向架构需要同时处理整个时空体(spatiotemporal volume)不同,自回归方法将视频序列划分为非重叠的块,依次生成每个块,并通过KV缓存存储之前生成块的键值对来提供持续的上下文条件。这种策略理论上可以实现无界长度的视频生成,但在实践中面临错误累积和内存无界增长两大挑战。每个块 $z_i \in \mathbb{R}^{B_f \times C \times H \times W}$ 经过空间patchification后产生 $n = B_f hw$ 个token。

这是本文研究的核心范式,理解自回归视频生成的工作原理和面临的挑战是理解PackForcing动机的前提。

KV缓存(Key-Value Cache)

KV缓存是Transformer模型中用于存储之前计算过的键(Key)和值(Value)张量的技术。在自回归生成中,生成第 $i$ 个块时,每个Transformer层 $l$ 会缓存所有之前生成块的KV对:$C^l = \{(K^l_j, V^l_j)\}_{j=1}^{i-1}$。注意力计算将当前块的查询矩阵 $Q_i$ 与历史KV对拼接进行运算:$\text{Attn}(Q_i, C^l) = \text{softmax}\left(\frac{Q_i K_{1:i}}{\sqrt{d_h}}\right) V_{1:i}$。KV缓存的大小随生成视频长度线性增长,对于2分钟832×480@16FPS的视频,上下文大小会膨胀到约749K token,需要约138GB的KV存储。

KV缓存的无界增长是本文要解决的核心瓶颈之一,理解其工作原理和内存开销是理解PackForcing设计动机的关键。

注意力汇聚现象(Attention Sink Phenomenon)

注意力汇聚是指在大型语言模型中,初始token(尤其是第一个token)会吸引不成比例的高注意力权重,即使这些token在语义上并不重要。这一现象在StreamingLLM中被发现并利用,通过保留初始token作为'锚点'来维持生成的稳定性。在视频生成场景中,最早生成的帧可以作为关键的语义锚点,锁定场景布局、主体身份和全局风格,防止长时间生成中的语义漂移。

PackForcing的Sink Token设计直接受此现象启发,是理解三段式KV缓存中第一段(永不驱逐的锚帧)设计原理的基础。

RoPE(旋转位置编码,Rotary Position Embeddings)

RoPE是一种将位置信息编码到Transformer注意力机制中的方法,通过旋转查询和键向量来实现。对于位置 $p$ 的键,RoPE将其编码为 $k^{(p)}_{\text{cached}} = k_{\text{raw}} \odot e^{i\theta p}$,其中 $\theta = [\theta_t, \theta_h, \theta_w]$ 分别对应时间、高度和宽度频率,分配为 $44 + 42 + 42 = 128$ 维。RoPE的一个重要性质是其调整是乘法性的:$e^{i\theta p} \cdot e^{i\theta \delta} = e^{i\theta(p+\delta)}$,这使得位置修正可以高效地通过乘法实现。

PackForcing利用RoPE的乘法性质设计了增量式RoPE调整机制,解决了动态上下文选择导致的位置不连续问题,这是本文的关键技术创新之一。

流匹配(Flow Matching)

流匹配是一种生成模型框架,是标准扩散过程的替代方案,提供更快的收敛速度。给定干净视频隐变量 $x_0$ 和标准高斯噪声 $\epsilon \sim \mathcal{N}(0, I)$,噪声水平 $\sigma \in [0, 1]$ 处的噪声隐变量构造为:$x_\sigma = (1-\sigma)x_0 + \sigma\epsilon$。神经网络 $f_\theta$ 被训练来预测速度场 $v_\theta(x_\sigma, \sigma) \approx \epsilon - x_0$。Flow Matching已成为当前视频扩散模型的主流训练范式。

这是PackForcing基础模型Wan2.1-T2V-1.3B的训练框架,理解流匹配有助于理解整个生成pipeline的技术背景。

3D卷积(3D Convolution)

3D卷积是在三个维度(时间、高度、宽度)上进行卷积操作的神经网络层,能够同时捕获空间和时间特征。在PackForcing的HR分支中,使用了跨步3D卷积级联来实现渐进式压缩:首先进行2倍时间压缩,然后三个阶段各进行2倍空间压缩,最终实现128倍体积压缩($2 \times 8 \times 8$)。每层使用SiLU激活函数,最终投影到模型隐藏维度 $d=1536$。

3D卷积是PackForcing双分支压缩模块中HR分支的核心技术,理解其工作方式对理解压缩机制至关重要。

研究动机

自回归视频扩散模型在长视频生成中面临两个根本性挑战。第一个挑战是错误累积:在自回归去噪过程中,小的预测误差会迭代累积,导致渐进式的质量退化和语义漂移。以Self-Forcing为例,该方法通过在自生成的历史帧上训练来缓解这一问题,但在超出训练视野后仍会遭受严重的错误累积。具体而言,在60秒内,模型逐渐失去提示词的语义,CLIP分数从33.89下降到27.12(下降6.77分)。第二个挑战是无界内存增长:KV缓存随生成视频长度线性增长。对于2分钟、832×480分辨率、16FPS的视频,完整注意力上下文增长到约749K个token,在30个Transformer层上需要约138GB的KV存储,远超单个消费级GPU的内存预算。标准的解决方案,如历史截断或滑动窗口,会严重损害长程一致性。DeepForcing虽然引入了注意力汇聚和参与式压缩机制,但最终仍依赖于激进的缓冲区截断来防止无界KV缓存扩展,导致中间历史记忆的不可逆丢失。

本文的目标是本文的目标是开发一个统一框架,同时解决自回归视频生成中的错误累积和内存瓶颈这两个核心挑战。具体而言,PackForcing旨在实现以下目标:(1)在单个H200 GPU上生成连贯的2分钟、832×480分辨率、16FPS视频;(2)将KV缓存严格限制在约4GB的常量内存占用内;(3)实现24倍的时间外推能力,即仅在5秒短视频上训练即可生成120秒的长视频;(4)在VBench基准上达到最先进的时序一致性(26.07)和动态程度(56.25)分数;(5)在整个生成过程中保持稳定的CLIP分数轨迹,证明短视频监督足以实现高质量的长视频合成。

与已有工作不同的是,现有方法在处理自回归视频生成的内存问题时存在一个根本性的困境:缓解错误累积需要广泛的上下文历史,但无界KV缓存增长不可避免地迫使在硬件约束下丢弃关键记忆。已有方法要么采用简单的token驱逐策略(如FIFO、滑动窗口),不可逆地丢失历史信息;要么采用token选择策略(如DeepForcing的参与式压缩),但仍未实现显式压缩。本文的独特切入角度在于:不同于不可逆地丢弃未选中的中间token来节省内存,而是提出高效地压缩它们。PackForcing认识到视频token编码的是密集的时空网格,具有巨大的帧间冗余性,这种独特的结构冗余性使得学习到的128倍体积压缩成为可能,实现了远超单纯token选择所能达到的内存缩减。

核心方法

PackForcing的核心直觉是:与其像现有方法那样在内存不足时丢弃历史信息,不如对不同功能区域的历史上下文采用针对性的压缩策略。就像一个高效的档案管理系统,重要的早期档案(Sink tokens)保持原样以便随时查阅,大量的中期档案(Mid tokens)进行压缩存储但保留关键信息,最近的档案(Recent tokens)保持完整以确保工作的连续性。技术路线上,PackForcing将生成历史解耦为三个功能分区:(1)Sink tokens,保留早期锚帧的完整分辨率以维持全局语义;(2)压缩的Mid tokens,通过双分支网络实现约32倍的token缩减;(3)Recent和Current tokens,保持完整分辨率以确保细粒度的局部连贯性。这三个分区拼接形成固定的注意力上下文:$C^l = C^l_{\text{sink}} \| C^l_{\text{mid}} \| C^l_{\text{rc}}$,总token数与视频长度无关,实现了O(1)的注意力复杂度。

PackForcing与已有方法的本质区别在于三个方面。首先,在内存管理策略上,已有方法(如DeepForcing)采用非破坏性的token选择但未实现显式压缩,而PackForcing引入了学习到的时空token压缩,通过双分支压缩模块实现128倍体积压缩(约32倍token缩减),将每个块从6,240个token压缩到182个token。其次,在上下文选择机制上,已有方法要么采用刚性的先进先出(FIFO)驱逐,要么采用永久性剪枝,而PackForcing采用动态的top-k上下文选择,基于查询-键亲和力动态评估并只路由最信息化的Nmid个中间块,未选中的token安全存档以备未来重新激活。第三,在位置编码修正上,已有方法未处理token驱逐导致的位置不连续问题,而PackForcing提出了增量式RoPE旋转,仅对sink tokens的时间轴进行高效的位置调整,成本不到总推理时间的0.1%。

方法步骤详情

PackForcing的方法包含以下关键步骤:(1)三段式KV缓存初始化:将生成历史划分为Sink tokens($N_{\text{sink}}=8$,对应2个块,占总token预算不到2%)、Mid tokens(动态压缩存储)和Recent tokens($N_{\text{recent}}=4$,保持完整分辨率)。(2)双分支压缩:当Recent tokens中的块'老化'时,通过HR分支(4阶段渐进式3D卷积,通道从16逐步增加到2048再投影到D,实现128倍体积压缩)和LR分支(解码到像素空间、3D平均池化、VAE重新编码)分别提取结构细节和全局语义,通过逐元素加法融合:$\tilde{h} = h_{\text{HR}} + h_{\text{LR}}$,压缩后每个块仅需$N_c = \lfloor B_f/2 \rfloor \times \lfloor h/4 \rfloor \times \lfloor w/4 \rfloor = 182$个token。(3)动态上下文选择:在每个块的第一个去噪步骤,基于查询-键亲和力$\phi_j = \sum_i q_i^\top k_j / \sqrt{d}$对压缩的Mid tokens进行top-K选择($N_{\text{top}}=16$),仅选择最信息化的块参与注意力计算。(4)增量式RoPE调整:当驱逐$\Delta$个块($\delta = \Delta B_f$帧)时,对sink keys应用时间轴RoPE调整:$k'_{\text{sink}} = k_{\text{sink}} \odot e^{i(\theta_t(\delta), 1_h, 1_w)}$,将sink位置从0,1,...调整为$\delta, \delta+1,...$,使其与mid位置连续衔接。(5)注意力计算:将三个分区拼接形成固定的注意力上下文,总token数为$\frac{N_{\text{sink}}}{B_f} n + N_{\text{mid}} \cdot N_c + (\frac{N_{\text{recent}}}{B_f} + 1) n$,约为27,872个token,与视频总长度无关。

技术新颖性

PackForcing的技术新颖性体现在多个层面。首先,三段式KV缓存设计是首个将视频生成历史显式划分为功能分区的方法,每个分区采用针对性的保留策略,这种'分而治之'的思想突破了现有方法'一刀切'的驱逐或压缩范式。其次,双分支压缩模块创新性地将渐进式3D卷积(捕获细粒度结构)与低分辨率VAE重新编码(捕获粗粒度语义)融合,实现了128倍体积压缩的同时保持感知关键的时空细节。这种设计巧妙地解决了单一路径压缩器面临的'激进空间下采样保留布局但丢失纹理'vs'语义池化保留含义但破坏空间结构'的权衡。第三,动态上下文选择采用非破坏性软选择,未选中的token安全存档而非永久丢弃,这与DeepForcing的永久剪枝形成鲜明对比。第四,增量式RoPE调整巧妙利用RoPE的乘法性质,仅对sink tokens的时间轴进行高效调整,成本不到0.1%推理时间,优雅地解决了位置不连续问题。最后,实验证明仅在5秒短视频上训练即可实现120秒长视频生成(24倍时间外推),这证明了短视频监督足以实现高质量长视频合成,对整个领域具有重要的方法论启示。

PackForcing框架概览
Figure 2: PackForcing框架概览
因果视频生成中的注意力模式分析
Figure 3: 因果视频生成中的注意力模式分析

实验结果

PackForcing在多个维度上展示了卓越的性能。在60秒视频生成基准上,PackForcing在Dynamic Degree指标上达到56.25,显著优于最强基线CausVid的48.43(提升7.82分),证明了其持久记忆机制为模型提供了可靠的时间锚定,使其能够自信地合成大幅度运动。在120秒生成中,PackForcing的Dynamic Degree为54.12,仍领先CausVid的50.00(提升4.12分)。更值得注意的是PackForcing的稳定性:当从60秒扩展到120秒时,Self-Forcing的Subject Consistency下降6.01、Aesthetic Quality下降5.47,而PackForcing的下降仅为1.01和0.49。在CLIP分数时序稳定性上,PackForcing在60秒生成中从34.04(0-10秒)仅下降到32.90(50-60秒),降幅仅1.14分,而Self-Forcing从33.89急剧下降到27.12(降幅6.77分)。在消融实验中,移除Sink tokens($N_{\text{sink}}=0$)导致Overall CLIP从35.09骤降至31.24,Subject Consistency从93.11降至74.72,证实了其作为全局锚点的关键作用。HR+LR双分支融合(69.36 Img. Qual., 26.07 Over. Cons.)优于单独使用HR(68.12, 25.41)或LR(67.45, 25.18)分支。动态上下文选择(88.62 Subj. Cons., 26.07 Over. Cons.)优于FIFO(87.82, 25.91)和随机选择(86.31, 25.42)。PackForcing在单个H200 GPU上生成2分钟832×480@16FPS视频时,KV缓存仅占用约4GB,实现了严格的内存边界。

60秒和120秒基准上的定量比较(7个VBench指标)
Table 1: 60秒和120秒基准上的定量比较(7个VBench指标)
长视频生成的CLIP分数比较(60秒)
Table 2: 长视频生成的CLIP分数比较(60秒)
Sink大小的定量消融结果
Table 3: Sink大小的定量消融结果
压缩分支的消融实验
Table 4: 压缩分支的消融实验
驱逐策略的消融实验
Table 5: 驱逐策略的消融实验
120秒生成的定性比较
Figure 4: 120秒生成的定性比较
60秒生成的定性消融结果
Figure 5: 60秒生成的定性消融结果
查看结构化数据
任务指标本文基线提升
60秒长视频生成 Dynamic Degree↑ 56.25 Deep Forcing 53.67 +2.58(相比最强基线)
60秒长视频生成 Overall Consistency↑ 26.07 LongLive 25.73 +0.34
60秒长视频生成 Subject Consistency↑ 90.49 Deep Forcing 92.55 -2.06(略低但动态性更强)
120秒长视频生成 Dynamic Degree↑ 54.12 Deep Forcing 52.84 +1.28
120秒长视频生成 Overall Consistency↑ 26.05 LongLive 25.95 +0.10
120秒长视频生成 Subject Consistency↑ 92.84 Deep Forcing 91.95 +0.89
60秒CLIP时序稳定性 Overall CLIP Score↑ 33.54 LongLive 33.46 +0.08
60秒CLIP时序稳定性 CLIP下降幅度↓ 1.14分(34.04→32.90) Self-Forcing 6.77分(33.89→27.12) 下降幅度小5.63分

局限与改进

尽管PackForcing在长视频生成中表现出色,但仍存在一些局限性。首先,在Subject Consistency指标上,PackForcing(90.49)略低于LongLive(92.00),尽管PackForcing的Dynamic Degree(56.25)远高于LongLive(44.53)。这表明在保持严格的主体一致性与维持高动态多样性之间存在一个细微的权衡。作者承认,通过进一步增强严格的主体保护而不损害压缩历史带来的高动态多样性,是未来工作的主要方向。其次,PackForcing依赖于预训练的VAE编码器进行LR分支的低分辨率重新编码,这增加了一定的计算开销和系统复杂性。第三,动态上下文选择机制虽然仅在每个块的第一个去噪步骤执行以减少开销(<1%),但仍然需要子采样查询token和使用一半注意力头来加速,这可能导致选择的次优性。此外,实验主要在VBench-Long基准上进行评估,使用128个来自MovieGen的文本提示,评估场景的多样性可能有限。最后,PackForcing的训练仅使用5秒的短视频片段,虽然证明了短视频监督的充分性,但可能在某些需要长程依赖理解的复杂场景中存在局限。

独立分析的弱点

从独立分析的角度看,PackForcing存在以下几个值得关注的弱点。第一,主体一致性与动态性的权衡问题:虽然PackForcing的Dynamic Degree领先,但Subject Consistency(90.49)低于LongLive(92.00)和Deep Forcing(92.55),改进方向可以是引入显式的主体身份保持损失或在Sink tokens中增加更强的身份锚定机制。第二,压缩模块的计算开销:双分支压缩需要完整的VAE解码-池化-重编码流程,这在每帧'老化'时都需要执行,可能成为实时生成的瓶颈,改进方向是探索更轻量级的压缩架构或缓存压缩结果。第三,动态选择的稀疏性风险:当$N_{\text{top}}=16$时,从可能数百个压缩块中仅选择16个,Jaccard距离高达0.75说明选择高度动态化,可能存在关键时刻被遗漏的风险,改进方向是引入多层级选择或注意力感知的自适应选择策略。第四,Sink token数量的固定性:$N_{\text{sink}}=8$是通过消融实验确定的固定值,但不同视频内容(如静态场景vs高动态场景)可能需要不同的锚定强度,改进方向是自适应调整Sink token数量。

未来方向

基于PackForcing的成果,可以延伸出多个有价值的研究方向。首先,作者明确提出的未来方向是进一步提升主体一致性而不损害动态多样性,这可能需要更精细的身份保持机制或分层的记忆管理策略。其次,PackForcing的压缩框架可以扩展到其他模态,如音频-视频联合生成或3D场景生成,其中也存在类似的长程上下文管理挑战。第三,当前的128倍压缩比可能还有提升空间,通过探索更先进的压缩架构(如基于注意力的压缩或学习到的量化)可以进一步提高内存效率。第四,PackForcing的'短视频训练足以实现长视频合成'的发现可以启发更多研究来理解生成模型的泛化机制,特别是压缩表示如何保持跨长度的语义一致性。第五,可以探索将PackForcing与更先进的基座模型(如更大的DiT架构)结合,以充分利用其内存效率优势来生成更高质量的长视频。最后,动态上下文选择机制可以与强化学习结合,学习最优的token选择策略以最大化生成质量。

复现评估

从复现评估的角度看,PackForcing具有较好的可复现性。代码和项目页面已开源(https://github.com/ShandaAI/PackForcing),这大大降低了复现门槛。基础模型使用的是公开可用的Wan2.1-T2V-1.3B,文本编码器使用UMT5-XXL,这些组件都有公开的预训练权重。训练设置相对简洁:3,000次迭代、batch size 8、20个隐变量帧的时间窗口(约5秒),使用AdamW优化器($\beta_1=0, \beta_2=0.999$)。然而,复现仍面临一些挑战:首先,训练需要在20个隐变量帧上进行,即使视频只有5秒,仍需要相当的GPU内存;其次,推理需要H200 GPU来生成2分钟视频,这对大多数研究者来说可能难以获取;第三,双分支压缩模块需要训练来对齐压缩token与全分辨率token,这增加了一定的训练复杂性。评估使用了VBench-Long基准和128个MovieGen提示,遵循Self-Forcing++的协议,这些评估设置是标准化的,有利于结果的可比性。