参考:
Step-Video-T2V是一款由StepFun团队发布的最先进(SoTA)的文本生成视频预训练模型。该模型拥有300(即30B)亿参数,并能生成长达204帧的视频。其核心技术包括深度压缩的视频变分自编码器(Video-VAE)、3D完全注意力机制的DiT架构、中英双语预训练的文本编码器、人类偏好优化(DPO)技术。 该模型在专门设计的视频生成基准测试Step-Video-T2V-Eval上表现卓越,全面超越其他开源和商业引擎。 Step-Video-T2V-Turbo是Step-Video-T2V模型的高效推理版本,通过蒸馏技术进行优化。两个模型在推理时候的配置参数建议为下表。
模型 | 推理步数 | 配置比例 | 时间偏移 | 帧数 |
---|---|---|---|---|
Step-Video-T2V | 30-50 | 9.0 | 13.0 | 204 |
Step-Video-T2V-Turbo(推理步数蒸馏) | 10-15 | 5.0 | 17.0 | 204 |
下图是Step-Video-T2V 的整体模型架构。
下图是带 3D 全注意力机制的 DiT模型架构。 Step-Video-T2V 建立在 DiT 架构之上,该架构有 48 层,每层包含 48 个注意力头,每个注意力头的尺寸设置为 128。利用 AdaLN-Single 来纳入时间步条件,同时引入自注意力机制中的 QK-Norm 来确保训练稳定性。此外,还采用了 3D RoPE,在处理不同视频长度和分辨率的序列时发挥着关键作用。
StepFun团队开发了一套精细的训练系统,要点有:
Step-Vedio-T2V的预训练数据: 包含 20 亿视频-文本对和 38 亿图像-文本对的大规模数据集。通过视频分割、视频质量评估、视频运动评估、视频字幕生成、视频概念平衡和视频-文本对齐等多阶段处理,确保数据高质量和多样性。
与开源模型HunyuanVideo对比 Step-Video-T2V-Eval 是 Step-Video-T2V 论文提出的一个新型基准数据集,旨在评估文本到视频生成模型的性能。它包含了来自真实用户的 128 个中文提示,涵盖了 11 个不同的类别,包括:体育、 美食、 风景、 动物、 节日、 混合概念、 超现实、 人物、 3D 动画、 电影制作、 风格。 下表展示了Step-Video-T2V模型与开源模型HunyuanVideo的综合表现对比。每个单元格代表两个模型在特定指标上的得分。评价维度包括遵循指令、运动流畅度、物理合理性和美学吸引力。表格中以绿色标记的部分表示Step-Video-T2V模型在该指标上优于HunyuanVideo模型的得分。
与Runway Gen-3 Alpha模型对比
在Movie Gen Video Bench上对比 下表中,将Step-Video-T2V与Movie Gen Video和HunyuanVideo进行了比较。与Movie Gen Video相比,Step-Video-T2V表现相当,但由于其预训练的视频数量只有27.3M,不到Movie Gen Video的三分之一,基础训练仍显不足。此外,Movie Gen Video生成的720P视频质量比Step-Video-T2V的540P更高。对比结果显示Step-Video-T2V在多个分类上的表现与其它两者互有胜负,其中在总评、人体和物理学等类别上分别有485-315-489和615-313-361的表现。
单卡体验
魔搭社区开源项目 DiffSynth-Studio(https://github.com/modelscope/DiffSynth-Studio)对 Step-Video-T2V 模型进行了显存管理优化,使其能够在单张 80G 显存的 A100 显卡上进行推理。
以下是一些有用的指令,可以用于安装和运行 DiffSynth-Studio
项目:
docker run:
bashdocker run -it --gpus '"device=7"' --net host -v /data/xiedong:/data/xiedong/ pytorch/pytorch:2.5.0-cuda12.4-cudnn9-devel bash
更新并安装必要的包:
bashapt update && apt install vim git -y
克隆 DiffSynth-Studio
仓库:
bashgit clone https://github.com/modelscope/DiffSynth-Studio.git
cd DiffSynth-Studio
安装Python包:
bashpip install -e .
编辑示例代码(可选,使用vim编辑器):
bashvim examples/stepvideo/stepvideo_text_to_video.py
运行示例代码:
bashpython examples/stepvideo/stepvideo_text_to_video.py
如果遇到库文件依赖问题,可以安装必要的库:
bashapt-get install libgl1-mesa-glx -y apt-get install -y libglib2.0-0 libsm6 libxrender1 libxext6 -y
通过以上指令,可以帮助你安装和运行 DiffSynth-Studio
项目的主要步骤。
运行 Step-Video-T2V 模型:
bashpython examples/stepvideo/stepvideo_text_to_video.py
提示词和帧数等参数可以在样例代码 stepvideo_text_to_video.py
中进行修改。
运行这个:
python# Run!
video = pipe(
prompt="一名宇航员在月球上发现一块石碑,上面印有“stepfun”字样,闪闪发光。超高清、HDR 视频、环境光、杜比全景声、画面稳定、流畅动作、逼真的细节、专业级构图、超现实主义、自然、生动、超细节、清晰。",
negative_prompt="画面暗、低分辨率、不良手、文本、缺少手指、多余的手指、裁剪、低质量、颗粒状、签名、水印、用户名、模糊。",
num_inference_steps=30, cfg_scale=9, num_frames=51, seed=1
)
save_video(
video, "video.mp4", fps=25, quality=5,
ffmpeg_params=["-vf", "atadenoise=0a=0.1:0b=0.1:1a=0.1:1b=0.1"]
)
单卡显存占用:
也可以使用我打包好的镜像:
bashdocker pull kevinchina/deeplearning:2.5.0-cuda12.4-cudnn9-devel-DiffSynth
bashdocker run -it --gpus '"device=7"' --net host -v /data/xiedong:/data/xiedong/ kevinchina/deeplearning:2.5.0-cuda12.4-cudnn9-devel-DiffSynth bash
pip install cpm_kernels
cd /workspace/DiffSynth-Studio
vim examples/stepvideo/stepvideo_text_to_video.py
python examples/stepvideo/stepvideo_text_to_video.py
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!