CogVideo/README_ja.md
2024-08-27 16:05:03 +08:00

21 KiB
Raw Blame History

CogVideo && CogVideoX

Read this in English.

中文阅读

🤗 Huggingface Space または 🤖 ModelScope Space で CogVideoX-5B モデルをオンラインで体験してください

📚 論文 をチェック

👋 WeChatDiscord に参加

📍 清影APIプラットフォーム を訪問して、より大規模な商用ビデオ生成モデルを体験

更新とニュース

  • 🔥🔥 ニュース: 2024/8/27: CogVideoXシリーズのより大きなモデルCogVideoX-5Bをオープンソース化しました。同時に、 CogVideoX-2BApache 2.0 ライセンスに変更されます。モデルの推論性能を大幅に最適化し、推論のハードルを大きく下げました。これにより、 CogVideoX-2BGTX 1080TI などの古いGPUで、CogVideoX-5BRTX 3060 などのデスクトップ向けGPUで実行できます。
  • 🔥ニュース: 2024/8/20: VEnhancer は CogVideoX が生成したビデオの強化をサポートしました。より高い解像度とより高品質なビデオレンダリングを実現します。チュートリアル に従って、ぜひお試しください。
  • 🔥ニュース: 2024/8/15: CogVideoX の依存関係であるSwissArmyTransformerの依存が0.4.12 にアップグレードされました。これにより、微調整の際にSwissArmyTransformer をソースコードからインストールする必要がなくなりました。同時に、Tied VAE 技術が diffusers ライブラリの実装に適用されました。diffusersaccelerate ライブラリをソースコードからインストールしてください。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

sat_demo の指示に従ってください: SATウェイトの推論コードと微調整コードが含まれています。CogVideoXモデル構造に基づいて改善することをお勧めします。革新的な研究者は、このコードを使用して迅速なスタッキングと開発を行うことができます。

Diffusers

pip install -r requirements.txt

次に diffusers_demo を参照してください: 推論コードの詳細な説明が含まれており、一般的なパラメータの意味についても言及しています。

CogVideoX-5B

CogVideoX-2B

ギャラリーの対応するプロンプトワードを表示するには、こちらをクリックしてください

モデル紹介

CogVideoXは 清影 に由来するオープンソース版のビデオ生成モデルです。 以下の表は、提供しているビデオ生成モデルに関する基本情報を示しています。

モデル名 CogVideoX-2B CogVideoX-5B
モデル紹介 入門レベルのモデルで、互換性を重視しています。運用や二次開発のコストが低いです。 より高いビデオ生成品質と優れた視覚効果を提供する大型モデル。
推論精度 FP16*(推奨), BF16, FP32, FP8(E4M3, E5M2), INT8, INT4はサポートされていません BF16(推奨), FP16, FP32, FP8(E4M3, E5M2), INT8, INT4はサポートされていません
単一GPUメモリ消費量
FP16: 18GB using SAT / 12.5GB* using diffusers
INT8: 7.8GB* using diffusers
BF16: 26GB using SAT / 20.7GB* using diffusers
INT8: 11.4GB* using diffusers
マルチGPU推論メモリ消費量 FP16: 10GB* using diffusers
BF16: 15GB* using diffusers
推論速度
(Step = 50)
FP16: ~90* s BF16: ~180* s
微調整精度 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 * 480、他の解像度はサポートされていません微調整を含む
位置エンコーディング 3d_sincos_pos_embed 3d_rope_pos_embed
ダウンロードリンク (Diffusers モデル) 🤗 HuggingFace
🤖 ModelScope
🟣 WiseModel
🤗 HuggingFace
🤖 ModelScope
🟣 WiseModel
ダウンロードリンク (SAT モデル) SAT

データ解説

  • diffusers ライブラリを使用してテストを行った際に、enable_model_cpu_offload() オプションと pipe.vae.enable_tiling() 最適化が有効になっていました。このセットアップは NVIDIA A100 / H100 以外のデバイスでの実際のメモリ/VRAM 使用量についてはテストされていません。通常、このアプローチは NVIDIA Ampere アーキテクチャ 以上のすべてのデバイスに適しています。これらの最適化を無効にすると、メモリ使用量が大幅に増加し、表に示されている値の約3倍になります。
  • マルチGPU推論を行う際には、enable_model_cpu_offload() 最適化を無効にする必要があります。
  • INT8 モデルを使用すると推論速度が低下しますが、これは、メモリの少ないGPUでも正常に推論できるようにし、ビデオ品質の損失を最小限に抑えるためです。推論速度は大幅に低下します。

推論速度テストも上記のメモリ最適化を使用して実施されました。メモリ最適化を使用しない場合、推論速度は約10向上します。量子化をサポートしているのは diffusers バージョンのモデルのみです。

  • モデルは英語入力のみをサポートしており、他の言語は大規模な言語モデルを通じて英語に翻訳することで対応できます。

友好的リンク

コミュニティからの貢献を大歓迎し、私たちもオープンソースコミュニティに積極的に貢献しています。以下の作品はすでにCogVideoXに対応しており、ぜひご利用ください

  • Xorbits Inference: 強力で包括的な分散推論フレームワークであり、ワンクリックで独自のモデルや最新のオープンソースモデルを簡単にデプロイできます。
  • VideoSys: VideoSysは、使いやすく高性能なビデオ生成インフラを提供し、最新のモデルや技術を継続的に統合しています。

プロジェクト構造

このオープンソースリポジトリは、CogVideoX オープンソースモデルの基本的な使用方法と微調整の例を迅速に開始するためのガイドです。

推論

  • cli_demo: 推論コードの詳細な説明が含まれており、一般的なパラメータの意味についても言及しています。
  • cli_demo_quantization: 量子化モデル推論コードで、低メモリのデバイスでも実行可能です。また、このコードを変更して、FP8 精度の CogVideoX モデルの実行をサポートすることもできます。
  • diffusers_vae_demo: VAE推論コードの実行には現在71GBのメモリが必要ですが、将来的には最適化される予定です。
  • space demo: Huggingface Spaceと同じGUIコードで、フレーム補間や超解像ツールが組み込まれています。
  • convert_demo: ユーザー入力をCogVideoXに適した形式に変換する方法。CogVideoXは長いキャプションでトレーニングされているため、入力テキストをLLMを使用してトレーニング分布と一致させる必要があります。デフォルトではGLM4を使用しますが、GPT、Geminiなどの他のLLMに置き換えることもできます。
  • gradio_web_demo: CogVideoX-2B モデルを使用して動画を生成する方法を示す、シンプルな Gradio Web UI デモです。私たちの Huggingface Space と同様に、このスクリプトを使用して Web デモを起動することができます。
cd inference
# For Linux and Windows users
python gradio_web_demo.py # humans mode

# 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 # humans mode
  • streamlit_web_demo: CogVideoX-2Bモデルを使用してビデオを生成する方法を示すシンプルなstreamlit Webアプリケーション。

sat

  • sat_demo: SATウェイトの推論コードと微調整コードが含まれています。CogVideoXモデル構造に基づいて改善することをお勧めします。革新的な研究者は、このコードを使用して迅速なスタッキングと開発を行うことができます。

ツール

このフォルダには、モデル変換/キャプション生成などのツールが含まれています。

  • convert_weight_sat2hf: SATモデルのウェイトをHuggingfaceモデルのウェイトに変換します。
  • caption_demo: キャプションツール、ビデオを理解し、テキストで出力するモデル。

CogVideo(ICLR'23)

論文の公式リポジトリ: CogVideo: Large-scale Pretraining for Text-to-Video Generation via TransformersCogVideo branch にあります。

CogVideoは比較的高フレームレートのビデオを生成することができます。 32フレームの4秒間のクリップが以下に示されています。

High-frame-rate sample

Intro images

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 の下で公開されています。