🤗 Huggingface Space または 🤖 ModelScope Space で CogVideoX-5B モデルをオンラインで体験してください
📍 清影 と APIプラットフォーム を訪問して、より大規模な商用ビデオ生成モデルを体験
- 🔥🔥 ニュース:
2024/8/29
:pipe.enable_sequential_cpu_offload()
とpipe.vae.enable_slicing()
をCogVideoX-5Bの推論コードに追加することで、VRAM使用量を5GB
まで削減できます。更新されたcli_demoをご覧ください。 - 🔥ニュース:
2024/8/27
: CogVideoX-2B モデルのオープンソースライセンスが Apache 2.0 ライセンス に変更されました。 - 🔥ニュース:
2024/8/27
: CogVideoX シリーズのより大きなモデル CogVideoX-5B をオープンソース化しました。 モデルの推論性能を大幅に最適化し、推論のハードルを大幅に下げました。GTX 1080TI
などの旧型GPUで CogVideoX-2B を、RTX 3060
などのミドル - 🔥ニュース:
2024/8/20
: VEnhancer は CogVideoX が生成したビデオの強化をサポートしました。より高い解像度とより高品質なビデオレンダリングを実現します。チュートリアル に従って、ぜひお試しください。 - 🔥ニュース: 2024/8/15: CogVideoX の依存関係である
SwissArmyTransformer
の依存が0.4.12
にアップグレードされました。これにより、微調整の際にSwissArmyTransformer
をソースコードからインストールする必要がなくなりました。同時に、Tied VAE
技術がdiffusers
ライブラリの実装に適用されました。diffusers
とaccelerate
ライブラリをソースコードからインストールしてください。CogVdideoX の推論には 12GB の VRAM だけが必要です。 推論コードの修正が必要です。cli_demoをご確認ください。 - 🔥 ニュース:
2024/8/12
: CogVideoX 論文がarxivにアップロードされました。ぜひ論文をご覧ください。 - 🔥 ニュース:
2024/8/7
: CogVideoX はdiffusers
バージョン 0.30.0 に統合されました。単一の 3090 GPU で推論を実行できます。詳細については コード を参照してください。 - 🔥 ニュース:
2024/8/6
: CogVideoX-2B で使用される 3D Causal VAE もオープンソース化しました。これにより、ビデオをほぼ無損失で再構築できます。 - 🔥 ニュース:
2024/8/6
: CogVideoX-2B、CogVideoXシリーズのビデオ生成モデルの最初のモデルをオープンソース化しました。 - 🌱 ソース:
2022/5/19
: CogVideo (現在CogVideo
ブランチで確認できます) をオープンソース化しました。これは、最初のオープンソースの事前学習済みテキストからビデオ生成モデルであり、技術的な詳細については ICLR'23 CogVideo 論文 をご覧ください。
より強力なモデルが、より大きなパラメータサイズで登場予定です。お楽しみに!
特定のセクションにジャンプ:
モデルを実行する前に、こちら を参考にして、GLM-4(または同等の製品、例えばGPT-4)の大規模モデルを使用してどのようにモデルを最適化するかをご確認ください。これは非常に重要です。モデルは長いプロンプトでトレーニングされているため、良いプロンプトがビデオ生成の品質に直接影響を与えます。
sat_demo の指示に従ってください: SATウェイトの推論コードと微調整コードが含まれています。CogVideoXモデル構造に基づいて改善することをお勧めします。革新的な研究者は、このコードを使用して迅速なスタッキングと開発を行うことができます。
pip install -r requirements.txt
次に diffusers_demo を参照してください: 推論コードの詳細な説明が含まれており、一般的なパラメータの意味についても言及しています。
5b_1.mp4 |
5b_2.mp4 |
5b_3.mp4 |
5b_4.mp4 |
5b_5.mp4 |
5b_6.mp4 |
5b_7.mp4 |
5b_8.mp4 |
1.mp4 |
2.mp4 |
3.mp4 |
4.mp4 |
ギャラリーの対応するプロンプトワードを表示するには、こちらをクリックしてください
CogVideoXは清影 同源のオープンソース版動画生成モデルです。 以下の表は、提供されている動画生成モデルに関する基本情報を示しています。
モデル名 | CogVideoX-2B | CogVideoX-5B |
---|---|---|
モデル紹介 | 入門モデルで、互換性を重視。運用および二次開発のコストが低い。 | 動画生成品質が高く、視覚効果がより優れた大型モデル。 |
推論精度 | FP16*(推奨), BF16, FP32, FP8*(E4M3, E5M2), INT8, INT4は非対応 | BF16(推奨), FP16, FP32, FP8*(E4M3, E5M2), INT8, INT4は非対応 |
シングルGPU VRAM消費量 |
SAT FP16: 18GB diffusers FP16: 4GBから* diffusers INT8(torchao): 3.6GBから* |
SAT BF16: 26GB diffusers BF16: 5GBから* diffusers INT8(torchao): 4.4GBから* |
複数GPUの推論メモリ消費量 | FP16: 10GB* using diffusers | BF16: 15GB* using diffusers |
推論速度 (Step = 50) |
FP16: ~90* s | BF16: ~180* s |
微調整精度 | FP16 | BF16 |
微調整時のメモリ消費量 (1GPUあたり) | 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 * 480、他の解像度はサポートされていません(微調整も含む) | |
位置エンコード | 3d_sincos_pos_embed | 3d_rope_pos_embed |
ダウンロードリンク (Diffusers) | 🤗 HuggingFace 🤖 ModelScope 🟣 WiseModel |
🤗 HuggingFace 🤖 ModelScope 🟣 WiseModel |
ダウンロードリンク (SAT) | SAT |
データ解説
diffusers
ライブラリを使用してテストする際、diffusers
ライブラリに付属するすべての最適化を有効にしました。このソリューションは、 NVIDIA A100 / H100 以外のデバイスでの実際のVRAM/メモリ使用量についてはテストされていません。一般的に、このソリューションは NVIDIA Ampereアーキテクチャ 以上のすべてのデバイスに適応できます。最適化を無効にすると、VRAM使用量が大幅に増加し、表の約3倍のピークVRAMを使用しますが、速度は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モデルを使用すると推論速度が低下します。これは、ビデオ品質の損失を最小限に抑えながら、VRAMが少ないGPUでも正常に推論できるようにするためですが、推論速度は大幅に低下します。
- 2Bモデルは
FP16
精度でトレーニングされ、5BモデルはBF16
精度でトレーニングされています。推論には、モデルがトレーニングされた精度を使用することをお勧めします。 - PytorchAO および Optimum-quanto
は、CogVideoXのメモリ要件を削減するためにテキストエンコーダー、トランスフォーマー、およびVAEモジュールを量子化するために使用できます。これにより、無料のT4
ColabまたはVRAMが少ないGPUでモデルを実行できるようになります。また、TorchAO量子化は
torch.compile
と完全に互換性があり、推論速度を大幅に向上させることができます。NVIDIA H100
以上のデバイスではFP8
精度を使用する必要があり、これにはtorch
、torchao
、diffusers
、およびaccelerate
Python パッケージをソースからインストールする必要があります。CUDA 12.4
が推奨されます。
推論速度テストでも、上記のVRAM最適化スキームを使用しました。VRAMの最適化を行わない場合、推論速度は約10%向上します。量子化をサポートするのは diffusers
バージョンのモデルのみです。
- モデルは英語入力のみをサポートしており、他の言語は大規模なモデルでのリファイン時に英語に翻訳できます。
コミュニティからの貢献を大歓迎し、私たちもオープンソースコミュニティに積極的に貢献しています。以下の作品はすでにCogVideoXに対応しており、ぜひご利用ください:
- Xorbits Inference: 強力で包括的な分散推論フレームワークであり、ワンクリックで独自のモデルや最新のオープンソースモデルを簡単にデプロイできます。
- VideoSys: VideoSysは、使いやすく高性能なビデオ生成インフラを提供し、最新のモデルや技術を継続的に統合しています。
- AutoDLイメージ: コミュニティメンバーが提供するHuggingface Spaceイメージのワンクリックデプロイメント。
- Colab Space ColabでJupyter Notebookを使用してCogVideoX-5Bモデルを実行します。
このオープンソースリポジトリは、CogVideoX オープンソースモデルの基本的な使用方法と微調整の例を迅速に開始するためのガイドです。
- cli_demo: 推論コードの詳細な説明が含まれており、一般的なパラメータの意味についても言及しています。
- cli_demo_quantization: 量子化モデル推論コードで、低メモリのデバイスでも実行可能です。また、このコードを変更して、FP8 精度の CogVideoX モデルの実行をサポートすることもできます。
- diffusers_vae_demo: VAE推論コードの実行には現在71GBのメモリが必要ですが、将来的には最適化される予定です。
- space demo: Huggingface Spaceと同じGUIコードで、フレーム補間や超解像ツールが組み込まれています。
- convert_demo: ユーザー入力をCogVideoXに適した形式に変換する方法。CogVideoXは長いキャプションでトレーニングされているため、入力テキストをLLMを使用してトレーニング分布と一致させる必要があります。デフォルトではGLM-4を使用しますが、GPT、Geminiなどの他のLLMに置き換えることもできます。
- gradio_web_demo: CogVideoX-2B / 5B モデルを使用して動画を生成する方法を示す、シンプルな Gradio Web UI デモです。私たちの Huggingface Space と同様に、このスクリプトを使用して Web デモを起動することができます。
cd inference
# For Linux and Windows users
python gradio_web_demo.py
# For macOS with Apple Silicon users, Intel not supported, this maybe 20x slower than RTX 4090
PYTORCH_ENABLE_MPS_FALLBACK=1 python gradio_web_demo.py
- sat_demo: SATウェイトの推論コードと微調整コードが含まれています。CogVideoXモデル構造に基づいて改善することをお勧めします。革新的な研究者は、このコードを使用して迅速なスタッキングと開発を行うことができます。
このフォルダには、モデル変換/キャプション生成などのツールが含まれています。
- convert_weight_sat2hf: SATモデルのウェイトをHuggingfaceモデルのウェイトに変換します。
- caption_demo: キャプションツール、ビデオを理解し、テキストで出力するモデル。
論文の公式リポジトリ: CogVideo: Large-scale Pretraining for Text-to-Video Generation via Transformers は CogVideo branch にあります。
CogVideoは比較的高フレームレートのビデオを生成することができます。 32フレームの4秒間のクリップが以下に示されています。
cogvideo.mp4
CogVideoのデモは https://models.aminer.cn/cogvideo で体験できます。 元の入力は中国語です。
🌟 私たちの仕事が役立つと思われた場合、ぜひスターを付けていただき、論文を引用してください。
@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}
}
@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 モデル推論例 (CLI / Web デモ)
- CogVideoX オンライン体験例 (Huggingface Space)
- CogVideoX オープンソースモデルAPIインターフェース例 (Huggingface)
- CogVideoX モデル微調整例 (SAT)
- CogVideoX モデル微調整例 (Huggingface Diffusers)
- CogVideoX-5B オープンソース化 (CogVideoX-2B スイートに適応)
- CogVideoX 技術報告公開
- CogVideoX 技術解説ビデオ
- CogVideoX 周辺ツール
- 基本的なビデオ超解像 / フレーム補間スイート
- 推論フレームワーク適応
- ComfyUI 完全エコシステムツール
あなたの貢献をお待ちしています!詳細はこちらをクリックしてください。
このリポジトリのコードは Apache 2.0 License の下で公開されています。
CogVideoX-2B モデル (対応するTransformersモジュールやVAEモジュールを含む) は Apache 2.0 License の下で公開されています。
CogVideoX-5B モデル (Transformersモジュール) は CogVideoX LICENSE の下で公開されています。