EasyAnimate V5.1が登場したとのことで、触ってみました。
解像度512pxの最小でも「model_cpu_offload_and_qfloat8」を使い、24GBのGPUメモリを削減してもなお、メインメモリを使用するため、極端に遅くなります。ここまで遅くなってしまうと、本家のクラウド版で使用したほうがコスパは良さそうな雰囲気だ。6秒の動画作成に15分程度かかっています。
LTX-VIDEOがI2V(イメージtoビデオ)使用できる最も優れたローカル動画生成になるかと思う。その他はまたT2V(テキストtoビデオ)しかできないモデルのため、速度と実用性のあるクオリティーで考えた場合、LTX-VIDEOが現時点では最強となる。
EasyAnimate V5.1はお勧めできない速度感
model_cpu_offloadに設定して、最も重い設定で出力してみたところ
最高解像度の1024pxに設定して、RTX4090(24GB)で出力してみたところ、共有GPUメモリに14.2GBも使用してしまう結果に。
やはり、メインメモリを使用しだしたところから、本当に遅くなります。RTX5090があったら、もう少し改善できるかも。基本的にメインメモリの使用は実用的とは言えない。とっても遅いためだ。電気代と処理代を考えると、クラウドGPUに課金して処理してもらう方が安価である。
とはいえ、ローカルGPUで処理できるメリットもあるだろう。好きな時に好きな絵を出したい。
そうなると、48GBメモリとか実装できていたらなぁ~と思う。
噂では24GB実装のはずのRTX4090などを魔改造して48GBにしたりしている人もいるのだとか。そんなことできるんだろうか。
EasyAnimate V5.1の画質や忠実度
これまでのローカル画像生成AIの中では、随一なのかもしれない。かといって1か月後に抜かれていることはよくある話だ。
画質はLTXのようにモアレのようなものは、見えにくくきれい。高解像度の仕上がりもよいが、凄く重い(生成に時間がかかりすぎる)
EasyAnimate V5.1実装に難儀
custom_nodesにComfyUIマネージャーからの実装ではうまくいかなかった。どうやら依存関係やインストールし直しが必要だったみたい。何とか動作させられましたが、実装にうまくいかないことはよくある話。
custom_nodesフォルダで下記コマンドを使用してインストールしました。
cd ComfyUI/custom_nodes/
# Git clone the easyanimate itself
git clone https://github.com/aigc-apps/EasyAnimate.git
# Git clone the video outout node
git clone https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite.git
git clone https://github.com/kijai/ComfyUI-KJNodes.git
cd EasyAnimate/
pip install -r comfyui/requirements.txt
そして、ウエイトは、ダウンロードが面倒だったので、以下のようにしました。
これは、image to Videoです。その他も同様に対応できそうです。
git lfs install
git clone https://www.modelscope.cn/PAI/EasyAnimateV5.1-12b-zh-InP.git
EasyAnimate V5.1はいくつかの生成手法があります。
- LoadEasyAnimateModel
- Loads the EasyAnimate model
- EasyAnimate_TextBox
- Write the prompt for EasyAnimate model
- EasyAnimateI2VSampler
- EasyAnimate Sampler for Image to Video
- EasyAnimateT2VSampler
- EasyAnimate Sampler for Text to Video
- EasyAnimateV2VSampler
- EasyAnimate Sampler for Video to Video
テキストからビデオへの生成
画像からビデオへの生成
ビデオからビデオへの生成
カメラ制御ビデオ生成
klingaiでもおなじみの「カメラの動き」ですね。
軌道制御ビデオ生成
klingaiでもおなじみの「モーションブラシ」のようなものですね。
ビデオ生成を制御する
棒人間を使って、操れます。ミミックモーションのようなものですね。
それぞれのワークフローは、用途にあわせて使い分けることができます。プロンプトのみでは希望する絵ができない時に有効です。
EasyAnimateV5.1-12Bの使用できるスペック
EasyAnimateV5.1-12B のビデオ サイズは、次のようなさまざまな GPU メモリによって生成できます。
GPUメモリ | 384x672x25 | 384x672x49 | 576x1008x25 | 576x1008x49 | 768x1344x25 | 768x1344x49 |
---|---|---|---|---|---|---|
16ギガバイト | 🧡 | 🧡 | ❌ | ❌ | ❌ | ❌ |
24GB | 🧡 | 🧡 | 🧡 | 🧡 | 🧡 | ❌ |
40GB | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
80GB | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
qwen2-vl-7b の float16 重みのため、16GB GPU では実行できません。GPU メモリが 16GB の場合は、HuggingfaceまたはModelscopeにアクセスして、qwen2-vl-7b の量子化バージョンをダウンロードし、元のテキスト エンコーダーを置き換えて、対応する依存ライブラリ (auto-gptq、optimal) をインストールしてください。
EasyAnimateV5-7Bの使用できるスペック
EasyAnimateV5-7B のビデオ サイズは、次のようなさまざまな GPU メモリによって生成できます。
GPUメモリ | 384x672x25 | 384x672x49 | 576x1008x25 | 576x1008x49 | 768x1344x25 | 768x1344x49 |
---|---|---|---|---|---|---|
16ギガバイト | 🧡 | 🧡 | ❌ | ❌ | ❌ | ❌ |
24GB | ✅ | ✅ | ✅ | 🧡 | 🧡 | ❌ |
40GB | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
80GB | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
✅は「model_cpu_offload」で実行できることを示し、🧡は「model_cpu_offload_and_qfloat8」で実行できることを表し、⭕️は「sequential_cpu_offload」で実行できることを示し、❌は実行できないことを意味します。sequential_cpu_offload で実行すると速度が遅くなることに注意してください。
2080ti や V100 など、torch.bfloat16 をサポートしていない一部の GPU では、実行するために app.py および predict ファイルの weight_dtype を torch.float16 に変更する必要があります。
実用的な設定は
- 512px
- 25fps
- fp16またはbf16
- model_cpu_offload_and_qfloat8
生成にかかった時間は90秒でした。爆速ではありますが、生成品質がいまいちでした。
この場合、16GBメモリでも動くようです。RTX4090の場合は768pxでもいけそうです。
RTX4090の実用限界値
- 768px
- 49fps
- fp16またはbf16
- model_cpu_offload_and_qfloat8
生成にかかった時間は約6分でした。
コメント