Cogvideox 5b
模型简介
CogVideoX-5B是一个更大的视频生成模型,能够根据文本描述生成高质量的视频内容,视觉效果优于较小的2B版本。
模型特点
高质量视频生成
能够根据文本提示生成高质量的视频内容,视觉效果出色
多精度支持
支持BF16、FP16、FP32、FP8和INT8等多种推理精度
高效推理
在H100 GPU上约90秒可完成50步的视频生成
多GPU支持
支持多GPU推理,最低显存需求15GB
模型能力
文本到视频生成
视频内容创作
创意视觉表达
使用案例
创意内容制作
短视频创作
根据文本描述自动生成创意短视频
生成6秒、720x480分辨率的视频
教育内容
为教育材料生成可视化内容
娱乐产业
概念视频预览
快速生成电影或游戏的概念视频
🚀 CogVideoX-5B
CogVideoX-5B是一个开源的视频生成模型,源自清影。它能根据文本描述生成高质量的视频,具有出色的视觉效果。
🚀 快速开始
本模型支持使用huggingface diffusers库进行部署,你可以按照以下步骤进行部署。
建议你访问我们的GitHub,查看相关的提示词优化和转换方法,以获得更好的体验。
- 安装所需依赖
# diffusers>=0.30.1
# transformers>=4.44.2
# accelerate>=0.33.0 (建议从源码安装)
# imageio-ffmpeg>=0.5.1
pip install --upgrade transformers accelerate diffusers imageio-ffmpeg
- 运行代码
import torch
from diffusers import CogVideoXPipeline
from diffusers.utils import export_to_video
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(
"THUDM/CogVideoX-5b",
torch_dtype=torch.bfloat16
)
pipe.enable_model_cpu_offload()
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="cuda").manual_seed(42),
).frames[0]
export_to_video(video, "output.mp4", fps=8)
✨ 主要特性
模型介绍
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.6GB起 |
SAT BF16:26GB diffusers BF16:从5GB起 diffusers INT8(torchao):从4.4GB起 |
多GPU推理显存消耗 | 使用diffusers的FP16:10GB* | 使用diffusers的BF16:15GB* |
推理速度 (步数 = 50,FP/BF16) |
单A100:~90秒 单H100:~45秒 |
单A100:~180秒 单H100:~90秒 |
微调精度 | FP16 | BF16 |
微调显存消耗(每GPU) | 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) |
提示词语言 | 英语* | 英语* |
提示词长度限制 | 226个标记 | 226个标记 |
视频长度 | 6秒 | 6秒 |
帧率 | 每秒8帧 | 每秒8帧 |
视频分辨率 | 720 x 480,不支持其他分辨率(包括微调) | 720 x 480,不支持其他分辨率(包括微调) |
位置编码 | 3d_sincos_pos_embed | 3d_rope_pos_embed |
数据说明
- 使用
diffusers
库进行测试时,启用了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()
- 进行多GPU推理时,需要禁用
enable_model_cpu_offload()
优化。 - 使用INT8模型会降低推理速度。这是为了确保显存较低的GPU能够正常进行推理,同时保持最小的视频质量损失,不过推理速度会显著下降。
- 2B模型使用
FP16
精度进行训练,5B模型使用BF16
精度进行训练。建议使用模型训练时的精度进行推理。 - PytorchAO和Optimum - quanto可用于对文本编码器、Transformer和VAE模块进行量化,以降低CogVideoX的内存需求。这使得在免费的T4 Colab或显存较小的GPU上运行模型成为可能!值得注意的是,TorchAO量化与
torch.compile
完全兼容,可显著提高推理速度。FP8
精度必须在NVIDIA H100
或更高版本的设备上使用,这需要从源码安装torch
、torchao
、diffusers
和accelerate
Python包。建议使用CUDA 12.4
。 - 推理速度测试也使用了上述显存优化方案。如果不进行显存优化,推理速度大约提高10%。只有
diffusers
版本的模型支持量化。 - 模型仅支持英文输入;其他语言可以在细化过程中通过大模型翻译成英文。
注意事项
- 使用SAT对SAT版本的模型进行推理和微调。欢迎访问我们的GitHub获取更多信息。
💻 使用示例
基础用法
import torch
from diffusers import CogVideoXPipeline
from diffusers.utils import export_to_video
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(
"THUDM/CogVideoX-5b",
torch_dtype=torch.bfloat16
)
pipe.enable_model_cpu_offload()
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="cuda").manual_seed(42),
).frames[0]
export_to_video(video, "output.mp4", fps=8)
高级用法
# 使用PytorchAO和Optimum - quanto进行量化推理
# 首先,需要从GitHub源码安装PytorchAO和PyTorch Nightly。
# 从源码和Nightly版本安装仅在下次发布前需要。
import torch
from diffusers import AutoencoderKLCogVideoX, CogVideoXTransformer3DModel, CogVideoXPipeline
from diffusers.utils import export_to_video
from transformers import T5EncoderModel
from torchao.quantization import quantize_, int8_weight_only, int8_dynamic_activation_int8_weight
quantization = int8_weight_only
text_encoder = T5EncoderModel.from_pretrained("THUDM/CogVideoX-5b", subfolder="text_encoder", torch_dtype=torch.bfloat16)
quantize_(text_encoder, quantization())
transformer = CogVideoXTransformer3DModel.from_pretrained("THUDM/CogVideoX-5b", subfolder="transformer", torch_dtype=torch.bfloat16)
quantize_(transformer, quantization())
vae = AutoencoderKLCogVideoX.from_pretrained("THUDM/CogVideoX-5b", subfolder="vae", torch_dtype=torch.bfloat16)
quantize_(vae, quantization())
# 创建管道并运行推理
pipe = CogVideoXPipeline.from_pretrained(
"THUDM/CogVideoX-5b",
text_encoder=text_encoder,
transformer=transformer,
vae=vae,
torch_dtype=torch.bfloat16,
)
pipe.enable_model_cpu_offload()
pipe.vae.enable_tiling()
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."
video = pipe(
prompt=prompt,
num_videos_per_prompt=1,
num_inference_steps=50,
num_frames=49,
guidance_scale=6,
generator=torch.Generator(device="cuda").manual_seed(42),
).frames[0]
export_to_video(video, "output.mp4", fps=8)
此外,使用PytorchAO时,可以将模型序列化并存储为量化数据类型,以节省磁盘空间。可在以下链接找到示例和基准测试:
📚 详细文档
欢迎访问我们的github,你可以在那里找到:
- 更详细的技术细节和代码解释。
- 提示词的优化和转换方法。
- SAT版本模型的推理和微调,甚至预发布内容。
- 项目更新日志动态,更多互动机会。
- CogVideoX工具链,帮助你更好地使用模型。
- INT8模型推理代码支持。
📄 许可证
本模型根据CogVideoX许可证发布。
📜 引用
@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}
}
🔍 演示展示
📄 中文阅读 | 🤗 Huggingface Space | 🌐 Github | 📜 arxiv
花园里,五彩斑斓的蝴蝶在花丛中翩翩起舞,它们轻盈的翅膀在花瓣上投下阴影。远处,一座宏伟的喷泉潺潺流淌,其有节奏的声音营造出舒缓的氛围。在一棵大树的阴凉下,一把孤零零的木椅静静伫立,邀请人们在此独处和沉思,它光滑的表面因无数寻求宁静的访客的触摸而变得陈旧。
一个小男孩低着头,脸上写满了坚定,在倾盆大雨中奋力奔跑,远处电闪雷鸣。无情的雨水猛烈地敲击着地面,溅起的水滴如同天空愤怒的舞蹈。在远方,一座温馨的房屋的轮廓若隐若现,像一盏微弱的明灯,在恶劣的天气中召唤着安全与温暖。这一场景展现了一个孩子在逆境中不屈不挠的精神。
在火星粉红色的天空下,一位身着宇航服的宇航员伸出手,与一个皮肤闪烁着蓝色光芒的外星生物握手,火星的红色尘埃附着在宇航员的靴子上。远处,一艘银色的火箭高耸入云,它是人类智慧的象征,发动机已经关闭。两个来自不同世界的代表在这片荒凉而美丽的火星景观中进行了历史性的问候。
一位神情安详的老人坐在水边,身旁放着一杯热气腾腾的茶。他手持画笔,专注地在画布上创作一幅油画,画布靠在一张破旧的小桌子上。海风轻轻拂过他的银发,吹动着他宽松的白色衬衫,咸咸的空气为他正在创作的杰作增添了一份独特的韵味。夕阳的余晖洒在平静的海面上,画布捕捉到了这 vibrant 的色彩,整个场景充满了宁静与灵感。
在一家昏暗的酒吧里,紫色的灯光洒在一位成熟男人的脸上,他若有所思地眨着眼睛,特写镜头聚焦在他的沉思表情上,背景巧妙地虚化,营造出一种神秘的氛围。
一只金色的寻回犬戴着时尚的黑色太阳镜,长长的毛发在微风中飘动,欢快地在刚刚被小雨洗礼过的屋顶露台上奔跑。从远处看,它充满活力的跳跃越来越近,尾巴兴奋地摇摆着,身后的混凝土上闪烁着水滴。阴沉的天空为这只金色的狗狗提供了一个戏剧性的背景,凸显出它 vibrant 的金色毛发。
在一个阳光明媚的日子里,湖岸边排列着一排柳树,它们细长的枝条在微风中轻轻摇曳。平静的湖面倒映着湛蓝的天空,几只优雅的天鹅在水中缓缓游动,留下一道道细腻的涟漪,打破了湖面如镜的平静。这一场景宁静而美丽,柳树的绿色枝叶为这些和平的鸟类访客勾勒出一幅如画的框架。
一位中国母亲穿着柔和的 pastel 色长袍,在温馨的育儿室里轻轻摇晃着一把舒适的摇椅。昏暗的卧室里,天花板上悬挂着可爱的风铃,投下的阴影在墙壁上舞动。她的宝宝裹在一条精致的图案毛毯里,靠在她的胸前,之前的哭声已被满足的咕咕声所取代,母亲温柔的声音渐渐哄宝宝入睡。空气中弥漫着薰衣草的香气,增添了宁静的氛围,附近夜灯发出的温暖橙色光芒为这一场景披上了一层柔和的色彩,捕捉到了温馨的母爱瞬间。
Xclip Base Patch32
MIT
X-CLIP是CLIP的扩展版本,用于通用视频语言理解,通过对比学习在(视频,文本)对上训练,适用于视频分类和视频-文本检索等任务。
文本生成视频
Transformers 英语

X
microsoft
309.80k
84
LTX Video
其他
首个基于DiT的视频生成模型,能够实时生成高质量视频,支持文本转视频和图像+文本转视频两种场景。
文本生成视频 英语
L
Lightricks
165.42k
1,174
Wan2.1 14B VACE GGUF
Apache-2.0
Wan2.1-VACE-14B模型的GGUF格式版本,主要用于文本到视频的生成任务。
文本生成视频
W
QuantStack
146.36k
139
Animatediff Lightning
Openrail
极速文本生成视频模型,生成速度比原版AnimateDiff快十倍以上
文本生成视频
A
ByteDance
144.00k
925
V Express
V-Express是一个基于音频和面部关键点条件生成的视频生成模型,能够将音频输入转换为动态视频输出。
文本生成视频 英语
V
tk93
118.36k
85
Cogvideox 5b
其他
CogVideoX是源自清影的视频生成模型的开源版本,提供高质量的视频生成能力。
文本生成视频 英语
C
THUDM
92.32k
611
Llava NeXT Video 7B Hf
LLaVA-NeXT-Video是一个开源多模态聊天机器人,通过视频和图像数据混合训练获得优秀的视频理解能力,在VideoMME基准上达到开源模型SOTA水平。
文本生成视频
Transformers 英语

L
llava-hf
65.95k
88
Wan2.1 T2V 14B Diffusers
Apache-2.0
万2.1是一套全面开放的视频基础模型,旨在突破视频生成的边界,支持中英文文本生成视频、图像生成视频等多种任务。
文本生成视频 支持多种语言
W
Wan-AI
48.65k
24
Wan2.1 T2V 1.3B Diffusers
Apache-2.0
万2.1是一套全面开放的视频基础模型,具备顶尖性能、支持消费级GPU、多任务支持、视觉文本生成和高效视频VAE等特点。
文本生成视频 支持多种语言
W
Wan-AI
45.29k
38
Wan2.1 T2V 14B
Apache-2.0
万2.1是一套综合性开源视频基础模型,具备文本生成视频、图像生成视频、视频编辑、文本生成图像及视频生成音频等多任务能力,支持中英双语文本生成。
文本生成视频 支持多种语言
W
Wan-AI
44.88k
1,238
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98