見出し画像

HunyuanVideoモデルのGGUF化とComfyUI-multiGPUの効果を実感!

先日、ComfyUI-multiGPUの記事を書いたと同時にDRAMの発注をした者です。
その後、GJLさんの記事に上限があるとの記載もあり若干がっかりはしましたが後悔はしてません。

ComfyUI-multiGPUの凄いところを一つ上げておきます

コスパが圧倒的


GPUのVRAM
12GBから16GBに上げる場合、5000台だと5070から5080に相当しますが9万ぐらいの差があります。5090と5080だと16GBの差で20万です。
これを1GBに換算すると前者は2.25万/GB、1.25万/GBです。
システムメモリのDRAM
64GBが5万くらいで買えました。特売とかだともっと安く2-3万くらいのものもあるらしいです。元々が32GBだとすると、32GB増えたということです。
5万としても、0.15万/GBになります。
性能の差とがありますが、モデルが使えるかどうかというポイントからするとコスパの差が圧倒的です。

NvidiaにAI分野で負け続けていたintelもこのあたりで反撃してくるのでしょうか?

さて、このComfyUI-multiGPUの記事を書いた頃に、オリジナルのHunyuanVideoのsafetensorモデルをBF16のGGUFに変換するスクリプトを作成していました。ただ、BF16のGGUFモデルは25GBくらいはあるので、手持ちのDRAM不足で試せていなかったのですが、ようやく日の目を見ることになりました。が・・・さきほどやったらうまくいっていませんでした。。。

ちょうど、GJLさんが、改良版のskyreelのGGUF化を試みた記事を出されており、同じような状況を報告されていました。
おそらく、以下のcity96さんのスクリプトが公開されたので、その部分も含めてアップデートされた記事になっていると思います。

activityを見たら出ていた

この内容見るためには、現在はmainからブランチに切り替える必要があります。以下がリンクです。このスクリプトも今後改善していくとのことでした。

しかし、この方の画像生成AI業界への貢献度は本当にすごいですね!

という事で、使い方はGJLさんの記事に細かい所は解説いただく感じと思ったら、現時点では最初のコンバートに思いのほか手間がかかったので手順を

私の方は、デフォルトのHunyuanVideoのsafetensorsモデルの変換です。
以下のモデルの変換をしてみました。

<HunyuanVideoのsafetensorsモデルのGGUF化手順>

<元モデル>
split_files/diffusion_models/hunyuan_video_t2v_720p_bf16.safetensors · Comfy-Org/HunyuanVideo_repackaged at main

現時点でアップデートされたスクリプトは以下(2025/2/20時点)
※hunyuanvideo用に修正がconvert.pyに加えられています。
私がダウウンロードした際はHunyuanVideoのキーがうまく認識されなくてそこで時間がかかりました。。。
※fix_5d_tensorsは相対パスで行う修正が加えられています。

こんな感じに配置します。相対パスにするために同じフォルダ配置。

以下が起動.batの中身です。

@echo off
REM Pythonスクリプトを実行するバッチファイル
REM スクリプトが同じフォルダ内にあることを前提としています

REM バッチファイルのディレクトリを取得
set "current_dir=%~dp0"

REM 実行
python "%current_dir%convert.py" ^
  --src "%current_dir%hunyuan_video_t2v_720p_bf16.safetensors" ^
  --dst "%current_dir%hunyuan_video.gguf"

echo.
echo 変換が完了しました。Enterキーを押して終了します。
pause

これで、以下の2つのファイルが作成されます。

新しく、fix_5d_tensors_hyvid.ptがある

llama.cpp側の処理。パッチが新しくなっているので、それを改めて適応させる必要があります。

llama.cppディレクトリで以下のコマンドを一つずつ行います

git checkout tags/b3962
git apply ..\lcpp.patch
mkdir build
cd build
cmake ..
cmake --build . --config Debug -j10 --target llama-quantize
cd ..
cd ..

これでコンパイル後に以下のような感じで量子化のbatファイルを起動します。

@echo off
REM カレントディレクトリに移動
cd /d %~dp0

REM llama-quantize.exeの実行
llama.cpp\build\bin\Debug\llama-quantize.exe hunyuan_video.gguf hunyuan_video-Q4_K_S.gguf Q4_K_M

REM 実行結果を表示し、終了する前に待機
pause

久しぶりに量子化を行ったのですが、PCへの負荷はそこそこある印象で時間が結構かかりました。。。。

この時点で、5Dテンソルの情報はまだ欠落していますので終わりではありません。FLUXでは終わりでしたが。。。

以下の感じのbatファイルで、fix_5d_tensors.pyを起動します。

@echo off

REM スクリプトのあるディレクトリへ移動
set SCRIPT_DIR=%~dp0
cd /d %SCRIPT_DIR%

echo "Running fix_5d_tensors.py with relative paths..."
python fix_5d_tensors.py

echo.
echo "Fix 5D done. Press any key to exit..."
pause

この処理の後、実際に生成をしましたが「ComfyUI-multiGPU」で問題なく生成されました!!!

残念ながらSkyReelsでは試していませんが、KijaiさんのHuggingfaceのサイトでGGUF化したモデルが公開されていました。

Kijai/SkyReels-V1-Hunyuan_comfy at main

個人でGGUF化できるようになったので、LoraマージモデルもGGUF化が簡単になったということすね。
今後のHunyunaVideoの発展が期待されます。


いいなと思ったら応援しよう!