CogVideoX-5b / README_zh.md
zR
test
99eaacc
|
raw
history blame
7 kB
# CogVideoX-5B
<p style="text-align: center;">
<div align="center">
<img src=https://github.com/THUDM/CogVideo/raw/main/resources/logo.svg width="50%"/>
</div>
<p align="center">
<a href="https://huggingface.co/THUDM/CogVideoX-5b/blob/main/README.md">📄 Read in English</a> |
<a href="https://huggingface.co/spaces/THUDM/CogVideoX-5B">🤗 Huggingface Space</a> |
<a href="https://github.com/THUDM/CogVideo">🌐 Github </a> |
<a href="https://arxiv.org/pdf/2408.06072">📜 arxiv </a>
</p>
## 作品案例
## 模型介绍
CogVideoX是 [清影](https://chatglm.cn/video) 同源的开源版本视频生成模型。下表展示目前我们提供的视频生成模型列表,以及相关基础信息。
<table style="border-collapse: collapse; width: 100%;">
<tr>
<th style="text-align: center;">模型名</th>
<th style="text-align: center;">CogVideoX-2B</th>
<th style="text-align: center;">CogVideoX-5B (当前仓库)</th>
</tr>
<tr>
<td style="text-align: center;">模型介绍</td>
<td style="text-align: center;">入门级模型,兼顾兼容性。运行,二次开发成本低。</td>
<td style="text-align: center;">视频生成质量更高,视觉效果更好的更大尺寸模型。</td>
</tr>
<tr>
<td style="text-align: center;">推理精度</td>
<td style="text-align: center;">FP16, FP32<br><b>不支持 BF16</b> </td>
<td style="text-align: center;">BF16, FP32<br><b>不支持 FP16</b> </td>
</tr>
<tr>
<td style="text-align: center;">推理速度<br>(Step = 50)</td>
<td style="text-align: center;">FP16: ~90* s</td>
<td style="text-align: center;">BF16: ~200* s</td>
</tr>
<tr>
<td style="text-align: center;">单GPU显存消耗<br></td>
<td style="text-align: center;">18GB using <a href="https://github.com/THUDM/SwissArmyTransformer">SAT</a><br><b>12GB* using diffusers</b><br></td>
<td style="text-align: center;">26GB using <a href="https://github.com/THUDM/SwissArmyTransformer">SAT</a><br><b>21GB* using diffusers</b><br></td>
</tr>
<tr>
<td style="text-align: center;">多GPU推理显存消耗</td>
<td style="text-align: center;"><b>10GB* using diffusers</b><br></td>
<td style="text-align: center;"><b>15GB* using diffusers</b><br></td>
</tr>
<tr>
<td style="text-align: center;">微调显存消耗(每卡)</td>
<td style="text-align: center;">47 GB (bs=1, LORA)<br> 61 GB (bs=2, LORA)<br> 62GB (bs=1, SFT)</td>
<td style="text-align: center;">63 GB (bs=1, LORA)<br> 80 GB (bs=2, LORA)<br> 75GB (bs=1, SFT)<br></td>
</tr>
<tr>
<td style="text-align: center;">提示词语言</td>
<td colspan="2" style="text-align: center;">English*</td>
</tr>
<tr>
<td style="text-align: center;">提示词长度上限</td>
<td colspan="2" style="text-align: center;">226 Tokens</td>
</tr>
<tr>
<td style="text-align: center;">视频长度</td>
<td colspan="2" style="text-align: center;">6 秒</td>
</tr>
<tr>
<td style="text-align: center;">帧率</td>
<td colspan="2" style="text-align: center;">8 帧 / 秒 </td>
</tr>
<tr>
<td style="text-align: center;">视频分辨率</td>
<td colspan="2" style="text-align: center;">720 * 480,不支持其他分辨率(含微调)</td>
</tr>
<tr>
<td style="text-align: center;">位置编码</td>
<td style="text-align: center;">3d_sincos_pos_embed</td>
<td style="text-align: center;">3d_rope_pos_embed<br></td>
</tr>
</table>
**数据解释**
+ 使用 diffusers 库进行测试时,启用了 `enable_model_cpu_offload()` 选项 和 `pipe.vae.enable_tiling()` 优化,该方案未测试在非
**NVIDIA A100 / H100** 外的实际显存占用,通常,该方案可以适配于所有 **NVIDIA 安培架构**
以上的设备。若关闭优化,显存占用会成倍增加,峰值显存约为表格的3倍。
+ 多GPU推理时,需要关闭 `enable_model_cpu_offload()` 优化。
+ 推理速度测试同样采用了上述显存优化方案,不采用显存优化的情况下,推理速度提升约10%。
+ 模型仅支持英语输入,其他语言可以通过大模型润色时翻译为英语。
**提醒**
+ 使用 [SAT](https://github.com/THUDM/SwissArmyTransformer) 推理和微调SAT版本模型。欢迎前往我们的github查看。
## 快速上手 🤗
本模型已经支持使用 huggingface 的 diffusers 库进行部署,你可以按照以下步骤进行部署。
**我们推荐您进入我们的 [github](https://github.com/THUDM/CogVideo) 并查看相关的提示词优化和转换,以获得更好的体验。**
1. 安装对应的依赖
```shell
pip install --upgrade opencv-python transformers accelerate diffusers
```
2. 运行代码
```python
import gc
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()
gc.collect()
torch.cuda.empty_cache()
torch.cuda.reset_accumulated_memory_stats()
torch.cuda.reset_peak_memory_stats()
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)
```
如果您生成的模型在 MAC 默认播放器上表现为 "全绿" 无法正常观看,属于正常现象 (OpenCV保存视频问题),仅需更换一个播放器观看。
## 深入研究
欢迎进入我们的 [github](https://github.com/THUDM/CogVideo),你将获得:
1. 更加详细的技术细节介绍和代码解释。
2. 提示词的优化和转换。
3. SAT版本模型进行推理和微调,甚至预发布。
4. 项目更新日志动态,更多互动机会。
5. CogVideoX 工具链,帮助您更好的使用模型。
## 模型协议
该模型根据 [CogVideoX LICENSE](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}
}
```