CogVideoX是源自清影的视频生成模型的开源版本,2B版本为入门级模型,平衡兼容性,运行和二次开发成本低。
下载量 22
发布时间 : 9/9/2024
模型介绍
内容详情
替代品
模型简介
CogVideoX是一个文本生成视频的扩散模型,能够根据文本描述生成6秒、8fps、720x480分辨率的视频。
模型特点
低显存需求
支持多种量化方式,最低可在3.6GB显存的GPU上运行
多精度支持
支持FP16、BF16、FP32、FP8、INT8等多种推理精度
优化推理
通过diffusers库提供多种显存优化方案,适应不同硬件环境
模型能力
文本到视频生成
视频内容创作
创意内容生成
使用案例
创意内容创作
动画短片制作
根据文本描述生成创意动画短片
可生成6秒、8fps的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 Ampere架构及以上设备。若禁用优化,显存使用将显著增加,峰值显存约为表中显示的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: 基于专家Transformer的文本到视频扩散模型},
author={杨卓毅、滕佳言、郑文迪、丁铭、黄诗雨、徐嘉政、杨远明、洪文怡、张晓涵、冯冠宇等},
journal={arXiv预印本 arXiv:2408.06072},
year={2024}
}
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应用开发。
简体中文