尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

WorldVLN前序:InfinityStar 与 TimeSformer

WorldVLN前序:InfinityStar 与 TimeSformer 0. 简介InfinityStar 构建了一条完整的离散自回归视频生成流水线。它先用视频 VAE 把图像或视频压缩成连续 latent再用多尺度 BSQ/LFQ 量化器把 latent 转成离散 bit token随后Infinity 自回归 Transformer 根据文本条件、历史视觉 token 和尺度信息预测后续 token最后系统把预测 token 转回 latent并交给 VAE decoder 还原成视频。这个流程的重点在“可预测的离散视觉序列”而不是单独更换 decoder。在官方代码中infinity/utils/load.py负责加载 visual tokenizerinfinity/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。代码中的MultiScaleBSQTP、lfq_detail、lfq_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 负责预测 tokenVAE 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。对自回归生成来说这是基础设施。如果没有 tokenizerTransformer 就要直接预测像素或连续 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)其中pt1时更像图像尺度ph/pw表示 latent 网格大小。模型先在低空间分辨率上确定大结构再逐步补充更高空间分辨率的细节。这种设计的好处是让模型先学“画面是什么”再学“画面如何动”。如果一开始就把所有时间和空间 token 混在一起模型需要同时处理纹理、运动、遮挡、镜头变化等多种因素学习难度会显著增加。把第一帧或图像尺度作为底座可以让后续视频片段更容易保持主体一致和风格一致。这里的pt1可以理解为空间外观锚点后续视频尺度再在这个锚点上生成运动。4.2 再生成时间运动空间外观确定后模型开始生成视频片段的时间运动。视频尺度中pt大于 1表示一个压缩后的时间片段。每个片段仍然有多级空间尺度所以它不是简单地“一口气生成所有帧”而是在时间片段内继续按空间层级补充细节。这样模型既能看到片段级运动又能保留逐尺度细化的能力。对于长视频或交互式视频时空金字塔还可以按 clip 向后扩展。已有片段会成为后续片段的上下文新片段只需要在相关历史信息基础上继续生成。官方infer_interact_480p.py和 480p 变长视频设置就体现了这种续写思路。这里的核心不是无限上下文而是有选择地引用历史尺度让长视频生成保持可计算。4.3 为什么能统一图像、视频和续写在这套表示下图像生成就是只生成pt1的空间尺度视频生成是在图像尺度后继续生成视频尺度图生视频是把参考图像编码成上下文再生成后续运动视频续写则是把已有视频片段编码成历史 token再预测后续 token。任务形式不同但底层都是“给定条件按时空尺度预测离散视觉 token”。这就是 InfinityStar “统一”二字的实际含义。它不是为每个任务单独训练一套完全不同的网络而是通过尺度调度和条件输入变化让同一个自回归框架覆盖多个生成任务。对于工程系统来说这种统一性很重要因为训练、推理、缓存、调度和部署可以复用同一套底层逻辑。5. Infinity Transformer…详情请参照古月居
返回列表