ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

SANA-WM 世界模型实战指南:分钟级 720p 视频生成、6-DoF 相机控制与流式推理

SANA-WM 世界模型实战指南:分钟级 720p 视频生成、6-DoF 相机控制与流式推理 SANA-WM 世界模型实战指南分钟级 720p 视频生成、6-DoF 相机控制与流式推理【免费下载链接】SanaSANA: Efficient High-Resolution Image Synthesis with Linear Diffusion Transformer项目地址: https://gitcode.com/GitHub_Trending/sana/Sana导读SANA-WM 是 Sana 仓库中面向分钟级视频生成的开源世界模型约 2.6B 参数原生支持 720p、60 秒级视频合成并配有精确的6-DoF 相机控制前进/后退、偏航、俯仰、平移与 LTX-2 sink-bidirectional Euler refiner 高清解码。本文将围绕 asset/docs/sana_wm.md仓库内同步维护于 docs/sana_wm.md展开完整覆盖环境搭建、双向与流式两套推理管线、动作 DSL 与.npy相机轨迹两种控制方式、fp8/fp4 量化显存优化、Chunk-Causal Stage-1 训练以及 ODE / Self-Forcing 蒸馏全流程。读完本文你将掌握 SANA-WM 从单卡推理到多卡训练、再到蒸馏复现的完整实战能力。一、SANA-WM 是什么面向分钟级视频的世界模型SANA-WM 是一个高效的2.6B 参数开源世界模型原生为一分钟视频生成而训练它能够合成 720p 分辨率、分钟级时长的视频支持精确的 6-DoF 相机控制并配套 LTX-2 sink-bidirectional Euler refiner 进行高保真解码。其核心贡献有四条混合线性注意力Hybrid Linear Attention逐帧 Gated DeltaNet 与每 N 个 block 插入一次的 softmax attention 交替使用实现显存高效的长上下文建模——从配置看softmax_every_n: 4见 configs/sana_wm/sana_wm_streaming_1600m_720p.yaml即每 4 个 Gated DeltaNet 块插入一个标准 softmax 注意力块。双分支相机控制Dual-Branch Camera Control独立的主分支main branch与相机分支camera branch实现对逐帧轨迹6-DoF的精确跟随。两阶段生成管线Two-Stage Generation Pipeline在 Stage-1 隐变量之上叠加长视频 refiner提升画质与时间一致性。稳健的标注管线Robust Annotation Pipeline从公开语料中提取米制尺度metric-scale的 6-DoF 相机位姿为动作提供时空一致spatiotemporally consistent的监督信号。根据官方发布说明SANA-WM 在 64 块 H100 上 15 天完成预训练单卡即可生成 60 秒 720p 片段。在原始双向bidirectional管线全序列 Stage-1 sink-bidirectional refiner基础上本仓库还新增了流式streaming管线chunk-causal 蒸馏 Stage-1 chunk-causal refiner causal-VAE 解码器在三条 CUDA stream 上重叠执行并渐进写入 MP4生成过程中即可实时观看成片。两套管线对应不同的权重仓库详见HF 仓库布局一节。二、环境搭建bash ./environment_setup.sh sana conda activate sana其中environment_setup.sh位于仓库根目录。若计划使用 fp8/fp4 量化推理该脚本默认会安装 NVIDIA Transformer Engine≥ 2.0若以SANA_SKIP_TE1跳过则量化命令会在启动时提示安装方式详见量化推理一节。三、双向推理bidirectional pipeline双向推理入口为 inference_video_scripts/wm/inference_sana_wm.py。Stage-1 / Stage-2 权重、VAE 与 LTX-2 Gemma 文本编码器均在首次使用时自动从Efficient-Large-Model/SANA-WM_bidirectional拉取无需手动下载脚本内HF_REPO/HF_DEFAULTS常量即默认的hf://路径见 inference_sana_wm.py。输出帧尺寸固定为704 × 1280输入图像按宽高比保形缩放后再中心裁剪到该分辨率。3.1 示例一图像 提示词 动作字符串python inference_video_scripts/wm/inference_sana_wm.py \ --image path/to/first_frame.png \ --prompt asset/sana_wm/demo_0.txt \ --action w-100,dw-60,w-100,aw-60 \ --num_frames 321 \ --output_dir results/sana_wm_demo说明仓库的 asset/sana_wm/ 目录当前直接提供的是提示词文件demo_{0..4}.txt以及配套的_pose.npy相机轨迹与_intrinsics.npy内参首帧图像需要自行准备一张任意比例的真实照片/渲染图脚本会自动裁到 704×1280。Action DSL 语法每个片段为keys-frames片段间用逗号连接。控制方案为按键语义w/s前进 / 后退沿朝向平移a/d偏航左转 / 右转i/k俯仰上 / 下j/l左 / 右平移strafenone-N保持位姿 N 帧按住按键时运动带有轻微惯性新按下瞬时生效松开后缓慢滑停默认速度较温和--translation_speed 0.025、--rotation_speed_deg 0.6。⚠️ 破坏性变更提示与首个公开版本相比--action按键映射已重映射使 demo 与 CLI 共用同一套控制方案a/d现在表示偏航此前是平移j/l现在表示平移此前是偏航w/s前进/后退与i/k俯仰保持不变旧的 a/d→转向耦合已被移除。同时运动做了平滑处理默认速度更温和。如果你持有早期版本生成的动作字符串请交换a/d↔j/l以复现相同运动CLI 在使用--action时也会打印一次该提示。该映射在源码 inference_video_scripts/wm/camera_control.py 中统一定义DSL_KEY_TO_CONTROLCLI 的动作字符串解析与交互式 demo 共用同一套「位姿数学 速度模型」二者永远不会漂移。3.2 示例二图像 提示词 相机轨迹.npypython inference_video_scripts/wm/inference_sana_wm.py \ --image path/to/first_frame.png \ --prompt asset/sana_wm/demo_0.txt \ --camera asset/sana_wm/demo_0_pose.npy \ --intrinsics asset/sana_wm/demo_0_intrinsics.npy \ --num_frames 321 \ --output_dir results/sana_wm_demo--cameraNumPy.npy形状(F, 4, 4)为相机到世界camera-to-world矩阵序列。--intrinsics.npy形状可为(3, 3)、(F, 3, 3)或(4,) (fx, fy, cx, cy)单位为输入图像像素load_intrinsics也接受(F, 4)并对逐帧内参做时间截断/重采样以匹配num_frames。若省略--intrinsics脚本用Pi3X从输入图像估计内参并在结果 FOV 超出[25°, 120°]时中止源码中MIN_FOV_DEG 25.0、MAX_FOV_DEG 120.0见 inference_sana_wm.py。官方提醒内参估计误差会传播到生成的几何中手头有准确内参时请务必传入。--camera与--action是互斥的二者都指定时脚本会报错。此外--camera位姿会在送入模型前被相对化到第 0 帧prepare_camera中用首帧逆矩阵把后续位姿变换到首帧坐标系保证生成的相机运动始终从初始视角出发。3.3 动作 DSL 底层实现--action字符串并非直接被模型消费而是经 action_string_to_c2w 展开为(N1, 4, 4)的相机轨迹_parse_action_string把w-100,dw-60,...解析为逐帧按键列表也兼容全角逗号片段内允许组合键如dwnone表示无按键非法按键会给出明确报错允许键集为wasdijkl。每帧按键映射为规范控制 tokencontrols_to_target_velocity乘上平移/旋转速度得到目标速度。smoothTrue默认时套用与实时 demo 相同的指数速度模型新按键按下瞬间snap_to目标速度松开后以TAU_COAST 1.0的时间常数缓停按下时TAU_PRESS 0.45运动自然柔滑而非突变。CameraPoseIntegrator逐帧积分位姿旋转为rot_y(yaw) R rot_x(pitch)平移约束在水平面y0沿投影前向/右向进行俯仰角在±60°DEFAULT_PITCH_LIMIT_DEG内饱和。坐标约定为 OpenCV 系X 右、Y 下、Z 前。3.4 示例库发布版在 asset/sana_wm/ 下提供了 5 组「首帧 提示词 相机」示例demo_{0..4}每组含提示词文件、展开后的_pose.npy轨迹与_intrinsics.npy内参。上述命令中把demo_0换成任意编号即可双向与流式脚本均适用。这些动作设计上都是温和的——缓慢前向漂移加轻微的左右环视示例场景--actiondemo_0盐漠 / 黑色超跑w-100,dw-60,w-100,aw-60demo_1生物发光洞穴w-35,aw-60,dw-100,aw-55,w-25,none-50demo_2蘑菇森林 / 机器人w-25,aw-60,dw-100,aw-55,none-85--translation_speed 0.015demo_3盐滩 / 超跑w-70,none-40,dw-35,w-70,aw-35,none-72demo_4冰原 / 传送门w-95,aw-35,w-70,dw-35,none-87_pose.npy已经烘焙了这些动作含demo_2的较慢速度因此--camera asset/sana_wm/demo_N_pose.npy与对应的--action字符串复现完全相同的运动。3.5 80 场景基准与低显存模式80 场景基准固定的 80 场景、60 秒 SANA-WM 基准发布及可复现的双向推理/评测流程参见 SANA-WM benchmark guide。低显存VRAM 吃紧时可开启懒加载 CPU 卸载... --offload_vae --offload_refiner--offload_vae在编码/解码步骤之间把 VAE 移到 CPU--offload_refiner仅在需要时懒加载 LTX-2 refiner、用后释放。两者都只影响模型驻留位置不影响生成质量。四、流式推理streaming pipeline流式管线把三个全序列阶段全部替换为 chunk-causal 变体Stage-1 使用 4 步蒸馏学生CFG 已烘焙进权重推理时cfg_scale1refiner 以滑动 KV 窗口做 chunk-causal ARcausal LTX-2 VAE 逐 chunk 解码。三个阶段在独立 CUDA stream 上重叠执行每解码一个 AR block 就立刻追加进渐进式 MP4——生成过程中即可实时观看。入口为 inference_video_scripts/wm/inference_sana_wm_streaming.py。与双向路径一样所有流式权重DiT、causal VAE、refiner、Gemma 文本编码器首次使用时自动从Efficient-Large-Model/SANA-WM_streaming拉取无需手动下载推理 YAML 直接内置在仓库 configs/sana_wm/sana_wm_streaming_1600m_720p.yaml。直接运行python inference_video_scripts/wm/inference_sana_wm_streaming.py \ --image path/to/first_frame.png \ --prompt asset/sana_wm/demo_0.txt \ --action w-80,dw-40,w-80,aw-40 \ --num_frames 241 \ --output_dir results/sana_wm_streaming4.1 帧数对齐与性能--num_frames默认241≈15 秒 16fps。它会自动吸附到8·refiner_block_size·k 1使 VAE 与 refiner 的 chunk 划分恰好整除241 24·101 无需吸附源码_snap_num_frames以8 * args.refiner_block_size为步长对齐见 inference_sana_wm_streaming.py。需要更长片段时可用更大的值如 961 ≈ 60 秒。输出落在results/sana_wm_streaming/name_streaming.mp4文件原地增长推理进行中即可观看。官方测量单卡 H100 上经一次性torch.compile预热后可达约 0.93× 实时冷启动约 3 分钟热缓存约 30 秒同一 shape 的多次运行会复用预热结果。4.2 内置的极致性能配置脚本默认即是最快配置无 slow/fast 开关torch.compile作用于refiner transformermax-autotune-no-cudagraphs模式可通过环境变量SANA_WM_TORCH_COMPILE_MODE覆盖仅启用 flash SDPA 等快速后端、Inductorcoordinate_descent_tuningepilogue_fusion、cuDNN benchmark、可扩展 CUDA 分配器expandable_segmentscausal VAE 解码器刻意不做torch.compile编译会破坏其跨 chunk 的因果缓存——chunk 0 解码正常但后续 chunk 输出空白/灰色帧因此它始终以 eager 模式运行源码中即使通过SANA_WM_TORCH_COMPILE_TARGETSvae请求编译也会被忽略并告警。4.3 高级覆盖参数--streaming_root path可选的本地权重包目录内含sana_dit/、ltx2_causal_vae/、refiner_diffusers/、gemma3_12b/。默认未设置此时各组件从hf://Efficient-Large-Model/SANA-WM_streaming拉取。--config/--model_path/--causal_vae_path/--refiner_root/--refiner_gemma_root分别指向非默认权重路径本地路径或hf://URI。--config默认为仓库内置的configs/sana_wm/sana_wm_streaming_1600m_720p.yaml设置--streaming_root时则回落到该目录内的同名 YAML。--num_frame_per_block默认 3必须与检查点的chunk_size一致、--denoising_step_list默认1000,960,889,727,0蒸馏学生的 4 步时间表必须以 0 结尾、--refiner_block_size3、--refiner_kv_max_frames11滑动 KV 窗口 sink 历史 活跃帧窗口过小如 2 会在每个 chunk 边界出现闪烁。修改这些标准配方参数需要自担画质风险。五、量化推理fp8 / fp4把 47GB 模型塞进 32GB 显存流式管线支持按组件的低精度计算Stage-1 DiT 与 LTX-2 refiner 可独立设置python inference_video_scripts/wm/inference_sana_wm_streaming.py \ --image path/to/first_frame.png \ --prompt asset/sana_wm/demo_0.txt \ --action w-80,dw-40,w-80,aw-40 \ --num_frames 241 \ --stage1_precision fp4 \ --refiner_precision fp4 \ --output_dir results/sana_wm_streaming--stage1_precision/--refiner_precision各取三档bf16默认任意 GPU、fp8FP8 W8A8Hopper和Blackwell、fp4NVFP4 W4A4仅 Blackwellsm_100/sm_120。量化只触及线性 GEMMself-attn、cross-attn、FFN且按 transformer block 作用域隔离保证相机/动作条件计算保持在原生精度动作跟随不受影响。源码实现上Stage-1 的 NVFP4 默认启用 RHT随机 Hadamard 变换与随机舍入以保留低幅度的相机控制残差可通过SANA_WM_STAGE1_NVFP4_RHT/SANA_WM_STAGE1_NVFP4_STOCHASTIC环境变量关闭inference_sana_wm.py。依赖fp8/fp4 需要 NVIDIA Transformer Engine ≥ 2.0environment_setup.sh默认安装若以SANA_SKIP_TE1跳过脚本会直接退出并给出pip install --no-build-isolation transformer_engine[pytorch]的安装提示。bf16 无需任何额外依赖。fp4 额外要求 Blackwell GPUGB200、B200、RTX 50 系列。量化本质上是显存优化在如此小的 chunk 尺寸下 GEMM 是延迟受限的bf16 已接近计算上限低精度主要换取 VRAM 余量GB200 上还有适度提速。稳态吞吐与峰值显存仅 SANA-WM 各阶段不含一次性 Pi3X 内参估计与首 chunk 的torch.compile预热默认--refiner_kv_max_frames 11stage-1 / refiner峰值显存H100×实时GB200×实时bf16 / bf1647.3 GB1.09×1.27×fp8 / fp835.4 GB~1.00×估计值1.16×fp4 / fp429.4 GB—仅 Blackwell1.16×可跑在 32GB RTX 5090 上--stage1_precision fp4 --refiner_precision fp4峰值仅 29.4 GBbf16 默认需 47 GB。fp4 要求 Blackwell而 5090 正是表格中 ×实时 数据在 GB200/B200 上测得。收紧 KV 窗口--refiner_kv_max_frames 2可进一步降显存并提速但有画质代价更多时间闪烁/漂移不建议用于最终渲染stage-1 / refiner峰值显存H100×实时GB200×实时bf16 / bf1637.4 GB1.26×1.57×fp8 / fp825.4 GB—1.32×fp4 / fp425.0 GB—1.25×精度选择建议追求画质用 bf16任意 GPUHopperH100用户想降显存且无 Blackwell 要求用 fp8Blackwell 用户用 fp4——这是唯一能把 47GB 的 bf16 模型放进 32GB 显卡的设置。三种精度可以混用如--stage1_precision bf16 --refiner_precision fp8。注意量化并不改变 AR Stage-1 主干固有的长卷动漂移特性——超长片段无论何种精度都会缓慢失去场景一致性。这是自回归教师模型的固有属性与量化无关。六、Chunk-Causal Stage-1 Teacher 推理Chunk-causal Stage-1 teacher 是中间研究检查点只有 Stage-1 Sana DiT 是 chunk-causal推理默认仍走双向 LTX-2 VAE refiner 路径。它主要供用户复现 CP/FSDP2 的 Stage-1 训练路径、实验未来的 chunk-causal 模型。它可能比完整的双向/流式发布出现更严重的伪影、时间闪烁或较弱的相机跟随定性采样请保留默认 refiner--no_refiner仅用于快速 Stage-1 调试。公开配置设置了scheduler.vis_sampler: chunk_flow_euler因此 CLI 默认的--sampling_algo auto会自动选择正确的采样器python inference_video_scripts/wm/inference_sana_wm.py \ --config hf://Efficient-Large-Model/SANA-WM_chunk_causal/config.yaml \ --model_path hf://Efficient-Large-Model/SANA-WM_chunk_causal/dit/sana_wm_chunk_causal_1600m_720p.safetensors \ --image path/to/first_frame.png \ --prompt asset/sana_wm/demo_0.txt \ --action w-240,dw-120,w-120,aw-180,w-300 \ --num_frames 961 \ --offload_refiner \ --output_dir results/sana_wm_chunk_causal--offload_refiner只改变模型驻留方式除非显式传--no_refiner双向 refiner 仍会运行。chunk_flow_euler默认取interval_k 1 / num_chunks仅在消融实验时用--chunk_interval_k覆盖。七、Stage-1 Teacher 训练Sekai-Game 数据仓库提供了双向与 chunk-causal 两套 Stage-1 teacher 训练配方共享同一份 Sekai-Game 数据、优化器与 CP2/FSDP2 设置。双向配方使用视频级ti2v目标带概率性干净首帧条件chunk-causal 配方使用逐帧df训练 分块时间步采样训练脚本train_video_scripts/train_sana_wm_stage1.py双向配置configs/sana_wm/stage1/sana_wm_stage1_sekai_bidirectional_cp2_fsdp2.yamlchunk-causal 配置configs/sana_wm/stage1/sana_wm_stage1_sekai_chunk_causal_cp2_fsdp2.yaml隐变量数据集加载器diffusion/data/datasets/video/sana_wm_zip_latent_data.pychunk-causal CP2/FSDP2 冒烟测试tests/bash/training/test_training_sana_wm_stage1.sh示例可直接从公开 HF 数据集Efficient-Large-Model/SANA-WM-example-training-dataset运行约 235 GB。各配置在主 rank 上下载数据集、等待所有 rank 就绪并从已发布的 Stage-1 teacher 检查点继续训练# 双向 teacher torchrun --nproc_per_node8 --master_port29500 \ train_video_scripts/train_sana_wm_stage1.py \ --config_path configs/sana_wm/stage1/sana_wm_stage1_sekai_bidirectional_cp2_fsdp2.yaml # Chunk-causal teacher torchrun --nproc_per_node8 --master_port29500 \ train_video_scripts/train_sana_wm_stage1.py \ --config_path configs/sana_wm/stage1/sana_wm_stage1_sekai_chunk_causal_cp2_fsdp2.yaml数据集布局使配置中的路径解析为data: hf_dataset_repo: Efficient-Large-Model/SANA-WM-example-training-dataset hf_dataset_revision: 4d965e94b9ea11b9c5ba085251ffa7a0345e006f hf_dataset_local_dir: . data_dir: sekai_game: data/sekai_game_train_961frames_16fps_ovl640 vae_cache_dir: data/vae_cache/LTX2VAE_diffusers_704x1280/sekai_game_train_961frames_16fps_ovl640 task: ti2v model: # 双向 load_from: hf://Efficient-Large-Model/SANA-WM_bidirectional/dit/sana_wm_1600m_720p.safetensors attn_type: BidirectionalGDNTriton camctrl_type: BidirectionalGDNUCPESinglePathLiteLABothTriton ffn_type: GLUMBConvTemp train: use_fsdp: true fsdp_version: 2 cp_size: 2 ltx_image_condition_prob: 0.9chunk-causal 配方额外启用逐帧扩散及其分块时间步混合task: df model: load_from: hf://Efficient-Large-Model/SANA-WM_chunk_causal/dit/sana_wm_chunk_causal_1600m_720p.safetensors attn_type: ChunkCausalGDNTriton camctrl_type: ChunkCausalGDNUCPESinglePathLiteLABothTriton ffn_type: ChunkGLUMBConvTemp chunk_size: 3 train: chunk_sampling_strategy: incremental chunk_mixture_probs: same_t: 0.1 incremental: 0.4 last_chunk_anchor: 0.4 teacher_forcing_clean: 0.1chunk_mixture_probs定义了分块时间步采样的四种混合策略同时间步same_t0.1、增量incremental0.4、末块锚定last_chunk_anchor0.4、干净块教师强制teacher_forcing_clean0.1。若不想把数据集放在仓库检出目录下可把data.hf_dataset_local_dir指向共享文件系统路径下载后相对路径的data_dir/vae_cache_dir会在该目录下解析。几点重要约束该 Sekai 派生数据集仅限非商业研究用途训练或再分发前请阅读数据集卡、LICENSE与NOTICE.md。公开 Stage-1 配方与已发布模型、121 帧隐变量形状、CP2 及混合 GDN/softmax 设置一致chunk-causal 变体使用三帧 chunk双向变体在全序列上做注意力。两套配方故意只用可再分发的 Sekai 相机控制数据内部训练课程还混合了独立的纯视频与无相机数据源因此精确复现权重需要原始数据混合。八、ODE 与 Self-Forcing 蒸馏蒸馏实现位于 diffusion/longsana/trainer/sana_wm_distill.py由 train_video_scripts/train_longsana.py 通过trainer: wm_ode或trainer: wm_self_forcing选择。三份公开配置对应 T43 ODE、T43 self-forcing 预热与 T121 self-forcing/DMD 阶段使用发布的数据与检查点# T43 ODE 回归FSDP2无 CP。先设置 data_path。 torchrun --nproc_per_node8 \ train_video_scripts/train_longsana.py \ --config_path configs/sana_wm/distill/ode_t43.yaml \ --disable-wandb # T43 self-forcing 预热8 卡CP4 / DP2。 torchrun --nproc_per_node8 \ train_video_scripts/train_longsana.py \ --config_path configs/sana_wm/distill/self_forcing_t43.yaml \ --disable-wandb # T121 self-forcing DMD8 卡CP4 / DP2。 torchrun --nproc_per_node8 \ train_video_scripts/train_longsana.py \ --config_path configs/sana_wm/distill/self_forcing_t121.yaml \ --disable-wandb从配置可读出完整训练配方configs/sana_wm/distill/ode_t43.yamltrainer: wm_ode从 chunk-causal teacher 检查点出发做 ODE 回归denoising_step_list: [1000, 967, 908, 764, 0]num_latent_frames: 43AdamWlr 2e-5、weight_decay 0.01max_steps: 3000self-forcing 课程正是从 ODE 的 step-3000 检查点起步。self_forcing_t43.yamltrainer: wm_self_forcing生成器从 ODE 蒸馏输出加载real/fake 两个 score 模型都从公开双向 teacher 初始化generator_update_interval: 5、real_guidance_scale: 3.0、生成器 lr1e-5、critic lr2e-6betas[0.0, 0.999]并带一段默认的负提示词防扭曲伪影。数据侧走SanaWMZipLatentDataset配 Qwen3-VL 长场景静态字幕与 vmafmotion/unimatch/dover 等质量过滤。self_forcing_t121.yaml同一套生成器/critic 扩展到 T121121 帧隐变量的 self-forcing DMD 阶段。CI 冒烟测试 tests/bash/training/test_training_sana_wm_distill.sh 按同样三阶段进行但使用确定性的合成轨迹/隐变量夹具每阶段跑一步优化器并把保存的 ODE 检查点传入 T43再把保存的生成器/critic 检查点传入 T121 的 sink 滑动缓存阶段。九、参数参考Argument Reference参数格式 / 默认值--image首帧 RGB 图像。保形缩放 中心裁剪至 704×1280。--promptUTF-8 文本文件内容为条件提示词。--camera(F, 4, 4).npy相机到世界矩阵。与--action互斥。--action控制 DSLw/s移动、a/d偏航、i/k俯仰、j/l平移。经action_string_to_c2w带平滑展开为(F1, 4, 4)轨迹。--translation_speed每帧平移幅度默认0.025。--rotation_speed_deg每帧旋转幅度度默认0.6。--intrinsics可选.npy形状(3, 3)、(F, 3, 3)或(4,)。省略时用 Pi3X 估计。--num_frames生成总帧数默认161流式 demo 用241chunk-causal Stage-1 teacher 示例用961。--fps输出 mp4 帧率默认16。--stepStage-1 DiT 采样步数默认60。--cfg_scale无分类器引导强度默认5.0。--flow_shift覆盖调度器的inference_flow_shift。--no_refinerLTX-2 refiner 默认启用此标志跳过它用 Sana VAE 解码 Stage-1 隐变量用于快速、低质量调试。--refiner_rootLTX-2 refiner 根目录内含transformer/与connectors/。--no_action_overlay跳过输出视频上的 WASD 摇杆叠加层。--offload_vae在编码/解码步骤之间把 VAE 移到 CPU。--offload_refiner仅在需要时懒加载 LTX-2 refiner用后释放。--stage1_precision仅流式。Stage-1 DiT 计算精度bf16默认、fp8Hopper/Blackwell、fp4仅 Blackwell。fp8/fp4 需要 Transformer Engine。--refiner_precision仅流式。LTX-2 refiner 计算精度bf16默认、fp8、fp4。见上文量化小节。--sampling_algoauto默认。chunk-causal teacher 配置用chunk_flow_euler其余用flow_euler_ltx。流式请用专用脚本wm/inference_sana_wm_streaming.py。--chunk_interval_k可选chunk_flow_euler间隔覆盖。默认1 / num_chunks。十、HF 仓库布局Efficient-Large-Model/SANA-WM_bidirectional双向发布组件路径大小Sana DiTStage 1dit/sana_wm_1600m_720p.safetensors10 GBLTX-2 VAEdiffusersvae/2 GBLTX-2 refinerStage 2refiner/{transformer,connectors}/38 GBrefiner 的 Gemma 文本编码器refiner/text_encoder/46 GB推理配置config.yaml—Efficient-Large-Model/SANA-WM_streaming流式变体组件路径Chunk-causal Sana DiT蒸馏sana_dit/model.ptCausal LTX-2 VAEltx2_causal_vae/Chunk-causal LTX-2 refinerrefiner_diffusers/{transformer,connectors}/Gemma-3-12B 文本编码器refinergemma3_12b/Efficient-Large-Model/SANA-WM_chunk_causalStage-1 teacher组件路径Chunk-causal Sana DiTStage 1dit/sana_wm_chunk_causal_1600m_720p.safetensors推理配置config.yamlchunk-causal teacher 仓库刻意只包含Stage-1 配置与 DiT 权重CLI 默认从双向仓库解析 VAE、LTX-2 refiner 与 refiner 文本编码器避免重复存放大体积不可变构件。Sana 文本编码器gemma-2-2b-it则单独从Efficient-Large-Model/gemma-2-2b-it拉取。十一、扩展阅读与引用仓库内相关文档docs/sana_wm.md本文同源文档、docs/sana-wm-bench.md80 场景基准。推理脚本inference_video_scripts/wm/inference_sana_wm.py、inference_video_scripts/wm/inference_sana_wm_streaming.py、inference_video_scripts/wm/camera_control.py。训练脚本与配置train_video_scripts/train_sana_wm_stage1.py、train_video_scripts/train_longsana.py、configs/sana_wm/、diffusion/longsana/trainer/sana_wm_distill.py。数据加载diffusion/data/datasets/video/sana_wm_zip_latent_data.py测试tests/bash/training/test_training_sana_wm_stage1.sh、tests/bash/training/test_training_sana_wm_distill.sh。学术引用BibTeXarticle{zhu2026sana, title{Sana-wm: Efficient minute-scale world modeling with hybrid linear diffusion transformer}, author{Zhu, Haoyi and Liu, Haozhe and Zhao, Yuyang and Ye, Tian and Chen, Junsong and Yu, Jincheng and He, Tong and Han, Song and Xie, Enze}, journal{arXiv preprint arXiv:2605.15178}, year{2026} }【免费下载链接】SanaSANA: Efficient High-Resolution Image Synthesis with Linear Diffusion Transformer项目地址: https://gitcode.com/GitHub_Trending/sana/Sana创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表