ローカル環境でHunyuanVideoを動かしてみる
はじめに
どんな人向けの記事?
- VRAM12GB程度のNvidia製GPUで HunyuanVideo の動画生成をしたい方
- Mac で HunyuanVideo の動画生成をしたい方
- M2 UltraとRTX3060の動画生成速度を知りたい方
1. Mac Studio(M2 Ultra 128GB)
2. Windows 11 (メインメモリ 96GB + RTX 3060 12GB)
概要
今回はComfyUIを用いて、GGUF版HunyuanVideo の動画生成について備忘録的にまとめます。
下記の記事ではComfyUIを用いてFlux.1を動かしていますが、今回はプラスαで追加の設定が必要になります。
そのため、中級者向け以上の記事になっていると思います。
準備
下記を参考に環境を構築します。
ComfyUI
- ComfyUI の導入(導入済の場合はスキップ)
$ git clone https://github.com/comfyanonymous/ComfyUI.git
$ cd ComfyUI
$ python -m venv venv
$ source venv/bin/activate # Mac or Ubuntuの場合はこちら
$ .\venv\Scripts\activate # Windowsの場合はこちら
(venv)$ pip install -r requirements.txt
Nvidia環境では、ドライバやCUDAのインストールが完了している前提で、下記のコマンドを追加で実行してください(未導入の場合のみ)。
(venv)$ pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu124
- ComfyUI のアップデート(上記で導入した場合はスキップ)
- ComfyUI-Manager、ComfyUI-GGUFの導入(導入済の場合はスキップ)
$ cd ComfyUI/custom_nodes
$ git clone https://github.com/ltdrdata/ComfyUI-Manager.git
$ git clone https://github.com/city96/ComfyUI-GGUF.git
モデル
ファイルのダウンロードと配置
-
Nvidia環境
-
clip_l.safetensors ->
models\clip
-
llava_llama3_fp8_scaled.safetensors ->
models\text_encoders
-
hunyuan-video-t2v-720p-Q4_K_M.gguf ->
models\unet
-
hunyuan_video_vae_bf16.safetensors ->
models\vae
-
clip_l.safetensors ->
-
Mac環境
-
clip_l.safetensors ->
models/clip
-
llava_llama3_fp16.safetensors ->
models/text_encoders
-
hunyuan-video-t2v-720p-Q8_0.gguf ->
models/unet
-
hunyuan_video_vae_bf16.safetensors ->
models/vae
-
clip_l.safetensors ->
実行
ComfyUIの起動
(venv)$ python main.py
webブラウザでhttp://localhost:8188にアクセスすることで、ComfyUIが利用できます。
ワークフローの読み込み
下記のjsonファイルをダウンロードします。
ComfyUIの画面にドラッグアンドドロップすると、HunyuanVideoのワークフローが読み込まれます。
ただし、この段階ではGGUF版のモデルを使用していないためまだ動画生成は出ません。
【重要】ノードの差し替え
拡散モデルを読み込む
というノードではbf16のモデルを用いており、RTX 3060(12GB)のような小さなVRAMのGPUでは実行できないです。
そこで、今回ダウンロードしたGGUFモデルを用いるためのノードを追加します。
何もない空間で右クリック→Add Node→bootleg→Unet Loader (GGUF)をクリックすると、GGUFモデルをロードできるノードが出現するので、上記でダウンロードしたGGUF量子化モデルを選択します。
最後に、拡散モデルを読み込む
とつながっていたエッジ(矢印)をUnet Loader (GGUF)
につなぎ直して、拡散モデルを読み込む
を消したら完了です。
ワークフローはこの状態で保存しておくことをおすすめします。
あとは画面下部の実行ボタンをクリックすれば、動画生成が開始されるはず。コンソールを見ると、
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 20/20 [47:50<00:00, 143.50s/it]
のような感じで、進捗バーが進んでいたら成功です。ただし、一つのバーが進むのに結構時間がかかります。ちなみに上記はM2 Ultraで生成したときの結果です。
動画生成結果
動画生成自体はまだあまり試せていないのですが、とりあえずXでポストした動画は下記になります。
少し触っただけですが、所感としてはプロンプト追従性がかなり良い印象です。
参考:その他の動画生成AIを用いた生成動画
- LTXV
ただし、これはimage-to-videoになっています。
Macでも3分弱で生成できるのはすごい。ただし、プロンプト追従性はそこまで高くない印象。
- Pyramid Flow
こちらもプロンプト追従性はそこまで高くない印象。あと、映像があまりダイナミックに動かないことが多かったです。
生成速度
フレーム数や量子化サイズなどが一致していないのでフェアな戦いではないですが、参考までに生成速度をまとめておきます。解像度はいずれも848x480です。
GPU | 量子化サイズ | フレーム数 | 生成時間 |
---|---|---|---|
M2 Ultra(128GB) | Q8_0 | 73 | 約53分 |
RTX 3060(12GB) | Q4_K_M | 69 | 約20分 |
システム全体で考えたとしてもMacの方が価格が何倍も高いのに、速度ではRTX 3060に圧倒的に負けているという少し悲しい結果になりました。
まとめ
今回はGGUF版HunyuanVideoをローカル環境で動かす方法をまとめました。
Windows(Nvidia)環境とMac環境両対応の記事にしたのもありますが、現状は微妙な設定の違いで動かなくなるので記事を書くのに苦労しました。
結論としては、HunyuanVideoはプロンプト追従性が高く、Loraも少しずつ出てきているようで今後に期待できるモデルだと思います。
一応Macでも動かすこと自体はできましたが、VRAMがとんでもなく必要なのと、RTX 3060にすら速度で2.5倍近い速度差を見せつけられたので、やはり画像生成・動画生成をメインに使いたい場合はNvidiaのGPUを選択した方が良さそうです。
最後まで読んでいただきありがとうございました。次回もぜひよろしくお願いします。
Discussion