【SANA-WM】分钟级世界模型:混合线性扩散Transformer与双分支相机控制深度解析

SANA-WM,英伟达SANA系列新进展,2.6B开源世界模型,可以在单个GPU上将一张图像和一条相机轨迹转换为720p、时长一分钟、可控的视频,36倍更高吞吐

SANA-WM: Efficient Minute-Scale World Modeling with Hybrid Linear Diffusion Transformer

Haoyi Zhu, Haozhe Liu, Yuyang Zhao, Tian Ye, Junsong Chen, Jincheng Yu, Tong He, Song Han, Enze Xie

nVidia

Project: https://nvlabs.github.io/Sana/WM/

Code: https://github.com/NVlabs/Sana (SANA-WM代码尚未release)

arXiv: https://arxiv.org/abs/2605.15178

摘要

SANA-WM 是英伟达发布的 2.6B 参数开源世界模型,能在单张 GPU 上将一张图像和一条相机轨迹转换为 720p、时长一分钟的可控视频。其核心突破来自三项设计:混合线性 Diffusion Transformer (将 Gated DeltaNet 与稀疏 Softmax Attention 交替堆叠,将 961 帧长序列的显存复杂度从 O ( T 2 ) O(T^2) O(T2) 降至 O ( D 2 ) O(D^2) O(D2))、双分支相机控制 (Coarse 分支用 UCPE 建立 6-DoF 相机坐标系,Fine 分支用 Plücker Raymap 捕获帧内高频运动),以及两阶段生成流水线 (Base 模型产出初稿,17B Refiner 修复时序退化)。基准测试中 SANA-WM 吞吐量达 24.1 videos/hr,比最近的 480p 开源基线高出 36×,相机旋转误差 4.50°、平移误差 1.39,均优于参数量大 5× 以上的竞品。论文已于 2026-05 发布在 arXiv(2605.15178)。


一、问题背景

1.1 现有方法的局限

当前开源世界模型面临两个根本矛盾:

  1. 长序列效率 :生成一分钟 720p 视频意味着处理 ~961 帧的 token 序列。Transformer Softmax Attention 的 O ( T 2 ) O(T^2) O(T2) 显存复杂度使其无法在单卡上跑通;已有方案(LingBot-World 14B+14B)需要多卡且吞吐量仅 0.6 videos/hr。

  2. 相机精度与泛化:互联网视频没有精确的相机内外参标注。现有标注依赖单目深度(内参不准)或商业 MASt3R(闭源),生成视频的相机轨迹偏差普遍超过 15°(旋转)。

1.2 SANA-WM 的应对思路

问题 SANA-WM 的解法
O ( T 2 ) O(T^2) O(T2) 显存 Gated DeltaNet 线性递归状态,每帧仅保留 O ( D 2 ) O(D^2) O(D2) 状态矩阵
稀疏全局依赖 每 4 块插入一次 Softmax Attention(5/20 块)维持远程精度
相机标注缺失 VIPE 引擎融合 Pi3X + MoGe-2 得到度量尺度 6-DoF 位姿
时序退化 两阶段:Base 模型生成 + LTX-2 Refiner 修复后段质量下降

二、核心方法

2.1 整体框架

双分支相机控制
单帧图像 + 相机轨迹
LTX2-VAE 编码

C=128 潜空间
Hybrid Linear DiT

20 blocks / 2.6B
初步 720p 视频

60s @ 16fps
Long-Video Refiner

LTX-2 17B LoRA
最终输出

720p 60s 视频
Coarse: UCPE

帧级 6-DoF
Fine: Plücker Raymap

逐像素 48ch

整体遵循四阶段渐进训练:
Stage 1: VAE 适配

50K steps / 3.5 days

替换为 LTX2-VAE
Stage 2: 混合架构适配

30K steps / 2 days

短片段训练
Stage 3: 分钟级扩展

31K steps / 8 days

接入双分支相机控制
Stage 4: SFT + 蒸馏

10K steps / 2.5 days

Chunk-Causal 推理

2.2 混合线性注意力:Gated DeltaNet

问题 :961 帧序列的 Softmax Attention 需 O ( T 2 ) O(T^2) O(T2) 显存,单卡无法承受。

解法 :用 Gated DeltaNet (GDN) 替换大部分 Attention Block,将序列状态压缩为 D × D D \times D D×D 递归矩阵。

状态更新方程:

S t = S t − 1 M t + U t \mathbf{S}t = \mathbf{S}{t-1} \mathbf{M}_t + \mathbf{U}_t St=St−1Mt+Ut

M t = γ t ( I − K ^ t β t K ^ t ⊤ ) , U t = V t β t K ^ t ⊤ \mathbf{M}_t = \gamma_t \left(\mathbf{I} - \hat{\mathbf{K}}_t \beta_t \hat{\mathbf{K}}_t^\top\right), \quad \mathbf{U}_t = \mathbf{V}_t \beta_t \hat{\mathbf{K}}_t^\top Mt=γt(I−K^tβtK^t⊤),Ut=VtβtK^t⊤

O t = S t Q ^ t \mathbf{O}_t = \mathbf{S}_t \hat{\mathbf{Q}}_t Ot=StQ^t

其中 S t ∈ R D × D \mathbf{S}_t \in \mathbb{R}^{D \times D} St∈RD×D 为帧级递归状态, γ t ∈ ( 0 , 1 ] \gamma_t \in (0,1] γt∈(0,1] 为衰减门控, β t ∈ [ 0 , 1 ] \beta_t \in [0,1] βt∈[0,1] 为更新门控。每帧显存复杂度固定为 O ( D 2 ) O(D^2) O(D2),与序列长度 T T T 无关。

数值稳定性:键向量按以下方式归一化防止梯度爆炸:

K ^ t = K ˉ t ⋅ 1 D ⋅ S \hat{\mathbf{K}}_t = \bar{\mathbf{K}}_t \cdot \frac{1}{\sqrt{D \cdot S}} K^t=Kˉt⋅D⋅S 1

该归一化保证注意力矩阵的迹 ≤ 1 \leq 1 ≤1,确保状态转移为非扩张映射。实验表明仅用 1 / D 1/\sqrt{D} 1/D (L2 Norm)会在第 16 步出现 NaN 梯度。

混合策略 :20 个 Block 中第 { 3 , 7 , 11 , 15 , 19 } \{3,7,11,15,19\} {3,7,11,15,19} 位置(共 5 个)使用标准 Softmax Attention,其余 15 个使用 GDN。Softmax Block 专门处理跨度极长的全局依赖,GDN Block 处理局部时序压缩。

2.3 双分支相机控制

Coarse 分支:Ray-Local UCPE

在潜空间帧率下建立相机坐标系,以统一相机位置编码(UCPE)注入 6-DoF 轨迹:

Q ~ i c = ( D i ⊤ ⊕ RoPE i ) Q i c \tilde{\mathbf{Q}}^c_i = (\mathbf{D}_i^\top \oplus \text{RoPE}_i)\mathbf{Q}^c_i Q~ic=(Di⊤⊕RoPEi)Qic

( K ~ i c , V ~ i c ) = ( D i − 1 ⊕ RoPE i ) ( K i c , V i c ) (\tilde{\mathbf{K}}^c_i, \tilde{\mathbf{V}}^c_i) = (\mathbf{D}_i^{-1} \oplus \text{RoPE}_i)(\mathbf{K}^c_i, \mathbf{V}^c_i) (K~ic,V~ic)=(Di−1⊕RoPEi)(Kic,Vic)

O i c = ( D i ⊕ RoPE i − 1 ) ⋅ GDN cam ( Q ~ c , K ~ c , V ~ c ) i \mathbf{O}^c_i = (\mathbf{D}_i \oplus \text{RoPE}i^{-1}) \cdot \text{GDN}{\text{cam}}(\tilde{\mathbf{Q}}^c, \tilde{\mathbf{K}}^c, \tilde{\mathbf{V}}^c)_i Oic=(Di⊕RoPEi−1)⋅GDNcam(Q~c,K~c,V~c)i

其中 D i \mathbf{D}_i Di 为 4 × 4 4 \times 4 4×4 齐次 Ray-Local 变换矩阵,将世界空间光线转换到相机局部坐标系。

Fine 分支:Plücker Raymap 混合

8× 高频(原始帧率)捕获 VAE 内的帧间相机运动:

  • 对每个像素 ( r , p ) (r, p) (r,p) 计算 Plücker 坐标: ρ r , p = ( d r , p , o r × d r , p ) ∈ R 6 \boldsymbol{\rho}{r,p} = (\mathbf{d}{r,p},\ \mathbf{o}r \times \mathbf{d}{r,p}) \in \mathbb{R}^6 ρr,p=(dr,p, or×dr,p)∈R6
  • 将 8 个原始帧 Raymap 打包为 48 通道张量(每个潜空间帧对应 8 原始帧)
  • 经零初始化的 3D Patch Embedder + 逐 Block 线性投影注入 DiT
消融配置 旋转误差 (°↓) 平移误差 (↓)
无相机控制 37.24 4.23
UCPE 仅 Coarse 7.73 0.1350
UCPE + Plücker 6.21 0.1162

2.4 两阶段生成流水线

Base SANA-WM

2.6B, 60步
初稿视频

存在后段退化
Long-Video Refiner

LTX-2 17B + rank-384 LoRA
截断-σ 流匹配

σ_start=0.909375
最终视频

ΔIQ: 3.79→1.17

Refiner 的截断-σ 流匹配公式:

x 1 = ( 1 − σ start ) x l + σ start ⋅ ε \mathbf{x}1 = (1 - \sigma{\text{start}})\mathbf{x}l + \sigma{\text{start}} \cdot \varepsilon x1=(1−σstart)xl+σstart⋅ε

α = σ t / σ start , x t = ( 1 − α ) x h + α ⋅ x 1 \alpha = \sigma_t / \sigma_{\text{start}}, \quad \mathbf{x}_t = (1-\alpha)\mathbf{x}_h + \alpha \cdot \mathbf{x}_1 α=σt/σstart,xt=(1−α)xh+α⋅x1

v ∗ = ( x 1 − x h ) / σ start \mathbf{v}^* = (\mathbf{x}_1 - \mathbf{x}h) / \sigma{\text{start}} v∗=(x1−xh)/σstart

其中 x l \mathbf{x}_l xl 为粗生成结果, x h \mathbf{x}_h xh 为已接受的前段帧(固定 KV Anchor),仅对后段去噪 3 步。

效果 :Simple 轨迹下 VBench Overall 从 79.29 → 80.62 ,时序质量退化指标 ΔIQ 从 3.79 → 1.17

2.5 相机位姿标注流水线

互联网视频没有精确内参,SANA-WM 构建了 VIPE 引擎解决这个问题:
原始视频
Pi3X 多帧一致性深度
MoGe-2 度量尺度深度
深度融合

最小化加权 L2
逐帧内参优化

f_x, f_y, c_x, c_y
Bundle Adjustment

6-DoF 位姿
213K clips

度量尺度标注

深度融合目标函数:

min ⁡ s ∑ i w i ( s ⋅ d i Pi3X − d i MoGe ) 2 \min_{s} \sum_i w_i \left(s \cdot d_i^{\text{Pi3X}} - d_i^{\text{MoGe}}\right)^2 smini∑wi(s⋅diPi3X−diMoGe)2

对非方形像素的互联网视频,BA 将 ( f x , f y , c x , c y ) (f_x, f_y, c_x, c_y) (fx,fy,cx,cy) 作为逐帧独立变量优化。

训练数据集构成(共 212,975 个 clips):

数据源 类型 时长 Clips 数 位姿方法
SpatialVID-HQ 真实 10s 158,369 VIPE + Pi3X/MoGe-2
DL3DV 真实 10s 5,691 GT + Pi3X
DL3DV GS Refined 合成 60s 14,881 3DGS 增强
OmniWorld 合成 60s 1,720 VIPE + GT Depth
Sekai Walking-HQ 真实 60s 9,767 VIPE + Pi3X/MoGe-2
MiraData 真实 60s 18,987 VIPE + Pi3X/MoGe-2

三、工程实现

模型架构参数

参数
总 Block 数 20(15 GDN + 5 Softmax)
头维度 D D D 112
模型维度 d model d_{\text{model}} dmodel 2240
VAE 潜空间通道 128(LTX2-VAE)
Softmax Block 位置 {3, 7, 11, 15, 19}
生成分辨率 720p
生成时长 60s @ 16fps(961 帧)

Context-Parallel 训练

961 帧序列跨 P P P 张 GPU 切片,通过仿射组合聚合状态:

S ˉ p + 1 = S ˉ p ⋅ C p + H p \bar{\mathbf{S}}_{p+1} = \bar{\mathbf{S}}_p \cdot \mathbf{C}_p + \mathbf{H}_p Sˉp+1=Sˉp⋅Cp+Hp

All-Gather 的是 ( D × D ) (D \times D) (D×D) 紧凑摘要而非完整激活值,通信量极小且数学等价。

推理部署变体

bash 复制代码
# 全质量双向模式(推荐)
# 29.5 videos/hr,单 H100
python inference.py --mode bidirectional --steps 60

# Chunk-Causal 流式模式
# 24.1 videos/hr,支持增量生成
python inference.py --mode chunk_causal --steps 60

# 4 步蒸馏 + NVFP4 量化(消费级 GPU)
# RTX 5090 约 34 秒 / 60s 视频
python inference.py --mode distilled --steps 4 --quant nvfp4

四、实验分析

4.1 主基准对比(Simple 轨迹)

方法 参数量 分辨率 旋转误差(°↓) 平移误差(↓) VBench(↑) 显存(GB↓) 吞吐(vid/hr↑)
Infinite-World 1.3B 480p 16.55 1.98 79.18 53.5 5.9
LingBot-World 14B+14B 480p 10.47 2.01 81.82 454.1 0.6
HY-WorldPlay 8B 480p 17.89 2.36 68.82 215.5 1.1
Matrix-Game 3.0 5B 720p 12.96 1.83 78.53 106.2 3.1
SANA-WM 2.6B 720p 7.59 1.59 79.29 51.1 24.1
+Refiner 2.6B+17B 720p 4.50 1.39 80.62 74.7 22.0

4.2 Hard 轨迹对比

方法 旋转误差(°↓) 平移误差(↓) VBench(↑)
Infinite-World 41.31 2.49 79.51
LingBot-World 18.99 1.65 81.89
Matrix-Game 3.0 18.79 1.67 78.79
SANA-WM+Refiner 8.34 1.39 81.89

Hard 轨迹下双分支相机控制的优势更明显,旋转误差比 LingBot(14B×2)小 56%,参数量仅为对方 9%。

4.3 时序稳定性(ΔIQ 越小越好)

配置 PSNR(↑) SSIM(↑) LPIPS(↓) ΔIQ(↓)
SANA-WM(Simple) 14.16 0.333 0.458 3.79
+Refiner(Simple) 14.46 0.292 0.479 1.17
SANA-WM(Hard) 14.10 0.327 0.469 3.09
+Refiner(Hard) 14.80 0.312 0.458 0.31

ΔIQ 衡量视频后段的图像质量退化程度。Refiner 将 Hard 轨迹 ΔIQ 从 3.09 压缩到 0.31,即长视频末段画质几乎不衰减。

4.4 吞吐效率分析

复制代码
LingBot-World (14B+14B, 480p):    0.6 vid/hr   ←  最慢
HY-WorldPlay (8B, 480p):          1.1 vid/hr
Matrix-Game (5B, 720p):           3.1 vid/hr
Infinite-World (1.3B, 480p):      5.9 vid/hr
SANA-WM (2.6B, 720p):            24.1 vid/hr   ←  最快,36× vs Infinite-World

SANA-WM 在更高分辨率(720p vs 480p)下实现了最高吞吐,核心原因是 GDN 线性递归将 961 帧长序列的计算复杂度从 O ( T 2 ) O(T^2) O(T2) 降至 O ( T ⋅ D 2 ) O(T \cdot D^2) O(T⋅D2)。


小结

三个创新点的技术判断

  1. Hybrid GDN + Softmax(核心贡献) :GDN 的 O ( D 2 ) O(D^2) O(D2) 常数状态是本文效率突破的根本,"每 4 Block 插一个 Softmax"是工程折中------纯 GDN 会丢失远程依赖,全 Softmax 单卡跑不通。该设计具有强可迁移性,值得在其他长视频任务中复用。

  2. 双分支相机控制:UCPE(帧级粗粒度)+ Plücker(像素级细粒度)的组合解决了 VAE 时间下采样导致的相机信息丢失问题,Hard 轨迹下 ΔRot 比单 UCPE 降低 20%(7.73° → 6.21°,消融表 4)。

  3. 两阶段 Refiner:ΔIQ 从 3.79 → 1.17 说明 Base 模型本身存在系统性后段退化,Refiner 是工程补丁而非可选优化。若 Base 模型的长程一致性进一步提升,Refiner 的收益会缩小。

局限性

  • 代码尚未 release(截至 2026-05),只能参考论文复现
  • 训练依赖 64 张 H100 共 15 天,门槛较高
  • Refiner 引入的 17B 参数使完整系统实际参数量达 19.6B,并非真正的 2.6B 全链路

项目链接arXiv 2605.15178 | 项目主页 | GitHub

相关推荐
LONGZETECH1 小时前
新能源汽车VR仿真教学软件技术解析|职教数字化实训解决方案
大数据·架构·汽车·vr·汽车仿真教学软件
Bruce_Liuxiaowei1 小时前
WorkBuddy案例——教育辅导智能体
人工智能·ai·大模型·智能体·龙虾·workbuddy
TDengine (老段)1 小时前
TDengine RPC 通信层深度解析 — 协议格式、连接管理与重试机制
大数据·数据库·rpc·架构·时序数据库·tdengine·涛思数据
子午1 小时前
基于YOLO的水稻害虫检测系统~Python+yolov8算法+深度学习+人工智能+模型训练
人工智能·python·yolo
Matrix_111 小时前
第3篇:色彩空间原理与转换——从RGB到HSI、HSV、LAB
图像处理·人工智能·机器学习
咖啡里的茶i1 小时前
无监督域自适应:计算机视觉新突破
人工智能·计算机视觉
~黄夫人~1 小时前
常见AI专有名词解释(用公司管理的方式理解 AI 世界)
人工智能·gpt·ai
赵侃侃爱分享1 小时前
AI漫剧0基础怎么才能学好!长沙有哪几家比较好的机构
人工智能
qcx231 小时前
【AI Daily】每日Arxiv论文研读Top5-2026-05-16
人工智能·学习·ai·agent·aris