【论文阅读】CogVideoX: Text-to-Video Diffusion Models with An Expert Transformer
提出了一个新颖的大规模文生视频系统 CogVideoX,通过引入 3D VAE、专家 Transformer、渐进式训练机制、视频字幕增强机制 等多项关键技术,显著提升了视频生成的连贯性、动作丰富性和文本一致性。
介绍
CogVideoX 是一个基于 Diffusion Transformer的文生视频模型,能力:
- 生成时长:支持 10 秒连续视频;
- 帧率:16 帧/秒(fps);
- 分辨率:高达 768 × 1360;
主要目标:解决现有模型存在的运动匮乏、持续时间短、叙事能力差等问题。
关键改进有三点:
- 3D VAE 编码器:压缩空间和时间维度的视频,提高压缩率与视频清晰度。
- 专家 Transformer + 自适应 LayerNorm:增强文本与视频之间的深度融合。
- 渐进式训练 + 多分辨率打包:提升生成质量与训练稳定性。
文本到视频生成的发展趋势: Transformer 和 Diffusion 模型的结合(如 DiT)推动了文本驱动视频生成的发展; 典型代表包括:CogVideo、Phenaki、Sora 等; 不过,生成长时间、有丰富情节的视频仍面临挑战,如处理: “一道闪电劈开一块岩石,一个人从岩石中跳出来” 这样的复杂动作和时序。
CogVideoX技术组件:
- 3D Causal VAE(因果型三维变分自编码器): 同时压缩时间和空间; 比之前基于2D的改进更大,减少序列长度和训练负担; 改善帧间连续性,降低“闪烁”问题。
- 专家 Transformer(Expert Transformer): 提出 Expert Adaptive LayerNorm; 引入 3D 全注意力机制(3D full attention),建模时间与空间维度上的运动; 更好地对齐文本与视频内容。
- 高质量视频字幕生成(Video Captioning Pipeline): 为训练集自动生成准确描述; 大幅提高模型的语义理解与生成对齐度。
- 渐进式训练方法(Progressive Training): 包括:多分辨率帧打包(multi-resolution frame pack)、分辨率逐步提升训练(resolution progressive training); 引入 显式均匀采样(Explicit Uniform Sampling):通过在不同的数据并行节点上设置不同的时间步采样间隔,来稳定 loss 曲线、加快收敛。
模型规模与性能 提供了两个版本的模型:
- CogVideoX-5B(50亿参数)
- CogVideoX-2B(20亿参数)
实验表明: CogVideoX-5B 在各项评测中全面超越现有最强公开模型; CogVideoX-2B 也在多数维度上表现出强竞争力; 模型具备良好的可扩展性,规模越大、训练量越多、效果越好。
CogVideoX Architecture
CogVideoX 的整体架构核心包括:
- 3D Causal VAE:对视频进行压缩;
- Expert Transformer:实现文本与视觉模态的深度融合。
整体流程如下(见 Figure 3):
- 输入:视频和文本对;
- 视频经过 3D VAE 编码器 得到 latent 表示(z_vision),被 patchify 成一维序列;
- 文本通过 T5 编码器 得到嵌入向量(z_text);
- z_text 与 z_vision 在序列维度上拼接;
- 拼接后的序列输入多层 Expert Transformer;
- 输出经过 unpatchify 和 3D VAE 解码器重建为视频。
3D Causal VAE
背景动机: 视频包含时间 + 空间信息,数据量远超图像。为降低建模难度,作者引入 基于三维卷积的 VAE,从空间和时间两个维度压缩数据,提升重建质量和连贯性。
架构细节(见 Figure 4a):
包含三部分:Encoder、Decoder 和 KL Regularizer;
- Encoder/Decoder 对称堆叠多个 ResNet 块; 有些执行 3D downsampling/upsampling; 有些只做 2D 操作;
- Temporal Causal Convolution(见 Figure 4b): 所有 padding 放在卷积核开始处; 保证当前/过去的信息不被未来帧干扰。
实验对比: 表1:不同压缩比例/通道数量对重建质量的影响; 使用 3D 架构后几乎无抖动; 但压缩太激进(如 16×16×8)会导致难以收敛。
训练策略:
- 为了节省显存,引入上下文并行(Context Parallel)机制: 按时间维度切分,每个 rank 只传 k−1 帧到下一个设备; 通信开销小。
- 采用两阶段训练: 在 256×256 分辨率、17 帧视频上训练; 使用 context parallel 细调至 161 帧;
- 损失函数: L1 重建损失 LPIPS 感知损失 KL 损失 最后阶段加入3D 判别器的 GAN loss
Expert Transformer
Patchify:
- 原始视频 latent 为 T×H×W×C,通过 patch 操作转为一维序列;
- 若 q > 1,会重复第一帧 patch,以实现图像与视频的联合训练。
3D-RoPE(三维旋转位置编码):
- 将经典的 RoPE 扩展至三维空间坐标 (x, y, t);
- 使用三个独立的 1D-RoPE 分别作用于时间、宽、高三个维度: 通道分配:x:y:t = 3:3:2(总共占用全部 hidden channel);
- 将三个结果拼接作为最终的位置编码。
Expert Adaptive LayerNorm(专家自适应归一化):
由于文本和视频嵌入在数值范围和分布上存在差异,直接拼接可能效果差; 因此设计了专家化归一化模块分别处理视觉和文本:
- Vision Expert AdaLN:处理视频特征;
- Text Expert AdaLN:处理文本特征;
两者共享一个调制模块,输入为当前扩散 timestep; 保持一致调节的同时减少额外参数,提升模态对齐效果。
3D Full Attention(全空间-时间注意力):
现有方法往往将空间和时间注意力分离(以节省算力),如: 分开做 spatial attention 与 temporal attention; 但这会导致: 视觉信息隐式传递成本高; 难以保持动作一致性(尤其是大幅运动)。 为此,CogVideoX 引入: 三维文本-视频混合注意力机制(3D text-video hybrid attention) 全部建模时间 + 空间的注意力交互; 利用了 FlashAttention 的高效性; 易于适配各种并行加速方案; 更好对齐文本提示与动作演化。
Training
CogVideoX 的训练过程中,重点融合了图像与视频,采用渐进式训练、帧打包策略、稳定采样机制及大规模文本-视频数据构建,确保模型在长视频生成、语义对齐及运动一致性方面的性能。
Multi-Resolution Frame Pack
(多分辨率帧打包)
问题: 传统方法通常将图像(1帧)与视频(多帧)混合训练:
- 导致两种模态间 token 数量差异巨大,难以统一建模;
- 要求固定视频长度 → 会截断长视频、舍弃短视频,数据利用率低;
- 不同视频分辨率也加剧训练复杂度。
CogVideoX 方法: 提出 Multi-Resolution Frame Pack:
- 在同一 batch 中放入不同长度、不同分辨率的视频;
- 通过打包方式使 batch 内 shape 统一,方便并行训练;
- 用 3D-RoPE(三维旋转位置编码) 来建模不同视频形状的位置信息。
RoPE 应用策略:
- 方法一(采用):扩展 RoPE 表,按分辨率截取对应前段(保持相对位置清晰);
- 方法二:缩放固定长度的 RoPE 表(会模糊空间细节);
由于 RoPE 本质是相对编码,作者采用 方法一(extrapolation)提升效果。
Progressive Training
(渐进式训练)
问题:
- 网络视频数据中大量是低清晰度;
- 直接训练高分辨率视频非常耗费资源。
训练策略:
- 预训练阶段: 使用 256px 分辨率视频; 重点学习 低频语义特征; FPS 设置为 8 或 16,增强模型鲁棒性。
- 渐进式放大阶段: 从 256px → 512px → 768px; 学习高频细节。 宽高比保持策略: 不强行裁剪或拉伸; 始终保持原视频比例,仅缩放最短边。 高质量微调阶段: 进行最终精调(详见附录 A); 还基于上述模型训练了一个 图像转视频模型(见附录 D)。
Explicit Uniform Sampling
(显式均匀采样)
问题: 扩散模型的训练目标涉及时间步 t 的采样: 标准做法是对每个进程 rank 随机采样 t ∈ [1, T]; 但这在多卡并行中会导致整体采样分布 不够均匀,损失波动大。
CogVideoX 改进:
- 将 [1, T] 均匀分成 n 个区间(n 为并行进程数);
- 每个 rank 在其对应区间中采样;
- 实现了更均匀的 timestep 分布 → 损失曲线更平稳(见图 10d)。
Data
数据来源:
- 视频数据:经过筛选后保留 约 3500 万 个单镜头视频片段; 平均时长 6 秒;
- 图像数据:引入来自 LAION-5B、COYO-700M 的 20 亿张高美学评分图像。
视频筛选(Video Filtering):
为剔除不利于建模的低质量视频,建立了 6 种负面标签:
标签 | 含义 |
---|---|
Editing | 人工编辑痕迹,如特效、剪辑等 |
Lack of Motion Connectivity | 缺乏连贯动作的片段 |
Low Quality | 画质低、镜头抖动明显 |
Lecture Type | 仅有口语讲解、缺乏动态变化 |
Text Dominated | 画面文字比例过高 |
Noisy Screenshots | 来自屏幕截图,噪声大、清晰度差 |
具体做法:
- 手动标注 2 万视频,训练 6 个基于 Video-LLaMA 的滤波器;
- 用光流分数 + 图像美学分数进行动态调整;
- 最终只保留高质量、动态明显的视频数据。
视频文本生成(Video Captioning):
视频-文本对是训练 text-to-video 的核心,但大多数视频无标注。
CogVideoX 提出密集视频字幕生成管线(Dense Video Caption Pipeline):( Figure 7):
- 用一个视频字幕模型为视频生成短描述;
- 对每帧图像用 CogVLM 图像重标注模型生成密集描述;
- 用 GPT-4 汇总图像描述,得到更长更完整的视频字幕; 为提升效率: 微调 LLaMA2 模拟 GPT-4 的总结能力;
- 形成自动化字幕生成模型。
进一步扩展:
- 基于 CogVLM2-Video + LLaMA3 微调得到 CogVLM2-Caption;
- 端到端生成高质量视频字幕;
- 还能与 CogVideoX 配合实现视频到视频的生成(见附录 I)。
Study
① 位置编码(Position Embedding)
比较对象:3D RoPE(相对位置编码) vs. Sinusoidal 绝对位置编码;
结论:如图 10a 所示,3D RoPE 收敛速度显著更快; 与 LLM 中 RoPE 的成功应用一致; 证明 RoPE 在建模时空序列中同样有效。
② Expert Adaptive LayerNorm(专家自适应归一化)
比较模型:
- CogVideoX: 使用 Expert AdaLN;
- MMDiT(Esser et al., 2024): 双塔结构;
- 不使用 Expert AdaLN 的单塔结构。
评估指标:
- FVD(Fréchet Video Distance);
- CLIP4Clip 分数;
- 损失收敛曲线(见图 8a, 8d, 10c)。
结果总结:
- CogVideoX 使用 Expert AdaLN 的单塔结构表现最佳;
- MMDiT 虽然解决了模态差异问题,但引入了更多参数;
- Expert AdaLN 实现了更简单、更高效的融合方式; 更易扩展至大模型,更贴近当前主流 LLM 的设计范式。
③ 3D Full Attention(3D 全注意力机制)
对比结构:3D Attention vs. 2D(空间)+ 1D(时间)分离注意力;
现象: 如图 8b 和 10b 所示,2D+1D 在训练初期 FVD 明显更高; 且更容易发生训练崩溃(collapse)。
结论:
- 对于大模型(如 5B 参数量),结构设计对训练稳定性要求更高;
- 分离注意力结构难以捕捉大幅运动的时空一致性;
- 全 3D 注意力机制对视频建模更有效。
④ Explicit Uniform Sampling(显式均匀采样)
比较方式:标准随机采样 vs. 显式均匀采样;
结果:
- 如图 8c 和 10d 所示,显式采样下损失下降更平稳;
- 表 9 显示各个时间步的损失值都更低;
- 有效减少采样偏差带来的梯度不稳定,提高整体训练效率。
Evaluation
Automated Metric Evaluation(自动化指标评估)
3D VAE 重建质量(VAE Reconstruction)
实验设置:在 WebVid 验证集上,分辨率为 256 × 256,17 帧;
结果:
- 表 2 显示 CogVideoX 的 3D VAE 获得 最高 PSNR、最低抖动(jitter);
- 虽然其他方法使用更少的 latent 通道,但 CogVideoX 仍有明显优势。
评估指标设置(Metrics Used) 使用 VBench(Huang et al., 2024)中符合人类感知的指标:
- Human Action:人体动作捕捉;
- Scene:场景结构建模;
- Dynamic Degree:动态程度;
- Multiple Objects:多物体协同;
- Appearance Style:外观风格一致性;
不使用“色彩”类指标,因为其偏好静态、简单画面,会误判低质量视频为高分。
动态评估指标(动态性衡量):
为防止模型通过“低帧差”骗取高分,引入两个更合理的指标:
指标 | 描述 |
---|---|
Dynamic Quality(Liao et al., 2024) | 综合画质与动态评分,避免对运动的视频评分偏低 |
GPT-4o-MTScore(Yuan et al., 2024) | 用 GPT-4o 衡量视频中的形态变化幅度,适用于物理、生物、天气类时序 |