CogVideoX是源自清影的开源视频生成模型,2B版本是入门级模型,平衡兼容性,运行和二次开发成本低。
下载量 40.55k
发布时间 : 8/5/2024
模型介绍
内容详情
替代品
模型简介
CogVideoX是一个文本生成视频的模型,能够根据文本描述生成6秒的视频内容。
模型特点
低资源需求
入门级模型设计,适合在资源有限的设备上运行
高质量视频生成
能够生成6秒、720x480分辨率的视频,帧率为8fps
多精度支持
支持FP16、BF16、FP32、FP8、INT8等多种推理精度
优化推理
通过diffusers库提供多种优化选项,降低VRAM需求
模型能力
文本到视频生成
视频内容创作
创意内容生成
使用案例
创意内容制作
短视频创作
根据文本描述自动生成短视频内容
生成6秒的创意视频
广告内容生成
快速生成产品展示视频
生成720x480分辨率的广告视频
教育
教学视频生成
根据教学内容自动生成辅助视频
license: apache-2.0 language:
- en tags:
- cogvideox
- 视频生成
- thudm
- 文本转视频 inference: false
CogVideoX-2B
📄 中文阅读 | 🤗 Huggingface Space | 🌐 Github | 📜 arxiv
演示展示
一艘精致的木质玩具船,桅杆和帆雕刻精美,在模仿海浪的蓝色毛绒地毯上平稳滑行。船体涂有浓郁的棕色,带有小窗户。柔软有质感的地毯完美衬托,宛如海洋般广阔。船周围散落着其他玩具和儿童用品,暗示着这是一个充满童趣的环境。场景捕捉了童年的纯真与想象力,玩具船的旅程象征着在这个异想天开的室内环境中无尽的冒险。
镜头跟随一辆带有黑色车顶架的白色复古SUV,在陡峭的山坡松树林间的土路上加速行驶,轮胎扬起尘土,阳光洒在SUV上,为场景投下温暖的光辉。土路在远处缓缓弯曲,视野内没有其他车辆。路两旁是红杉树,点缀着零星的绿色植被。车辆从后方轻松跟随弯道,仿佛正在崎岖地形中越野驾驶。土路周围是陡峭的山丘和山脉,上方是点缀着缕缕白云的湛蓝天空。
一位街头艺术家,身穿破旧的牛仔夹克和彩色头巾,站在城市中心的巨大混凝土墙前,手持喷漆罐,在斑驳的墙面上喷涂一只色彩斑斓的鸟儿。
在饱受战争摧残的城市阴郁背景下,废墟和倒塌的墙壁诉说着毁灭的故事,一个令人心碎的特写镜头聚焦在一个小女孩身上。她脸上沾满灰烬,默默见证着周围的混乱。她眼中闪烁着悲伤与坚韧的混合情感,捕捉了这个因冲突而失去纯真的世界最原始的情绪。
模型介绍
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推理显存消耗 | FP16: 使用diffusers时10GB* | BF16: 使用diffusers时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个标记 | |
视频长度 | 6秒 | |
帧率 | 每秒8帧 | |
视频分辨率 | 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获取更多信息。
快速开始 🤗
本模型支持使用huggingface diffusers库部署。您可按照以下步骤部署。
我们建议您访问我们的GitHub查看相关提示词优化和转换,以获得更好体验。
- 安装所需依赖
# diffusers>=0.30.1
# transformers>=0.44.0
# 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 = "一只穿着小红夹克和小帽子的熊猫,坐在宁静竹林中木凳上。熊猫毛茸茸的爪子拨弄着迷你原声吉他,奏出柔和旋律。附近几只熊猫好奇围观,有的跟着节奏拍掌。阳光透过高大竹子洒下柔和光晕。熊猫表情丰富,演奏时流露出专注与喜悦。背景有小溪流淌和翠绿植被,为这独特音乐表演增添了宁静魔幻氛围。"
pipe = CogVideoXPipeline.from_pretrained(
"THUDM/CogVideoX-2b",
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="cuda").manual_seed(42),
).frames[0]
export_to_video(video, "output.mp4", fps=8)
量化推理
PytorchAO和Optimum-quanto可用于量化文本编码器、Transformer和VAE模块,降低CogVideoX的内存需求。这使得模型可在免费T4 Colab或显存较小的GPU上运行!值得注意的是,TorchAO量化完全兼容torch.compile
,可实现更快的推理速度。
# 开始前需从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-2b", subfolder="vae", torch_dtype=torch.bfloat16)
+ quantize_(vae, quantization())
# 创建管道并运行推理
pipe = CogVideoXPipeline.from_pretrained(
"THUDM/CogVideoX-2b",
+ text_encoder=text_encoder,
+ transformer=transformer,
+ vae=vae,
torch_dtype=torch.bfloat16,
)
pipe.enable_model_cpu_offload()
pipe.vae.enable_tiling()
prompt = "一只穿着小红夹克和小帽子的熊猫,坐在宁静竹林中木凳上。熊猫毛茸茸的爪子拨弄着迷你原声吉他,奏出柔和旋律。附近几只熊猫好奇围观,有的跟着节奏拍掌。阳光透过高大竹子洒下柔和光晕。熊猫表情丰富,演奏时流露出专注与喜悦。背景有小溪流淌和翠绿植被,为这独特音乐表演增添了宁静魔幻氛围。"
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-2B模型(包括其对应的Transformers模块和VAE模块)采用Apache 2.0许可证发布。
CogVideoX-5B模型(Transformers模块)采用CogVideoX许可证发布。
引用
@article{yang2024cogvideox,
title={CogVideoX: Text-to-Video Diffusion Models with An Expert Transformer},
Xclip Base Patch32
MIT
X-CLIP是CLIP的扩展版本,用于通用视频语言理解,通过对比学习在(视频,文本)对上训练,适用于视频分类和视频-文本检索等任务。
文本生成视频
Transformers

英语
X
microsoft
309.80k
84
LTX Video
其他
首个基于DiT的视频生成模型,能够实时生成高质量视频,支持文本转视频和图像+文本转视频两种场景。
文本生成视频
英语
L
Lightricks
165.42k
1,174
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
Wan2.1 T2V 14B Gguf
Apache-2.0
基于GGUF格式转换的文本生成视频模型,支持通过ComfyUI-GGUF自定义节点使用
文本生成视频
W
city96
42.38k
130
精选推荐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
AIbase是一个专注于MCP服务的平台,为AI开发者提供高质量的模型上下文协议服务,助力AI应用开发。
简体中文