1 minute read

動画生成モデル CogVideo を試してみます。

概要

  • ComfyUI にカスタムノードを追加することで生成できました
  • GeForce RTX 2070 (VRAM 8GB) でも生成できました
  • 1回生成するのにおよそ 30 分間程度、時々メモリ不足でエラーになることもあります
  • Text2Video、Image2Video どちらも生成できました

準備

ComfyUI を docker compose で構築する で用意した docker compose を使います。もしコンテナを起動していない場合は、docker compose start などで起動し、WebUI にアクセスできるようにします。

WebUI を開いたら、右下の Manager をクリックします。

ui

ComfyUI Manager Menu が開くので、Custom Node Manager をクリックします。

customnode

上部の「Search」欄に cogvideo と入力します。すると ComfyUI CogVideoX Wrapper があるので、そこの Install をクリックします。インストールが終わったら ComfyUI を再起動します。

cogvideox-wrapper

動画を保存するカスタムノード、ComfyUI-VideoHelperSuite (カスタムノード名としては VHS と表記されている場合もあります) もインストールします。

VHS

Image2Video を使用する際に、画像のリサイズを行うカスタムノードを使うため、KJNodes for ComfyUI をインストールします。

KJNodes

CogVideoX-Wrapper の Git リポジトリにある ワークフロー例 から、以下 2 つのファイルをダウンロードします。

  • cogvideox_5b_example_01.json
  • cogvideox_I2V_example_01.json

モデルは生成のときに必要に応じて自動的にダウンロードされますが、ダウンロード済みであれば ComfyUI/models/CogVideo 配下に配置する必要があります。

生成

Text2Video

Text2Video では、以下のワークフローを使います。

  • cogvideox_5b_example_01.json

モデルは、CogVideoX-5b か、GGUF モデルを使います。ただ、そのままだとメモリ不足になるので、以下の通り変更します。

model

  • vae_precision を fp16
  • fp8_fastmode は false のまま (RTX40xx などの最新 GPU のみ対応する機能とのこと)
  • enable_sequential_cpu_offload を true

GGUF ではないモデルを使用する場合は、fp8_transformer の設定を enable にします。この選択肢に fastmode がありますが、これが GGUF モデルのロードにある fp8_fastmode を true にしたのと同じことになるようです (そのため、fastmode ではなく enable にします)。

もう一か所、CogVideo Decode ノードも設定変更します。

decode

  • enable_vae_tiling を true
  • enable_vae_slicing を true

これでプロンプトを入力して生成することができました。

ですが、初期値では step が 50 になっています。これを 30 くらいまで減らしてもそれほどクオリティは下がらず、生成にかかる時間は短縮できるので、以下のように steps を 30 に変更しました。

decode

30steps で生成した際のコンソールを見てみると、1552.33 seconds と表示されているので、26分弱。ちょっと試行錯誤する程度ではないですよねぇ

seconds

Image2Video

Image2Video では、以下のワークフローを使います。

  • cogvideox_I2V_example_01.json

モデルは、CogVideoX-5b-I2V のように、I2V がついているモデルを使用します。その他の設定は、Text2Video と同様に設定しないとやはりメモリ不足になります。

エラー

error

生成中によくエラーになります。上記の設定をしてもエラーになることが度々あります。大体は、再度生成を行えば、何事もなかったかのように処理が進みますが、たまに再実行してもダメなことがあります。その場合は ComfyUI を再起動したりしないとダメなこともありました。

一応生成はできますが、スペック的にはギリギリなんでしょうね。

更新日時: