WorldVLN前序:InfinityStar 与 TimeSformer
2026/8/30 7:23:43 网站建设 项目流程

0. 简介

InfinityStar 构建了一条完整的离散自回归视频生成流水线。它先用视频 VAE 把图像或视频压缩成连续 latent,再用多尺度 BSQ/LFQ 量化器把 latent 转成离散 bit token;随后,Infinity 自回归 Transformer 根据文本条件、历史视觉 token 和尺度信息预测后续 token;最后,系统把预测 token 转回 latent,并交给 VAE decoder 还原成视频。这个流程的重点在“可预测的离散视觉序列”,而不是单独更换 decoder。

在官方代码中,infinity/utils/load.py负责加载 visual tokenizer,infinity/models/videovae/models/wan_bsq_vae.py中仍然定义并使用CogVideoXDecoder3Dinfinity/models/infinity.py则承担自回归 Transformer 的主体工作。主要工作在于视觉 token 的离散化、多尺度时空调度、4D 位置编码和稀疏注意力组织方式。

1. InfinityStar 要解决的问题

1.1 扩散视频模型为什么慢

扩散视频模型的基本思路是从噪声中逐步去噪,直到得到清晰的视频。这个过程很适合生成细节丰富的图像和视频,但推理时往往需要几十步甚至更多步的迭代。视频又比图像多了时间维,高分辨率视频还会带来更大的空间网格,因此总计算量会快速上升。对于离线创作,这种等待还可以接受;但对于实时视频编辑、交互式视频生成、云端渲染和游戏内容生成,分钟级等待会直接限制产品形态。

InfinityStar 选择自回归路线,本质上是在寻找另一种计算组织方式。自回归模型不需要反复去噪,而是按 token 顺序生成内容,更接近语言模型的生成方式。它可以利用缓存,也更天然支持续写和交互。然而视频 token 远比文本 token 密集,如何在速度和质量之间取得平衡,是这条路线一直难以突破的核心问题。

1.2 自回归视频生成为什么难

文本自回归模型面对的是离散词元,词表稳定、序列结构明确;视频自回归模型面对的是连续像素世界,必须先把图像和视频压缩成离散 token。这个转换一旦做得不好,就会出现两个问题:token 太粗会损失纹理和结构,token 太细又会让序列长度过长,导致训练和推理成本失控。尤其是 720p 视频,空间维度和时间维度叠加后,朴素展开会产生极长序列。

此外,视频不仅要“每一帧好看”,还要“帧与帧之间合理”。静态纹理、物体边界、镜头运动、主体动作、遮挡变化都需要被统一建模。如果模型只关注空间,很容易生成像幻灯片一样的结果;如果只关注时间,又会丢失画面细节。InfinityStar 的难点正是在一个离散自回归框架里同时兼顾空间纹理、时间运动、跨帧一致性和长上下文引用

1.3 InfinityStar 的路线选择

InfinityStar 的做法可以概括为三句话:用强视频 VAE 保住重建质量,用离散量化器把 latent 变成可预测 token,用时空金字塔和稀疏注意力降低长序列压力。自回归视频生成不一定只能停留在低分辨率或玩具级 demo。只要Tokenizer、时空金字塔、4D RoPE、稀疏注意力和 AR 预测头配合得当,自回归模型也可以进入高分辨率视频生成场景。对工程实现来说,这比“换一个 Transformer”更重要,因为真正影响结果的是整条系统链路,而不是某个模块的名称。

2. 官方整体流程

2.1 从像素到 latent

官方流程的第一步是用视频 VAE encoder 压缩像素。输入视频可以表示为[B, 3, T, H, W],经过 encoder 后变成低分辨率 latent。这个 latent 保留了重建视频所需的主要视觉信息,但空间分辨率和时间分辨率都被压缩,因此后续模型不必直接面对原始像素。代码中AutoencoderKLCogVideoX.encode_for_raw_features会完成这类编码,并在内部进行patchify、投影和缩放。

这一步的作用类似“把高清视频装进更小的容器”。如果容器设计得太小,重建时细节会丢失;如果容器太大,自回归 Transformer 又会承受过长序列。InfinityStar 没有从零设计一个完全离散的视频 tokenizer,而是在已有连续视频 VAE 的基础上插入离散化机制,这样可以继承 VAE 的重建能力,同时获得离散 token 的可预测性。这里要注意,VAE encoder 负责压缩像素,不直接负责生成,它只是把视频变成更短、更易建模的 latent 表示。

2.2 从 latent 到离散 token

连续 latent 不能直接作为自回归分类目标,因为它是浮点数空间。InfinityStar 使用多尺度 BSQ/LFQ 量化器,把 latent 或 latent 残差转换成 bit label。代码中的MultiScaleBSQTPlfq_detaillfq_semantic等模块对应不同尺度和不同维度的量化。低分辨率尺度更偏语义结构,高分辨率尺度更偏细节纹理,这样模型可以先预测大体结构,再逐步补充高频信息。

从训练角度看,自回归 Transformer最终预测的是每个 bit 的类别,而不是直接回归像素。这让训练目标变得接近语言模型中的 token prediction。不同的是,视觉 token 带有尺度、时间和空间位置,不能只靠一维位置表示,因此后面还需要4D RoPE 和特殊 attention mask来帮助模型理解每个 token 的时空含义。也就是说,量化器真正完成的是把“连续 latent 回归”转成“离散 bit 分类”,这是自回归视觉生成能够稳定训练的关键。

2.3 从 token 回到视频

推理阶段,Infinity Transformer 预测出的 bit token 不能直接显示成视频,必须先通过indices_to_codes转回量化 latent。随后,系统按多尺度 schedule 把不同尺度的 code 插值到目标大小并累加残差,最后调用 VAE decoder 解码成像素视频。代码中的infinity/schedules/infinity_elegant.py负责这部分逻辑,video_decode会把所有预测尺度重新拼成可解码 latent。

这也是为什么 decoder 改造不能孤立进行。Transformer 负责预测 token,VAE decoder 负责还原像素,中间必须守住token -> latent -> pixel的接口闭环。只要 decoder 的输入形状、latent 分布或量化尺度被改动,就可能影响整个闭环。如果只是加入一个 TSFormer latent refiner,保持输入输出仍为[B, C, T, H, W],对原系统影响较小;如果完全替换 decoder 或改变 latent channel,就必须同步修改 tokenizer、训练缓存、推理脚本和可能的自回归预测 head。

3. 视觉分词器

3.1 为什么需要 tokenizer

视觉 tokenizer 的任务是把连续图像或视频变成离散 token。对自回归生成来说,这是基础设施。如果没有 tokenizer,Transformer 就要直接预测像素或连续 latent,训练难度和输出稳定性都会很差;如果 tokenizer 质量不够,模型生成再准确也只能还原出模糊、破碎或闪烁的视频。因此,InfinityStar 的性能并不只来自 Transformer,也来自 tokenizer 对视觉世界的压缩和离散表达能力。

优秀的视频 tokenizer 要同时满足三个条件:压缩率高、重建质量高、token 语义稳定。压缩率高可以降低序列长度,重建质量高可以保住画面细节,语义稳定则让自回归模型更容易学习 token 之间的关系。InfinityStar 通过继承连续视频 VAE 的重建能力,并在中间插入多尺度量化器,试图同时满足这三个条件。换句话说,Tokenizer 决定生成上限,后面的 Transformer 只能在 tokenizer 定义出的离散视觉空间里生成内容。

3.2 连续 VAE 与离散量化器的关系

连续 VAE 可以理解为“压缩和解压工具”,它擅长把视频变成 latent,再把 latent 还原成视频。离散量化器则像“编码字典”,它把 latent 中的连续数值转成可分类、可预测的离散 bit。两者结合后,系统既保留了 VAE 的重建能力,又获得了自回归模型需要的 token 形式。官方代码里,VAE decoder 并没有消失,而是继续承担最后的像素重建。

这个关系可以用一个简单流程理解:video -> VAE encoder -> latent -> quantizer -> bit tokens -> Transformer prediction -> codes -> VAE decoder -> video。其中,Transformer 只负责预测离散 token,不直接画视频;真正把 latent 变回像素的仍是 decoder。后续如果改造 decoder,必须尊重这条接口边界。

3.3 多尺度残差量化的直观理解

多尺度残差量化的直观含义是:不要让模型一次性预测完整视频,而是先预测粗尺度结构,再预测剩余误差。粗尺度负责场景布局、主体形状和整体运动,高尺度负责纹理、边缘和局部细节。每一层都在回答一个问题:“在已有重建结果的基础上,还缺什么?”这种方法让生成任务变得更分层,也让高分辨率视频的 token 预测更可控。

在代码逻辑中,可以看到系统会维护cum_var_input,然后计算当前目标target与累计结果之间的残差residual。残差被下采样到当前尺度后进入量化器,得到 bit indices;解码时再把 code 插值回目标大小并累加。这样做比直接量化完整 latent 更适合高分辨率生成,因为它把复杂视觉信息拆成了多个逐步修正的子任务

4. 时空金字塔

4.1 先生成空间外观

时空金字塔的第一层可以看作视频的空间底座。对于图像或视频第一帧,模型主要需要确定物体、背景、材质、颜色和构图,这些信息更偏空间外观。代码中的尺度可以表示为(pt, ph, pw),其中pt=1时更像图像尺度,ph/pw表示 latent 网格大小。模型先在低空间分辨率上确定大结构,再逐步补充更高空间分辨率的细节。

这种设计的好处是让模型先学“画面是什么”,再学“画面如何动”。如果一开始就把所有时间和空间 token 混在一起,模型需要同时处理纹理、运动、遮挡、镜头变化等多种因素,学习难度会显著增加。把第一帧或图像尺度作为底座,可以让后续视频片段更容易保持主体一致和风格一致。这里的pt=1可以理解为空间外观锚点,后续视频尺度再在这个锚点上生成运动。

4.2 再生成时间运动

空间外观确定后,模型开始生成视频片段的时间运动。视频尺度中pt大于 1,表示一个压缩后的时间片段。每个片段仍然有多级空间尺度,所以它不是简单地“一口气生成所有帧”,而是在时间片段内继续按空间层级补充细节。这样模型既能看到片段级运动,又能保留逐尺度细化的能力。

对于长视频或交互式视频,时空金字塔还可以按 clip 向后扩展。已有片段会成为后续片段的上下文,新片段只需要在相关历史信息基础上继续生成。官方infer_interact_480p.py和 480p 变长视频设置就体现了这种续写思路。这里的核心不是无限上下文,而是有选择地引用历史尺度,让长视频生成保持可计算。

4.3 为什么能统一图像、视频和续写

在这套表示下,图像生成就是只生成pt=1的空间尺度视频生成是在图像尺度后继续生成视频尺度图生视频是把参考图像编码成上下文,再生成后续运动视频续写则是把已有视频片段编码成历史 token,再预测后续 token。任务形式不同,但底层都是“给定条件,按时空尺度预测离散视觉 token”。

这就是 InfinityStar “统一”二字的实际含义。它不是为每个任务单独训练一套完全不同的网络,而是通过尺度调度和条件输入变化,让同一个自回归框架覆盖多个生成任务。对于工程系统来说,这种统一性很重要,因为训练、推理、缓存、调度和部署可以复用同一套底层逻辑


5. Infinity Transformer

…详情请参照古月居

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询