CogVideoX是 清影 同源的开源版本视频生成模型。下表展示目前我们提供的视频生成模型列表,以及相关基础信息。
| 模型名 | CogVideoX-2B (本仓库) | CogVideoX-5B |
|---|---|---|
| 模型介绍 | 入门级模型,兼顾兼容性。运行、二次开发成本低。 | 视频生成质量更高、视觉效果更好的更大尺寸模型。 |
| 推理精度 | FP16*(推荐), BF16, FP32,FP8*,INT8,不支持INT4 | BF16(推荐), FP16, FP32,FP8*,INT8,不支持INT4 |
| 单GPU显存消耗 | SAT FP16: 18GB diffusers FP16: 4GB起* diffusers INT8(torchao): 3.6G起* | SAT BF16: 26GB diffusers BF16 : 5GB起* diffusers INT8(torchao): 4.4G起* |
| 多GPU推理显存消耗 | FP16: 10GB* using diffusers | BF16: 15GB* using diffusers |
| 推理速度 (Step = 50, FP/BF16) | 单卡A100: ~90秒 单卡H100: ~45秒 | 单卡A100: ~180秒 单卡H100: ~90秒 |
| 微调精度 | FP16 | BF16 |
| 微调显存消耗(每卡) | 47 GB (bs=1, LORA) 61 GB (bs=2, LORA) 62GB (bs=1, SFT) | 63 GB (bs=1, LORA) 80 GB (bs=2, LORA) 75GB (bs=1, SFT) |
| 提示词语言 | English* | |
| 提示词长度上限 | 226 Tokens | |
| 视频长度 | 6 秒 | |
| 帧率 | 8 帧 / 秒 | |
| 视频分辨率 | 720 * 480,不支持其他分辨率(含微调) | |
| 位置编码 | 3d_sincos_pos_embed | 3d_rope_pos_embed |
数据解释
diffusers库自带的优化,该方案未测试在非NVIDIA A100 / H100 外的设备上的实际显存 / 内存占用。通常,该方案可以适配于所有 NVIDIA 安培架构
以上的设备。若关闭优化,显存占用会成倍增加,峰值显存约为表格的3倍,但速度提升3-4倍左右。你可以选择性地关闭部分优化,这些优化包括:pipe.enable_model_cpu_offload()
pipe.enable_sequential_cpu_offload()
pipe.vae.enable_slicing()
pipe.vae.enable_tiling()enable_model_cpu_offload() 优化。FP16 精度训练,5B 模型采用 BF16 精度训练。我们建议使用模型训练时的精度进行推理。torch.compile 完全兼容,这能显著提升推理速度。在 NVIDIA H100 及以上设备上必须使用 FP8 精度,这需要从源码安装 torch、torchao、diffusers 和 accelerate Python 包。建议使用 CUDA 12.4。diffusers 版本模型支持量化。提醒
本模型已支持使用 diffusers 库进行部署,您可以按照以下步骤进行部署。
我们推荐您访问我们的 github 并查看相关的提示词优化和转换方法,以获得更好的体验。
# diffusers>=0.30.1
# transformers>=0.44.0
# accelerate>=0.33.0 (suggest install from source)
# imageio-ffmpeg>=0.5.1
pip install --upgrade transformers accelerate diffusers imageio-ffmpeg import torch
import torch_npu
from torch_npu.contrib import transfer_to_npu
from diffusers import CogVideoXPipeline
from diffusers.utils import export_to_video
from openmind_hub import snapshot_download
model_dir = snapshot_download("AI-Research/CogVideoX-5B")
prompt = "A panda, dressed in a small, red jacket and a tiny hat, sits on a wooden stool in a serene bamboo forest. The panda's fluffy paws strum a miniature acoustic guitar, producing soft, melodic tunes. Nearby, a few other pandas gather, watching curiously and some clapping in rhythm. Sunlight filters through the tall bamboo, casting a gentle glow on the scene. The panda's face is expressive, showing concentration and joy as it plays. The background includes a small, flowing stream and vibrant green foliage, enhancing the peaceful and magical atmosphere of this unique musical performance."
pipe = CogVideoXPipeline.from_pretrained(
model_dir,
torch_dtype=torch.float16
)
pipe.enable_model_cpu_offload()
pipe.enable_sequential_cpu_offload()
pipe.vae.enable_slicing()
pipe.vae.enable_tiling()
video = pipe(
prompt=prompt,
num_videos_per_prompt=1,
num_inference_steps=50,
num_frames=49,
guidance_scale=6,
generator=torch.Generator(device="npu").manual_seed(42),
).frames[0]
export_to_video(video, "output.mp4", fps=8)欢迎进入我们的 github,你将获得:
该模型根据 CogVideoX LICENSE 许可证发布。
@article{yang2024cogvideox,
title={CogVideoX: Text-to-Video Diffusion Models with An Expert Transformer},
author={Yang, Zhuoyi and Teng, Jiayan and Zheng, Wendi and Ding, Ming and Huang, Shiyu and Xu, Jiazheng and Yang, Yuanming and Hong, Wenyi and Zhang, Xiaohan and Feng, Guanyu and others},
journal={arXiv preprint arXiv:2408.06072},
year={2024}
}