当前位置: 首页 > news >正文

【论文阅读】CogVideoX: Text-to-Video Diffusion Models with An Expert Transformer

提出了一个新颖的大规模文生视频系统 CogVideoX,通过引入 3D VAE、专家 Transformer、渐进式训练机制、视频字幕增强机制 等多项关键技术,显著提升了视频生成的连贯性、动作丰富性和文本一致性。

介绍

CogVideoX 是一个基于 Diffusion Transformer的文生视频模型,能力:

  • 生成时长:支持 10 秒连续视频;
  • 帧率:16 帧/秒(fps);
  • 分辨率:高达 768 × 1360;

主要目标:解决现有模型存在的运动匮乏、持续时间短、叙事能力差等问题。

关键改进有三点:

  1. 3D VAE 编码器:压缩空间和时间维度的视频,提高压缩率与视频清晰度。
  2. 专家 Transformer + 自适应 LayerNorm:增强文本与视频之间的深度融合。
  3. 渐进式训练 + 多分辨率打包:提升生成质量与训练稳定性。

文本到视频生成的发展趋势: 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 曲线、加快收敛。

模型规模与性能 提供了两个版本的模型:

  1. CogVideoX-5B(50亿参数)
  2. CogVideoX-2B(20亿参数)

实验表明: CogVideoX-5B 在各项评测中全面超越现有最强公开模型; CogVideoX-2B 也在多数维度上表现出强竞争力; 模型具备良好的可扩展性,规模越大、训练量越多、效果越好。

CogVideoX Architecture

 CogVideoX 的整体架构核心包括:

  1. 3D Causal VAE:对视频进行压缩;
  2. Expert Transformer:实现文本与视觉模态的深度融合。

整体流程如下(见 Figure 3):

  1. 输入:视频和文本对;
  2. 视频经过 3D VAE 编码器 得到 latent 表示(z_vision),被 patchify 成一维序列;
  3. 文本通过 T5 编码器 得到嵌入向量(z_text);
  4. z_text 与 z_vision 在序列维度上拼接;
  5. 拼接后的序列输入多层 Expert Transformer;
  6. 输出经过 unpatchify 和 3D VAE 解码器重建为视频。

3D Causal VAE

背景动机: 视频包含时间 + 空间信息,数据量远超图像。为降低建模难度,作者引入 基于三维卷积的 VAE,从空间和时间两个维度压缩数据,提升重建质量和连贯性。

架构细节(见 Figure 4a):

包含三部分:Encoder、Decoder 和 KL Regularizer;

  1. Encoder/Decoder 对称堆叠多个 ResNet 块; 有些执行 3D downsampling/upsampling; 有些只做 2D 操作;
  2. 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帧)与视频(多帧)混合训练:

  1. 导致两种模态间 token 数量差异巨大,难以统一建模;
  2. 要求固定视频长度 → 会截断长视频、舍弃短视频,数据利用率低;
  3. 不同视频分辨率也加剧训练复杂度。

CogVideoX 方法: 提出 Multi-Resolution Frame Pack:

  • 在同一 batch 中放入不同长度、不同分辨率的视频;
  • 通过打包方式使 batch 内 shape 统一,方便并行训练;
  • 用 3D-RoPE(三维旋转位置编码) 来建模不同视频形状的位置信息。

RoPE 应用策略:

  1. 方法一(采用):扩展 RoPE 表,按分辨率截取对应前段(保持相对位置清晰);
  2. 方法二:缩放固定长度的 RoPE 表(会模糊空间细节);

由于 RoPE 本质是相对编码,作者采用 方法一(extrapolation)提升效果。

Progressive Training

(渐进式训练)

问题:

  1. 网络视频数据中大量是低清晰度;
  2. 直接训练高分辨率视频非常耗费资源。

训练策略:

  1. 预训练阶段: 使用 256px 分辨率视频; 重点学习 低频语义特征; FPS 设置为 8 或 16,增强模型鲁棒性。
  2. 渐进式放大阶段: 从 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来自屏幕截图,噪声大、清晰度差

具体做法:

  1. 手动标注 2 万视频,训练 6 个基于 Video-LLaMA 的滤波器;
  2. 用光流分数 + 图像美学分数进行动态调整;
  3. 最终只保留高质量、动态明显的视频数据。

视频文本生成(Video Captioning)

视频-文本对是训练 text-to-video 的核心,但大多数视频无标注。

CogVideoX 提出密集视频字幕生成管线(Dense Video Caption Pipeline):( Figure 7):

  1. 用一个视频字幕模型为视频生成短描述;
  2. 对每帧图像用 CogVLM 图像重标注模型生成密集描述;
  3. 用 GPT-4 汇总图像描述,得到更长更完整的视频字幕; 为提升效率: 微调 LLaMA2 模拟 GPT-4 的总结能力;
  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 衡量视频中的形态变化幅度,适用于物理、生物、天气类时序

 

http://www.dtcms.com/a/269474.html

相关文章:

  • 【计算机基础理论知识】C++篇(一)
  • 暑假读书笔记第四天
  • 【Python-GEE】如何利用Landsat时间序列影像通过调和回归方法提取农作物特征并进行分类
  • python transformers库笔记(BertForTokenClassification类)
  • 【牛客刷题】小红的与运算
  • node.js中yarn、npm、cnpm详解
  • 精益管理与数字化转型的融合:中小制造企业降本增效的双重引擎
  • 算法训练营DAY29 第八章 贪心算法 part02
  • 实战Linux进程状态观察:R、S、D、T、Z状态详解与实验模拟
  • 联通线路物理服务器选择的关键要点
  • No Hack No CTF 2025Web部分个人WP
  • Django双下划线查询
  • 微信小程序控制空调之接收MQTT消息
  • 如何利用AI大模型对已有创意进行评估,打造杀手级的广告创意
  • deepseek实战教程-第九篇开源模型智能体开发框架solon-ai
  • Python爬取知乎评论:多线程与异步爬虫的性能优化
  • React18+TypeScript状态管理最佳实践
  • Jenkins 使用宿主机的Docker
  • 深入解析 structuredClone API:现代JS深拷贝的终极方案
  • Ubuntu 版本号与别名对照表(部分精选)
  • Java使用接口AES进行加密+微信小程序接收解密
  • Linux Ubuntu系统下载
  • Docker企业级应用:从入门到生产环境最佳实践
  • any实现(基于LLVM中libcxx实现分析)
  • 深入理解Java虚拟机(JVM):从内存管理到性能优化
  • 基于Java+Maven+Testng+Selenium+Log4j+Allure+Jenkins搭建一个WebUI自动化框架(1)搭建框架基本雏形
  • C++11标准库算法:深入理解std::find, std::find_if与std::find_if_not
  • iOS Widget 开发-3:Widget 的种类与尺寸(主屏、锁屏、灵动岛)
  • el-button传入icon用法可能会出现的问题
  • Unity开发如何解决iOS闪退问题