CogVideoX is an open-source video generation model similar to
QingYing
.
Below is a table listing information on the video generation models available in this generation:
BF16 (recommended)
, FP16, FP32, FP8*, INT8, not supported INT4
Single GPU Inference Memory Consumption
BF16: 9GB minimum*
Multi-GPU Inference Memory Consumption
BF16: 24GB* using diffusers
Inference Speed
(Step = 50, FP/BF16)
Single A100: ~1000 seconds (5-second video)
Single H100: ~550 seconds (5-second video)
Prompt Language
English*
Max Prompt Length
224 Tokens
Video Length
5 or 10 seconds
Frame Rate
16 frames/second
Data Explanation
Testing with the
diffusers
library enabled all optimizations included in the library. This scheme has not been
tested on non-NVIDIA A100/H100 devices. It should generally work with all NVIDIA Ampere architecture or higher
devices. Disabling optimizations can triple VRAM usage but increase speed by 3-4 times. You can selectively disable
certain optimizations, including:
In multi-GPU inference,
enable_sequential_cpu_offload()
optimization needs to be disabled.
Using an INT8 model reduces inference speed, meeting the requirements of lower VRAM GPUs while retaining minimal video
quality degradation, at the cost of significant speed reduction.
PytorchAO
and
Optimum-quanto
can be
used to quantize the text encoder, Transformer, and VAE modules, reducing CogVideoX’s memory requirements, making it
feasible to run the model on smaller VRAM GPUs. TorchAO quantization is fully compatible with
torch.compile
,
significantly improving inference speed.
FP8
precision is required for NVIDIA H100 and above, which requires source
installation of
torch
,
torchao
,
diffusers
, and
accelerate
. Using
CUDA 12.4
is recommended.
Inference speed testing also used the above VRAM optimizations, and without optimizations, speed increases by about
10%. Only
diffusers
versions of models support quantization.
Models support English input only; other languages should be translated into English during prompt crafting with a
larger model.
Note
Use
SAT
for inference and fine-tuning SAT version models. Check our
GitHub for more details.
Getting Started Quickly 🤗
This model supports deployment using the Hugging Face diffusers library. You can follow the steps below to get started.
We recommend that you visit our
GitHub
to check out prompt optimization and
conversion to get a better experience.
import torch
from diffusers import CogVideoXImageToVideoPipeline
from diffusers.utils import export_to_video, load_image
prompt = "A little girl is riding a bicycle at high speed. Focused, detailed, realistic."
image = load_image(image="input.jpg")
pipe = CogVideoXImageToVideoPipeline.from_pretrained(
"THUDM/CogVideoX1.5-5B-I2V",
torch_dtype=torch.bfloat16
)
pipe.enable_sequential_cpu_offload()
pipe.vae.enable_tiling()
pipe.vae.enable_slicing()
video = pipe(
prompt=prompt,
image=image,
num_videos_per_prompt=1,
num_inference_steps=50,
num_frames=81,
guidance_scale=6,
generator=torch.Generator(device="cuda").manual_seed(42),
).frames[0]
export_to_video(video, "output.mp4", fps=8)
Quantized Inference
PytorchAO
and
Optimum-quanto
can be
used to quantize the text encoder, transformer, and VAE modules to reduce CogVideoX's memory requirements. This allows
the model to run on free T4 Colab or GPUs with lower VRAM! Also, note that TorchAO quantization is fully compatible
with
torch.compile
, which can significantly accelerate inference.
# To get started, PytorchAO needs to be installed from the GitHub source and PyTorch Nightly.# Source and nightly installation is only required until the next release.import torch
from diffusers import AutoencoderKLCogVideoX, CogVideoXTransformer3DModel, CogVideoXImageToVideoPipeline
from diffusers.utils import export_to_video, load_image
from transformers import T5EncoderModel
from torchao.quantization import quantize_, int8_weight_only
quantization = int8_weight_only
text_encoder = T5EncoderModel.from_pretrained("THUDM/CogVideoX1.5-5B-I2V", subfolder="text_encoder",
torch_dtype=torch.bfloat16)
quantize_(text_encoder, quantization())
transformer = CogVideoXTransformer3DModel.from_pretrained("THUDM/CogVideoX1.5-5B-I2V", subfolder="transformer",
torch_dtype=torch.bfloat16)
quantize_(transformer, quantization())
vae = AutoencoderKLCogVideoX.from_pretrained("THUDM/CogVideoX1.5-5B-I2V", subfolder="vae", torch_dtype=torch.bfloat16)
quantize_(vae, quantization())
# Create pipeline and run inference
pipe = CogVideoXImageToVideoPipeline.from_pretrained(
"THUDM/CogVideoX1.5-5B-I2V",
text_encoder=text_encoder,
transformer=transformer,
vae=vae,
torch_dtype=torch.bfloat16,
)
pipe.enable_model_cpu_offload()
pipe.vae.enable_tiling()
pipe.vae.enable_slicing()
prompt = "A little girl is riding a bicycle at high speed. Focused, detailed, realistic."
image = load_image(image="input.jpg")
video = pipe(
prompt=prompt,
image=image,
num_videos_per_prompt=1,
num_inference_steps=50,
num_frames=81,
guidance_scale=6,
generator=torch.Generator(device="cuda").manual_seed(42),
).frames[0]
export_to_video(video, "output.mp4", fps=8)
Additionally, these models can be serialized and stored using PytorchAO in quantized data types to save disk space. You
can find examples and benchmarks at the following links:
@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}
}
Runs of zai-org CogVideoX1.5-5B-I2V on huggingface.co
2.0K
Total runs
20
24-hour runs
153
3-day runs
297
7-day runs
1.4K
30-day runs
More Information About CogVideoX1.5-5B-I2V huggingface.co Model
CogVideoX1.5-5B-I2V huggingface.co is an AI model on huggingface.co that provides CogVideoX1.5-5B-I2V's model effect (), which can be used instantly with this zai-org CogVideoX1.5-5B-I2V model. huggingface.co supports a free trial of the CogVideoX1.5-5B-I2V model, and also provides paid use of the CogVideoX1.5-5B-I2V. Support call CogVideoX1.5-5B-I2V model through api, including Node.js, Python, http.
CogVideoX1.5-5B-I2V huggingface.co is an online trial and call api platform, which integrates CogVideoX1.5-5B-I2V's modeling effects, including api services, and provides a free online trial of CogVideoX1.5-5B-I2V, you can try CogVideoX1.5-5B-I2V online for free by clicking the link below.
zai-org CogVideoX1.5-5B-I2V online free url in huggingface.co:
CogVideoX1.5-5B-I2V is an open source model from GitHub that offers a free installation service, and any user can find CogVideoX1.5-5B-I2V on GitHub to install. At the same time, huggingface.co provides the effect of CogVideoX1.5-5B-I2V install, users can directly use CogVideoX1.5-5B-I2V installed effect in huggingface.co for debugging and trial. It also supports api for free installation.
CogVideoX1.5-5B-I2V install url in huggingface.co: