CogVideo/README_ja.md
2024-09-19 00:41:14 +08:00

25 KiB
Raw Blame History

CogVideo & CogVideoX

Read this in English

䞭文阅读

🀗 Huggingface Space たたは 🀖 ModelScope Space で CogVideoX-5B モデルをオンラむンで䜓隓しおください

📚 論文ず䜿甚ドキュメントを衚瀺したす。

👋 WeChat ず Discord に参加

📍 枅圱 ず APIプラットフォヌム を蚪問しお、より倧芏暡な商甚ビデオ生成モデルを䜓隓

曎新ずニュヌス

  • 🔥🔥 ニュヌス: 2024/9/19: CogVideoXシリヌズの画像生成ビデオモデル CogVideoX-5B-I2V をオヌプン゜ヌス化したした。このモデルでは、背景ずしお画像を入力し、プロンプトず組み合わせおビデオを生成でき、より匷力なコントロヌル性を提䟛したす。これで、CogVideoXシリヌズは、テキスト生成ビデオ、ビデオ拡匵、画像生成ビデオの3぀のタスクをサポヌトしおいたす。ぜひ オンラむンでお詊しください。
  • 🔥🔥 ニュヌス: 2024/9/19CogVideoX のトレヌニングプロセスで、ビデオデヌタをテキストに倉換するためのキャプションモデル cogvlm2-llama3-caption がオヌプン゜ヌス化されたした。ぜひダりンロヌドしおご利甚ください。
  • 🔥 ニュヌス: 2024/9/16: 自動動画生成ツヌルを远加したしたオヌプン゜ヌスのロヌカルモデル + FLUX + CogVideoX を䜿甚しお、高品質な動画を自動生成できたす。ぜひお詊しください。
  • 🔥 ニュヌス: 2024/9/15: CogVideoXのLoRAファむンチュヌニングの重みが゚クスポヌトされ、diffusers ラむブラリでのテストに成功したした。チュヌトリアル をご芧ください。
  • 🔥 ニュヌス: 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

sat_demo の指瀺に埓っおください: SATりェむトの掚論コヌドず埮調敎コヌドが含たれおいたす。CogVideoXモデル構造に基づいお改善するこずをお勧めしたす。革新的な研究者は、このコヌドを䜿甚しお迅速なスタッキングず開発を行うこずができたす。

Diffusers

pip install -r requirements.txt

次に diffusers_demo を参照しおください: 掚論コヌドの詳现な説明が含たれおおり、䞀般的なパラメヌタの意味に぀いおも蚀及しおいたす。

CogVideoX-5B

CogVideoX-2B

ギャラリヌの察応するプロンプトワヌドを衚瀺するには、こちらをクリックしおください

モデル玹介

CogVideoXは、枅圱 ず同源のオヌプン゜ヌス版ビデオ生成モデルです。 以䞋の衚に、提䟛しおいるビデオ生成モデルの基本情報を瀺したす:

モデル名 CogVideoX-2B CogVideoX-5B CogVideoX-5B-I2V
掚論粟床 FP16*(掚奚), BF16, FP32, FP8*, INT8, INT4は非察応 BF16(掚奚), FP16, FP32, FP8*, INT8, INT4は非察応
単䞀GPUのメモリ消費
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
掚論速床
(ステップ = 50, FP/BF16)
単䞀A100: 箄90秒
単䞀H100: 箄45秒
単䞀A100: 箄180秒
単䞀H100: 箄90秒
ファむンチュヌニング粟床 FP16 BF16
ファむンチュヌニング時のメモリ消費 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)
78 GB (bs=1, LORA)
75GB (bs=1, SFT, 16GPU)
プロンプト蚀語 英語*
プロンプトの最倧トヌクン数 226トヌクン
ビデオの長さ 6秒
フレヌムレヌト 8フレヌム/秒
ビデオ解像床 720 * 480、他の解像床は非察応(ファむンチュヌニング含む)
䜍眮゚ンコヌディング 3d_sincos_pos_embed 3d_sincos_pos_embed 3d_rope_pos_embed + learnable_pos_embed
ダりンロヌドリンク (Diffusers) 🀗 HuggingFace
🀖 ModelScope
🟣 WiseModel
🀗 HuggingFace
🀖 ModelScope
🟣 WiseModel
🀗 HuggingFace
🀖 ModelScope
🟣 WiseModel
ダりンロヌドリンク (SAT) SAT

デヌタ解説

  • diffusersラむブラリを䜿甚しおテストする際には、diffusersラむブラリが提䟛する党おの最適化が有効になっおいたす。この方法は NVIDIA A100 / H100以倖のデバむスでのメモリ/メモリ消費のテストは行っおいたせん。通垞、この方法はNVIDIA Ampereアヌキテクチャ 以䞊の党おのデバむスに適応できたす。最適化を無効にするず、メモリ消費は倍増し、ピヌクメモリ䜿甚量は衚の3倍になりたすが、速床は玄3〜4倍向䞊したす。以䞋の最適化を郚分的に無効にするこずが可胜です:
pipe.enable_sequential_cpu_offload()
pipe.vae.enable_slicing()
pipe.vae.enable_tiling()
  • マルチGPUで掚論する堎合、enable_sequential_cpu_offload()最適化を無効にする必芁がありたす。
  • INT8モデルを䜿甚するず掚論速床が䜎䞋したすが、これはメモリの少ないGPUで正垞に掚論を行い、ビデオ品質の損倱を最小限に抑えるための措眮です。掚論速床は倧幅に䜎䞋したす。
  • CogVideoX-2BモデルはFP16粟床でトレヌニングされおおり、CogVideoX-5BモデルはBF16 粟床でトレヌニングされおいたす。掚論時にはモデルがトレヌニングされた粟床を䜿甚するこずをお勧めしたす。
  • PytorchAOおよびOptimum-quanto は、CogVideoXのメモリ芁件を削枛するためにテキスト゚ンコヌダ、トランスフォヌマ、およびVAEモゞュヌルを量子化するために䜿甚できたす。これにより、無料のT4 Colabやより少ないメモリのGPUでモデルを実行するこずが可胜になりたす。同様に重芁なのは、TorchAOの量子化はtorch.compile ず完党に互換性があり、掚論速床を倧幅に向䞊させるこずができる点です。NVIDIA H100およびそれ以䞊のデバむスではFP8 粟床を䜿甚する必芁がありたす。これには、torch、torchao、diffusers、accelerate Pythonパッケヌゞの゜ヌスコヌドからのむンストヌルが必芁です。CUDA 12.4の䜿甚をお勧めしたす。
  • 掚論速床テストも同様に、䞊蚘のメモリ最適化方法を䜿甚しおいたす。メモリ最適化を䜿甚しない堎合、掚論速床は玄10向䞊したす。 diffusersバヌゞョンのモデルのみが量子化をサポヌトしおいたす。
  • モデルは英語入力のみをサポヌトしおおり、他の蚀語は倧芏暡モデルの改善を通じお英語に翻蚳できたす。
  • モデルのファむンチュヌニングに䜿甚されるメモリは8 * H100環境でテストされおいたす。プログラムは自動的にZero 2 最適化を䜿甚しおいたす。衚に具䜓的なGPU数が蚘茉されおいる堎合、ファむンチュヌニングにはその数以䞊のGPUが必芁です。

友奜的リンク

コミュニティからの貢献を倧歓迎し、私たちもオヌプン゜ヌスコミュニティに積極的に貢献しおいたす。以䞋の䜜品はすでにCogVideoXに察応しおおり、ぜひご利甚ください

  • Xorbits Inference: 匷力で包括的な分散掚論フレヌムワヌクであり、ワンクリックで独自のモデルや最新のオヌプン゜ヌスモデルを簡単にデプロむできたす。
  • ComfyUI-CogVideoXWrapper ComfyUIフレヌムワヌクを䜿甚しお、CogVideoXをワヌクフロヌに統合したす。
  • VideoSys: VideoSysは、䜿いやすく高性胜なビデオ生成むンフラを提䟛し、最新のモデルや技術を継続的に統合しおいたす。
  • AutoDLむメヌゞ: コミュニティメンバヌが提䟛するHuggingface Spaceむメヌゞのワンクリックデプロむメント。

プロゞェクト構造

このオヌプン゜ヌスリポゞトリは、CogVideoX オヌプン゜ヌスモデルの基本的な䜿甚方法ず埮調敎の䟋を迅速に開始するためのガむドです。

Colabでのクむックスタヌト

無料のColab T4䞊で盎接実行できる3぀のプロゞェクトを提䟛しおいたす。

  • CogVideoX-5B-T2V-Colab.ipynb: CogVideoX-5B テキストからビデオぞの生成甚Colabコヌド。
  • CogVideoX-5B-T2V-Int8-Colab.ipynb: CogVideoX-5B テキストからビデオぞの量子化掚論甚Colabコヌド。1回の実行に玄30分かかりたす。
  • CogVideoX-5B-I2V-Colab.ipynb: CogVideoX-5B 画像からビデオぞの生成甚Colabコヌド。
  • CogVideoX-5B-V2V-Colab.ipynb: CogVideoX-5B ビデオからビデオぞの生成甚Colabコヌド。

Inference

  • 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 デモを起動するこずができたす。

finetune

  • train_cogvideox_lora: CogVideoX diffusers 埮調敎方法の詳现な説明が含たれおいたす。このコヌドを䜿甚しお、自分のデヌタセットで CogVideoX を埮調敎するこずができたす。

sat

  • sat_demo: SATりェむトの掚論コヌドず埮調敎コヌドが含たれおいたす。CogVideoXモデル構造に基づいお改善するこずをお勧めしたす。革新的な研究者は、このコヌドを䜿甚しお迅速なスタッキングず開発を行うこずができたす。

ツヌル

このフォルダには、モデル倉換/キャプション生成などのツヌルが含たれおいたす。

  • convert_weight_sat2hf: SAT モデルの重みを Huggingface モデルの重みに倉換したす。
  • caption_demo: Caption ツヌル、ビデオを理解しおテキストで出力するモデル。
  • export_sat_lora_weight: SAT ファむンチュヌニングモデルの゚クスポヌトツヌル、SAT Lora Adapter を diffusers 圢匏で゚クスポヌトしたす。
  • load_cogvideox_lora: diffusers 版のファむンチュヌニングされた Lora Adapter をロヌドするためのツヌルコヌド。
  • llm_flux_cogvideox: オヌプン゜ヌスのロヌカル倧芏暡蚀語モデル + Flux + CogVideoX を䜿甚しお自動的に動画を生成したす。

CogVideo(ICLR'23)

論文の公匏リポゞトリ: CogVideo: Large-scale Pretraining for Text-to-Video Generation via Transformers は CogVideo 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}
}

あなたの貢献をお埅ちしおいたす詳现はこちらをクリックしおください。

ラむセンス契玄

このリポゞトリのコヌドは Apache 2.0 License の䞋で公開されおいたす。

CogVideoX-2B モデル (察応するTransformersモゞュヌルやVAEモゞュヌルを含む) は Apache 2.0 License の䞋で公開されおいたす。

CogVideoX-5B モデルTransformers モゞュヌル、画像生成ビデオずテキスト生成ビデオのバヌゞョンを含む は CogVideoX LICENSE の䞋で公開されおいたす。