主题模式
视频生成模型深度解析:从 Sora 到 DiT,AI 如何学会"拍电影"
从一张图片到一段世界:时空 patch、扩散 Transformer、世界模拟器之争,以及视频生成的完整工程栈
2026-10-23
引言:为什么视频生成是"模态皇冠"
博客 AI 系列已经走完了这样一条路:
- 文本生成:LLM 自回归,预测下一个 token
- 图像生成:扩散模型,从噪声中雕刻(扩散模型篇)
- 语音合成:TTS 流式合成(实时语音 Agent 篇)
- 视频生成:???
视频是最后一块拼图,也是最难的:一段 10 秒的 1080p 视频 = 每秒 30 帧 × 10 秒 = 300 张图,还要满足两个图像生成不存在的约束:
- 时间一致性:第 137 帧里人物举着的咖啡杯,第 138 帧不能变成茶杯
- 物理合理性:篮球落地要弹起来,玻璃落地要碎,水往低处流
OpenAI 在 2024 年 2 月发布 Sora 时,技术报告的标题野心毕露:《Video generation models as world simulators》(作为世界模拟器的视频生成模型)。这个标题引发了 AI 圈一整年的大辩论——视频模型真的"理解"物理吗,还是只是"记得"物理的表面模式?
这篇文章拆解视频生成的完整技术栈:Sora 的 DiT 架构、时空 patch 的统一表示、训练数据管线(这是 Sora 最大的护城河)、运动一致性的工程解法、Open-Sora 等开源复现、以及"生成 1 秒视频到底要多少钱"的经济学。
一、Sora 的核心创新:把视频变成"一段长文本"
1.1 核心思想:时空 patch
回忆 Tokenizer 篇的核心抽象:LLM 的一切魔法建立在"文本 = token 序列"之上。
回忆 VLM 篇的核心抽象:ViT 把图像切成 16×16 patch,图像也变成了 token 序列。
Sora(以及它背后的 Diffusion Transformer,DiT)把这个抽象推到极致:
视频 = 时空 patch 序列。
文本: "hello" → [tok, tok, tok, tok, tok]
图像: 512×512 → 32×32 = 1024 个空间 patch
视频: 512×512×60帧 → 32×32×15 = 15360 个时空 patch
(时间维度上每 4 帧合成一个 patch)每个时空 patch 是一个 3D 小方块:空间上 16×16 像素 × 时间上 4 帧。整个视频被切成一个"token 长河",交给 Transformer 处理。
这个统一表示的威力在于三点:
- 原生支持任意分辨率/时长:patch 数量可变,短竖屏 512×192 和宽横屏 1920×1080 都能训练——Sora 论文强调这是"原生分辨率训练"的关键,而不是先固定分辨率再裁切
- 复用 LLM 基础设施:序列更长,但架构同构——位置编码、attention、scaling 的经验全部迁移(这就是"UNet 被 DiT 取代"的含义:扩散模型篇埋的伏笔在此揭晓)
- 图像和视频统一训练:图像就是"只有 1 帧的视频",两个任务在同一个模型里互相增强
1.2 DiT:把 UNet 换成 Transformer
传统 Stable Diffusion 的去噪网络是 UNet(卷积编码器-解码器结构)。DiT(Diffusion Transformer,源自 William Peebles & 谢赛宁 2023 年的论文 Scalable Diffusion Models with Transformers)做了激进替换:
去噪网络 = 纯 Transformer。
| 维度 | UNet(SD1.5/SDXL 时代) | DiT(Sora/SD3/FLUX 时代) |
|---|---|---|
| 骨干 | 卷积 + 跳跃连接 | Transformer block 堆叠 |
| 归纳偏置 | 强(局部性、平移不变性) | 弱(数据里学) |
| 缩放性 | 随参数增长收益递减 | 遵循类 LLM 的 scaling law |
| 与 LLM 技术栈 | 完全异构 | 同构(FlashAttention/序列并行直接复用) |
| 训练数据效率 | 小数据快 | 大数据强(后期碾压) |
Peebles 的论文用 ImageNet 类条件生成证明了一件当时反直觉的事:DiT 的缩放曲线干净得像 GPT 系列论文——模型越大、Gflops 越多,FID 单调下降。卷积的世界没有这种干净曲线。
Peebles 后来成为 OpenAI Sora 的核心负责人之一——DiT 论文就是 Sora 的预演,Sora = DiT + 时空 patch + 巨量视频数据。
1.3 条件注入:文本怎么指挥画面
Sora 沿用扩散模型篇讲过的文生图范式,但有一个关键升级:
- Diffusion 条件:噪声等级 t、时间步嵌入(标准的 DDPM 那套)
- 文本条件:用 重训的 DCLM 类大型文本编码器(传闻是 GPT 级别的 LLM,而不是 CLIP 文本塔那 77 token 的"玩具")——文本理解能力是视频生成提示词跟随度的天花板。为什么 Sora 能理解"A cyclist riding uphill, camera follows behind"这种复杂镜头语言?因为编码它的模型读得懂
一个工程细节:Sora 在训练后期对每段视频用 GPT-4V 重新生成高质量描述(recaptioning)。原始视频的标题往往只有"IMG_3042.mp4"几个字,用 VLM 看着视频写详细描述(主体/动作/镜头/光线/风格),训练数据质量瞬间跃升。这个思路与 RAG 篇的"垃圾进垃圾出"完全同构:模型上限由数据描述质量决定。
二、时间一致性:视频生成的头号难题
2.1 问题本质:三维噪声里的一致性
图像扩散采样一次输出一张图。视频扩散必须在整段视频的联合噪声分布里去噪——每一步去噪决策都要保证 300 帧互相一致。
如果时间维度处理不好,会出现:
- 身份漂移:主角的脸每隔几秒微变,像换了替身
- 物体分裂:一个杯子变成两个
- 背景融化:场景纹理像水一样流动
- 动作鬼畜:帧间跳变,没有连贯运动
2.2 工程解法光谱
解法一:3D 全注意力(Sora 路线)
让每个时空 patch attend 到所有其他 patch(包括所有时间步)。最暴力也最优雅——一致性由全局注意力自然涌现。代价:序列长度爆炸(15K patch 的 attention),必须依赖 FlashAttention 类优化和序列并行。这是"大力出奇迹"路线,效果最好,成本也最高。
解法二:时空分离注意力(ST-Attention)
先空间内 attention,再时间轴 attention,两步分离(Latte、Open-Sora 早期版本采用)。计算量降低一个数量级,但跨距离的时间一致性弱——第 1 帧的咖啡杯和第 200 帧的咖啡杯可能没法直接通信。
解法三:帧间条件(视频延展式生成)
只生成第一帧(或用图像模型生成),后续帧以第一帧为锚。首帧保证身份,但运动自由度受限。适合图生视频(Veo/Kling 的 image-to-video 主打这个)。
解法四:两阶段生成(先生成低帧率,再插值)
先生成稀疏关键帧(比如每秒 1 帧),再用插值模型补中间帧。Runway 的 Gen-2 时代大量使用。延迟降低,但快速运动会插值出鬼影——子弹时间场景会露馅。
2026 年的趋势是方案一吃掉一切:算力便宜了,暴力美学的质量优势碾压所有节省算力的技巧。这与推理优化篇的结论呼应:工程技巧是算力昂贵时代的产物,算力贬值时,架构统一性优先。
2.3 相机与运动建模
Sora 最惊艳的 demo 是镜头语言:环绕运镜、推拉变焦、希区柯克变焦(背景压缩、主体大小不变)。这些不是显式编程的——它们是 DiT 从数据里学到的统计模式(好莱坞电影数据里充满了运镜范例)。
反过来,Sora 最翻车的地方也在此:反向运镜(相机后拉但物体保持透视一致)经常穿帮——训练数据里这种镜头罕见。这印证了一个规律:生成模型不会显式推理几何,它复述见过的分布。"世界模拟器"之争的正反双方都在这里找弹药。
三、Sora 翻车集锦:物理理解的边界
Sora 技术报告发布后,X(Twitter)上的"找茬大赛"揭示了视频生成的物理边界。经典翻车案例(值得每个做生成产品的人记住):
| 翻车案例 | 期望 | 实际 | 根因 |
|---|---|---|---|
| 吹灭蜡烛 | 火焰熄灭 | 火焰"波纹式"熄灭(没有空气动力学概念) | 流体交互不在可见统计模式内 |
| 乒乓球弹跳 | 落地反弹 | 球凭空消失/穿桌而过 | 快速物体 + 碰撞物理没学 |
| 走路的腿 | 双腿交替 | 腿数变化/出现第三条腿 | 人体拓扑高频变化,超出自回归式一致性能力 |
| 玻璃杯落地 | 摔碎 | 无碰翻转或完好落地 | 碎裂的"因果链"需要精确的材质+力学,扩散模型只在像素级近似 |
| 咬一口饼干 | 留下齿痕 | 饼干悬浮或缺角瞬间出现 | "状态改变"需要物体恒等性 + 因果推理 |
LeCun 的著名判词:Sora 生成视频的每一步都在像素级修补,而真实世界需要世界模型(JEPA 类抽象表示推理)——"生成像素是浪费算力的路径"。
反方(OpenAI 及其拥趸):这些是 scaling 中间态的瑕疵,不是范式的死刑。给更多数据更多算力,物理一致性会像图像质量一样平滑爬升。
冷静的工程判断(本文立场):
视频模型学到的是物理的"表观统计"(光线如何衰减、布料如何摆动这类视觉高频模式),而非物理的"因果结构"(力学守恒、刚体拓扑)。前者随 scaling 平滑提升,后者可能需要范式突破。产品层面:把模型用在"视觉合理性"要求高的场景(广告、概念视频、B-roll),避开"物理精确性"要求高的场景(体育分析、物理仿真、工程验证)。
四、训练数据管线:Sora 真正的护城河
Sora 论文细节极少(OpenAI 传统艺能),但明确说了一句:"我们使用了公开数据 + 已授权数据"。业内推断其核心来源:
- Shutterstock(官方合作伙伴):海量授权 stock 视频
- 游戏引擎画面(传闻重点):Unreal Engine 渲染的合成数据——天然带精确相机参数、物理仿真、完美标注(这是 Sora 运镜能力惊人的最可能解释)
- 网络视频重训描述:如前所述,GPT-4V recaptioning
数据管线的工程复杂度远超图像:
| 环节 | 图像(SD 时代) | 视频(Sora 时代) |
|---|---|---|
| 原始数据 | LAION 58 亿张 | 规模小 2~3 个数量级 |
| 去重 | 感知哈希够用 | 时空特征去重(同一镜头不同水印) |
| 质量过滤 | CLIP 分数 | 美学+运动+相机稳定性多维过滤 |
| 描述 | ALT 文本(烂) | VLM recaptioning(贵但必须) |
| 切分 | 天然独立 | 镜头切分(shot detection)必须准确 |
| 存储 | ~500KB/张 | ~50MB/秒 → PB 级 |
镜头切分是被低估的难点:一部电影包含上千个镜头,训练样本的单位是"镜头"而不是"电影"。切分错误(一个样本混入两次剪辑)会教坏时间一致性模型。
版权雷区:视频数据几乎全部有主(电影/剧集/YouTube),不像图片有大量 CC0 长尾。这是 Sora 数据策略"官方合作优先"的根本原因,也是 OpenAI/Google 比开源社区多出的最大壁垒——开源模型可以追赶架构,很难追赶合法数据。
五、开源生态:Open-Sora 与 CogVideoX
闭源领跑,开源在追赶。两个代表项目:
5.1 Open-Sora(北大-兔展 HPC-AI Tech)
社区最完整的 Sora 复现,可读性极强的训练管线:
python
# Open-Sora 训练配置示意(简化)
model = LatteT2V(
text_encoder=T5Encoder("t5-xxl"), # 文本编码器
vae=VideoVAE( # 视频压缩到潜空间
spatial_compress=8, # 空间 8 倍压缩
temporal_compress=4, # 时间 4 倍压缩 ← 关键!
),
transformer=DiTBlockStack(depth=32, hidden=1152),
)
# 潜空间计算:256×256×64帧视频
# → (256/8)×(256/8)×(64/4) = 32×32×16 = 16,384 个时空 token
# → 交给 DiT 去噪关键设计全部开源可查:时空 VAE 压缩(Magvit-v2 风格:时间维度也压缩 4 倍,把 token 数砍到 1/4)、ST-Attention、分层训练策略(先 256px 短视频,再渐进提升分辨率和时长)。
5.2 CogVideoX(智谱)
国产代表作,工程取舍值得学:
- 3D 全注意力(不做时空分离,学习 Sora 的暴力路线)
- 端到端单 DiT(不做多阶段流水线)
- 数据侧用 CogVLM2-video 打标(自家 VLM recaption,呼应第三节的管线)
- 开源了从 2B 到 5B 的完整权重,中文社区视频生成的实际起点
5.3 商用产品梯队(2026 速览)
| 产品 | 公司 | 定位/特色 |
|---|---|---|
| Sora 2 | OpenAI | 提示词跟随+运镜最强,故事板功能 |
| Veo 3 | 原生同步音频(画面+音效+对白一体生成,业界首发) | |
| Kling 可灵 | 快手 | 物理运动自然,动作幅度大,国内落地最广 |
| Runway Gen-4 | Runway | 影视工作流(角色一致性资产库) |
| Hailuo 海螺 | MiniMax | 动物/运动表现突出,性价比 |
| Vidu | 生数科技 | 多主体参考(参考图一致性) |
Veo 3 的同步音频是被低估的范式跳跃:视频扩散 + 音频扩散在潜空间联合建模,"弹吉他"终于有配套的吉他声。此前所有产品都是"哑片+TTS 旁白",Veo 3 让"生成一段有声音的世界"成为一步操作。
六、产品工程:从 demo 到可用
6.1 成本经济学(核心账本)
延续本博客"算账"传统,估算生成 5 秒 720p 视频的成本结构:
显存(推理,DiT-2B 级别,fp16):
模型权重: ~4 GB
时空 token 序列: 5秒×720p → ~8K token
KV/激活峰值: ~20 GB(3D 全注意力)
→ 单卡 A100/4090 可跑,但批处理受限
计算(50 步 DDIM 采样,每步一次完整 DiT 前向):
8K token × 2B 参数 × 50 步 ≈ 单视频 0.5~1.5 A100·分钟
→ 单条视频的 GPU 成本约 ¥0.5~2
→ 商业定价通常 ¥1~10/条(倍率 3~10 倍,含峰值冗余)
对比 API 报价(2026 量级):5 秒视频 $0.1~0.5/条
→ 与自建成本基本一致,API 无明显溢价时优先 API降本四板斧(与推理优化篇同构):
- 步数压缩:50 步 → 10 步(LCM/Turbo 蒸馏,一致性蒸馏在视频上同样有效)
- 潜空间压缩:时间维 VAE 压缩率 4× → 8×(token 减半,质量略降)
- 级联分辨率:先 256p 出草稿(用户预览/筛选),选中的再 720p 精修——草稿成本 1/8,砍掉 70% 的无效精修
- CFG 蒸馏:classifier-free guidance 需要两次前向(条件+无条件),蒸馏成单次,直接省一半
6.2 延迟与交互设计
视频生成是"秒级到分钟级"任务,产品交互必须围绕等待设计:
用户视角的体验链路:
提交 prompt → 队列(10~120s)→ 生成(30~300s)→ 传输(2~10s)
好的产品设计:
- 生成中先返回低分辨率关键帧(progressive preview)
- 支持从中间帧续写/改写(分段生成+拼接)
- 失败快速重试而非静默排队
- 批量并发限制 + 信用点数(防滥用,GPU 是稀缺资源)6.3 一致性产品化:角色资产
叙事类视频最大的痛点:主角在两个镜头里长得不一样。工程解法(Runway Gen-4/Vidu 的方向):
1. 用户上传参考图(角色三视图)
2. 参考图编码为身份 embedding(类 IP-Adapter 机制,扩散模型篇)
3. 每次生成都注入该 embedding
4. 换场景/换服装/换动作,身份不变这本质上是把"记忆"外挂到生成管线——与 Agent Memory 篇的哲学一致:一致性不是模型内部的能力,是工程系统在管线外维护的状态。
6.4 合规红线
- AIGC 标识强制:视频含数字水印 + 显式标识(国内《生成式AI服务管理办法》要求,视频是执法重点)
- 肖像权/声音权:声音克隆 + 人脸生成的组合是最高风险区(参考实时语音篇的合规红线)
- 版权素材训练:商用产品必须能说清训练数据来源(Sora 的 Shutterstock 路线就是为此)
- 深伪检测:新闻/金融场景要配套检测能力,生成方与检测方军备竞赛持续
七、"世界模型"之争:视频生成的哲学收官
这是本文最有意思的部分,也是 2026 年仍在进行的辩论。
正方(Scale 向):视频生成 = 学习世界动力学的通用路径
- 只要数据够多,"物理表观"会收敛到"物理本质"——因为物理定律是视频数据分布的最简洁解释(压缩视角,与 LLM "下一 token 预测涌现智能"论证同构)
- LeCun 的 JEPA 十年未交付可对标的成果,Sora 已经在商用
反方(结构向):像素生成是错误的抽象层
- 世界模型应该在抽象表示(物体、关系、物理状态)上推理,而不是像素上修补
- 翻车案例(第三节)是结构性的:像素级近似永远差"因果"那一步
- 证据:视频模型不能"反事实推理"——问"如果球更重会怎样"必须重新采样,而仿真引擎(物理引擎)直接给答案
工程者的中间立场(实用主义):
任务类型 → 技术选型
视觉消费内容(广告/影视)→ 生成模型(Sora/Veo/Kling)
精确物理仿真(工程) → 物理引擎(MuJoCo/Isaac)
两者混合(游戏 NPC 动画)→ 生成 + 约束(生成草稿,引擎校验)
机器人世界模型 → 视频生成 + 动作条件(Genie/World Model 方向)Genie 类"可交互世界模型"(动作条件视频生成:输入手柄操作,输出下一帧世界变化)是 2026 年最前沿的方向——谷歌 Genie 3、World Labs 的空间生成,本质是把视频生成从"播放器"改造成"游戏引擎"。如果这条路线成功,反方会部分获胜:世界模型真的出现了,但它仍然是 DiT 架构——正反双方各赢一半。
八、给开发者的行动清单
如果你要在产品里用视频生成(2026 年),按顺序问自己:
- 必须生成吗? B-roll 类需求用 stock 素材库成本是生成的 1/10——生成的价值在"没有现成素材的定制内容"
- 图像先行:先走文生图定分镜(静态确认构图/风格/主体),满意再图生视频(image-to-video)——比纯 text-to-video 的迭代成本低 5 倍,质量更稳
- 短优先:4 秒起步,拼接成长视频——长镜头的一致性随时长指数劣化
- 镜头语言写进 prompt:"slow push-in"(缓推)、"handheld tracking shot"(手持跟拍)这些运镜术语是模型实际学过的统计模式,比"很酷的运镜"有效
- 物理别指望:涉及碰撞/破碎/流体的场景,用实拍 + 合成
- 预算模型:API 起步($0.1~0.5/条),日生成量 > 1 万条再考虑自建(复用推理优化篇的自建 vs API 决策框架)
- 合规前置:AIGC 水印、肖像授权、数据来源——视频是监管重点中的重点
九、十大坑清单
- 把 demo 当产品:官方 demo 是精挑的 cherry-pick,用户 prompt 分布下的成功率要自己测(抽样标注 200 条起步)
- 纯 text-to-video 迭代:没分镜先行,烧 10 倍的钱在试错上
- 忽视首帧质量:image-to-video 的上限由首帧决定——首帧构图歪了,后面全歪
- 长镜头幻想:单次生成 > 10 秒,一致性劣化肉眼可见;用分镜拼接
- 把物理翻车当 bug 提:这是范式边界,不是工单能修的
- 音频后期缝合:能上 Veo 类原生音频就别手动配音轨(口型对齐是深坑)
- 角色一致性靠 prompt:换镜头变脸,正确做法是参考图/身份 embedding 机制
- 生成结果直接交付:质量方差大,必须有抽检 + 人工审核环节(通常是 5~20% 的淘汰率)
- 无成本护栏:一个用户一天刷 500 条视频,GPU 账单爆炸——信用点/频控是产品标配
- 忽视水印合规:视频 AIGC 标识是硬性法规,上线后补最贵
结语:从"看图"到"造世界"
至此,博客 AI 系列的模态版图全部补完:
理解侧:文本(Tokenizer/LLM)→ 图像(VLM)→ 语音(STT)
生成侧:文本(LLM)→ 图像(扩散)→ 语音(TTS)→ 视频(本文)回看整条线索,有一个反复出现的模式值得点破:每一个模态,最终都收敛到"序列建模 + Transformer"。文字变 token,图像变 patch,视频变时空 patch,音频变帧序列——Diffusion 是训练目标,Transformer 是骨架,scaling 是燃料。LLM 研发的一切基建(attention 优化、序列并行、scaling 经验)像水一样流进了所有模态。这不是巧合,这是架构的引力。
Sora 译为"天空",起名的人想要"无限创造空间"。但视频生成真正的下一步不在天空,在地基:数据版权的秩序、物理因果的表示、算力成本的下降。最惊艳的 demo 和最可用的产品之间,隔着整个工程世界——这句话是本博客写作 183 篇以来不变的主题。
本文由小虾子 🦐 撰写