CogVideo/README_ja.md
2024-10-10 14:40:39 +08:00

26 KiB
Raw Blame History

CogVideo & CogVideoX

Read this in English

䞭文阅读

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

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

👋 WeChat ず Discord に参加

📍 枅圱 ず APIプラットフォヌム を蚪問しお、より倧芏暡な商甚ビデオ生成モデルを䜓隓. CogVideoXの動画生成に関連する゚コシステムコミュニティをさらに掻性化させるためには、生成モデルの最適化が非垞に重芁な方向性です。私たちは、CogVideoXの埮調敎シナリ飛曞オを技術文曞で公開し、分配の自由床をさらに高めるために、公開されおいる党おのサンプルを完党に再珟可胜にしおいたす。

CogVideoXの埮調敎方法は、SFTずLoRA埮調敎に分かれおおり、公開されおいるデヌタ凊理スクリプトを䜿甚するこずで、特定の分野においおスタむルの䞀臎をより手軜に達成できたす。たた、キャラクタヌむメヌゞIPやシヌンスタむルのアブレヌション実隓のガむドも提䟛しおおり、埮調敎タスクの再珟の難易床をさらに䜎枛したす。 私たちは、さらに創造的な探玢が加わるこずを期埅しおいたす。

曎新ずニュヌス

  • 🔥🔥 ニュヌス: 2024/10/10: 技術報告曞を曎新し、より詳现なトレヌニング情報ずデモを远加したした。

  • 🔥🔥 ニュヌス: 2024/10/09: 飛曞の技術ドキュメントでCogVideoXの埮調敎ガむドを公開しおいたす。分配の自由床をさらに高めるため、公開されおいるドキュメント内のすべおの䟋が完党に再珟可胜です。

  • 🔥🔥 ニュヌス: 2024/9/19: CogVideoXシリヌズの画像生成ビデオモデル CogVideoX-5B-I2V をオヌプン゜ヌス化したした。このモデルは、画像を背景入力ずしお䜿甚し、プロンプトワヌドず組み合わせおビデオを生成するこずができ、より高い制埡性を提䟛したす。これにより、CogVideoXシリヌズのモデルは、テキストからビデオ生成、ビデオの継続、画像からビデオ生成の3぀のタスクをサポヌトするようになりたした。オンラむンでの䜓隓 をお楜しみください。

  • 🔥🔥 ニュヌス: 2024/9/19: CogVideoXのトレヌニングプロセスでビデオデヌタをテキスト蚘述に倉換するために䜿甚されるキャプションモデル CogVLM2-Caption をオヌプン゜ヌス化したした。ダりンロヌドしおご利甚ください。

  • 🔥 2024/8/27: CogVideoXシリヌズのより倧きなモデル CogVideoX-5B をオヌプン゜ヌス化したした。モデルの掚論性胜を倧幅に最適化し、掚論のハヌドルを倧幅に䞋げたした。GTX 1080TI などの旧型GPUで CogVideoX-2B を、RTX 3060 などのデスクトップGPUで CogVideoX-5B モデルを実行できたす。䟝存関係を曎新・むンストヌルするために、芁件 を厳守し、掚論コヌドは cli_demo を参照しおください。さらに、CogVideoX-2B モデルのオヌプン゜ヌスラむセンスが Apache 2.0 ラむセンス に倉曎されたした。

  • 🔥 2024/8/6: CogVideoX-2B 甚の 3D Causal VAE をオヌプン゜ヌス化したした。これにより、ビデオをほが無損倱で再構築するこずができたす。

  • 🔥 2024/8/6: CogVideoXシリヌズのビデオ生成モデルの最初のモデル、CogVideoX-2B をオヌプン゜ヌス化したした。

  • 🌱 ゜ヌス: 2022/5/19: CogVideoビデオ生成モデルをオヌプン゜ヌス化したした珟圚、CogVideo ブランチで確認できたす。これは、トランスフォヌマヌに基づく初のオヌプン゜ヌス倧芏暡テキスト生成ビデオモデルです。技術的な詳现に぀いおは、ICLR'23論文 をご芧ください。

より匷力なモデルが、より倧きなパラメヌタサむズで登堎予定です。お楜しみに

目次

特定のセクションにゞャンプ

クむックスタヌト

プロンプトの最適化

モデルを実行する前に、こちら を参考にしお、GLM-4たたは同等の補品、䟋えばGPT-4の倧芏暡モデルを䜿甚しおどのようにモデルを最適化するかをご確認ください。これは非垞に重芁です。モデルは長いプロンプトでトレヌニングされおいるため、良いプロンプトがビデオ生成の品質に盎接圱響を䞎えたす。

SAT

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

Diffusers

pip install -r requirements.txt

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

量子化掚論の詳现に぀いおは、diffusers-torchao を参照しおください。Diffusers ず TorchAO を䜿甚するこずで、量子化掚論も可胜ずなり、メモリ効率の良い掚論や、コンパむル時に堎合によっおは速床の向䞊が期埅できたす。A100 および H100 䞊でのさたざたな蚭定におけるメモリおよび時間のベンチマヌクの完党なリストは、diffusers-torchao に公開されおいたす。

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に察応しおおり、ぜひご利甚ください

  • CogVideoX-Fun: CogVideoX-Funは、CogVideoXアヌキテクチャを基にした改良パむプラむンで、自由な解像床ず耇数の起動方法をサポヌトしおいたす。
  • CogStudio: CogVideo の Gradio Web UI の別のリポゞトリ。より高機胜な Web UI をサポヌトしたす。
  • Xorbits Inference: 匷力で包括的な分散掚論フレヌムワヌクであり、ワンクリックで独自のモデルや最新のオヌプン゜ヌスモデルを簡単にデプロむできたす。
  • ComfyUI-CogVideoXWrapper ComfyUIフレヌムワヌクを䜿甚しお、CogVideoXをワヌクフロヌに統合したす。
  • VideoSys: VideoSysは、䜿いやすく高性胜なビデオ生成むンフラを提䟛し、最新のモデルや技術を継続的に統合しおいたす。
  • AutoDLむメヌゞ: コミュニティメンバヌが提䟛するHuggingface Spaceむメヌゞのワンクリックデプロむメント。
  • むンテリアデザむン埮調敎モデル: は、CogVideoXを基盀にした埮調敎モデルで、むンテリアデザむン専甚に蚭蚈されおいたす。
  • xDiT: xDiTは、耇数のGPUクラスタヌ䞊でDiTsを䞊列掚論するための゚ンゞンです。xDiTはリアルタむムの画像およびビデオ生成サヌビスをサポヌトしおいたす。

プロゞェクト構造

このオヌプン゜ヌスリポゞトリは、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 を䜿甚しお自動的に動画を生成したす。
  • parallel_inference_xdit xDiT によっおサポヌトされ、ビデオ生成プロセスを耇数の GPU で䞊列化したす。

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 の䞋で公開されおいたす。