CogVideo 和 CogVideoX
🤗 体验 CogVideoX Huggingface Space
📚 点击这里查看 论文
📍 访问 清影 和 API 平台 体验大规模商用视频生成模型.
更新和新闻
- 🔥🔥 新闻:
2024/8/12
: CogVideoX 论文已上传到 arxiv。欢迎查看 论文。 - 🔥 新闻:
2024/8/7
: CogVideoX 已集成到diffusers
版本 0.30.0 中。现在可以在单个 3090 GPU 上执行推断。详细信息请参阅 代码。 - 🔥 新闻:
2024/8/6
: 我们也开源了 3D Causal VAE,它在 CogVideoX-2B 中使用,几乎可以无损地重建视频。 - 🔥 新闻:
2024/8/6
: 我们开源了 CogVideoX-2B,这是 CogVideoX 系列视频生成模型中的第一个模型。 - 🌱 源代码:
2022/5/19
: 我们开源了 CogVideo(现在可以在CogVideo
分支中看到),这是第一个开源的预训练文本到视频模型,你可以参考 ICLR'23 CogVideo 论文 获取技术细节。
更强大的、更大参数量的模型正在路上~敬请期待!
目录
跳转到特定部分:
快速开始
提示优化
在运行模型之前,请参考 此指南 了解我们如何使用大模型(如 GLM-4 或其他类似产品,如 GPT-4)来优化模型。这非常重要,因为模型是用长提示进行训练的,一个好的提示直接影响视频生成的质量。
SAT
请确保您的 Python 版本在 3.10 到 3.12 之间,包括 3.10 和 3.12。
按照 sat_demo 中的说明操作:包含 SAT 权重的推断代码和微调代码。建议基于 CogVideoX 模型结构进行改进。创新研究人员使用此代码来更好地进行快速堆叠和开发。 (推断需要 18 GB,微调需要 40GB)
Diffusers
请确保您的 Python 版本在 3.10 到 3.12 之间,包括 3.10 和 3.12。
pip install -r requirements.txt
然后按照 diffusers_demo 中的说明操作:更详细地解释了推断代码,提到了常见参数的重要性。 (推断需要 24GB,微调代码正在开发中)
CogVideoX-2B 视频作品
一艘详细木制玩具船,刻有复杂的桅杆和帆,平稳地滑过模仿海浪的柔软蓝色地毯。船的船体涂成丰富的棕色,有小窗户。柔软有质感的地毯提供了一个完美的背景,仿佛是广阔的海洋。船周围有各种其他玩具和儿童物品,暗示出一个充满玩乐的环境。这个场景捕捉了童年的纯真和想象力,玩具船的旅程象征着在奇妙的室内环境中无尽的冒险。
镜头跟随一辆带有黑色车顶行李架的白色复古 SUV,它加速行驶在陡峭的尘土飞扬的山路上,两旁是松树,尘土从轮胎喷出,阳光照在车上,给场景带来温暖的光芒。土路温和地向远处弯曲,没有其他车辆。道路两侧的树木是红杉,间或点缀着绿色植物。从后面看,这辆车轻松地跟随着弯道,仿佛在穿越崎岖地形。尘土飞扬的道路被陡峭的山坡围绕,天空晴朗,飘着丝丝云彩。
一位街头艺术家,身穿破旧的牛仔夹克,戴着色彩鲜艳的头巾,站在心脏地带的一面巨大混凝土墙前,手持喷漆罐,在斑驳的墙上喷涂彩色鸟儿。
在一个被战争摧毁的城市的阴郁背景下,被废墟和倒塌的墙壁讲述着破坏的故事,一个痛苦的特写镜头定格了一个年轻女孩。她的脸被灰烬弄脏,默默地见证了周围的混乱。她的眼睛闪烁着悲伤和坚韧的混合情绪,捕捉到了失去纯真世界的原始情感。
模型介绍
CogVideoX 是视频生成模型的开源版本,与 清影 同源。
下表显示了我们目前提供的视频生成模型列表,以及相关的基本信息:
模型名称 | CogVideoX-2B |
---|---|
提示语言 | 英语 |
单 GPU 推断 (FP16) | 使用 SAT 需 18GB 使用 diffusers 需 23.9GB |
多 GPU 推断 (FP16) | 使用 diffusers 最低需 20GB |
微调时 GPU 内存需求 (bs=1) | 40GB |
提示最大长度 | 226 Tokens |
视频长度 | 6 秒 |
每秒帧数 | 8 帧 |
分辨率 | 720 * 480 |
量化推断 | 不支持 |
下载链接 (HF diffusers 模型) | 🤗 Huggingface 🤖 ModelScope 💫 WiseModel |
下载链接 (SAT 模型) | SAT |
友好链接
我们高度欢迎社区的贡献,并积极为开源社区做贡献。以下工作已经适配了 CogVideoX,邀请大家使用:
- Xorbits Inference:一个强大而全面的分布式推理框架,允许您轻松地一键部署自己的模型或最新的前沿开源模型。
项目结构
这个开源库将指导开发人员快速入门 CogVideoX 开源模型的基本使用和微调示例。
推理
- diffusers_demo:推理代码的更详细解释,提到常见参数的重要性。
- diffusers_vae_demo:单独执行VAE推理代码目前需要71GB的内存,但未来会优化。
- convert_demo:如何将用户输入转换为适合CogVideoX的格式。因为CogVideoX在长标题文本上进行训练,所以我们需要使用LLM将输入文本转换为符合训练分布的格式。默认情况下,脚本使用GLM4,但也可以替换为任何其他LLM,如GPT,Gemini等。
- gradio_web_demo:一个简单的gradio网页版UI,演示如何使用CogVideoX-2B模型生成视频。同样如我们的Huggingface Space,您可以使用此脚本启动一个网络演示。
cd inference
# 对于Linux和Windows用户(以及带有Intel的macOS用户??)
python gradio_web_demo.py # humans模式
# 对于使用Apple Silicon的macOS用户,不支持Intel,这可能比RTX 4090慢20倍
PYTORCH_ENABLE_MPS_FALLBACK=1 python gradio_web_demo.py # humans模式
- streamlit_web_demo:一个简单的streamlit网络应用,演示如何使用CogVideoX-2B模型生成视频。
sat
- sat_demo:包含SAT权重的推理代码和微调代码。推荐基于CogVideoX模型结构进行改进。创新研究人员使用此代码更好地进行快速叠加和开发。
工具
此文件夹包含一些模型转换/标题生成等工具。
- convert_weight_sat2hf:将SAT模型权重转换为Huggingface模型权重。
- caption_demo:字幕工具,一个理解视频并将其输出为文本的模型。
CogVideo(ICLR'23)
该论文的官方仓库:CogVideo:通过变压器进行大规模文本到视频生成的预训练 位于CogVideo分支
CogVideo能够生成相对高帧率的视频。 下面展示的是一个4秒32帧的片段。
CogVideo的演示在https://models.aminer.cn/cogvideo,您可以在上面亲自体验文本到视频的生成。原始输入为中文。
引用
🌟 如果您觉得我们的工作有用,请给我们一个星星并引用我们的论文。
@misc{yang2024cogvideoxtexttovideodiffusionmodels,
title={CogVideoX: Text-to-Video Diffusion Models with An Expert Transformer},
author={Zhuoyi Yang and Jiayan Teng and Wendi Zheng and Ming Ding and Shiyu Huang and Jiazheng Xu and Yuanming Yang and Wenyi Hong and Xiaohan Zhang and Guanyu Feng and Da Yin and Xiaotao Gu and Yuxuan Zhang and Weihan Wang and Yean Cheng and Ting Liu and Bin Xu and Yuxiao Dong and Jie Tang},
year={2024},
eprint={2408.06072},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2408.06072},
}
@article{hong2022cogvideo,
title={CogVideo: Large-scale Pretraining for Text-to-Video Generation via Transformers},
author={Hong, Wenyi and Ding, Ming and Zheng, Wendi and Liu, Xinghan and Tang, Jie},
journal={arXiv preprint arXiv:2205.15868},
year={2022}
}
开源项目计划
- 开源CogVideoX模型
- 开源CogVideoX中使用的3D因果VAE。
- CogVideoX模型推理示例(CLI / Web Demo)
- CogVideoX在线体验演示(Huggingface Space)
- CogVideoX开源模型API接口示例(Huggingface)
- CogVideoX模型微调示例(SAT)
- CogVideoX模型微调示例(Huggingface / SAT)
- 开源CogVideoX-Pro(适用于CogVideoX-2B套件)
- 发布CogVideoX技术报告
我们欢迎您的贡献。点击这里了解更多信息。
模型许可证
本仓库中的代码按照Apache 2.0许可证发布。
模型权重和实现代码按照CogVideoX许可证发布。