ReCaVSRが動画の4倍アップスケーリングを1ステップで実行、ComfyUIで利用可能に

ComfyUI Wikinews

ReCaVSRはWan2.2上でクリップをブロックごとに1回のデノイズステップで4倍にアップスケールします。ComfyUIノード、6.3 GBのint8ファイル、ComfyUI Managerからのインストールが利用可能になりました。

ReCaVSRはUSTCによる1ステップの動画超解像モデルで、Wan2.2 TI2V-5Bをベースにしています。11月10日に公開されたComfyUI移植版は、これを2つのネイティブノードでラップし、ComfyUI Managerからインストールでき、8 GBカードで1440pの4倍処理を実行できる6.3 GBのint8ファイルを追加します。

このモデルはクリップをまず21フレームずつ、次に8フレームずつアップスケールし、ブロックごとに1回のデノイズステップを実行して、前のブロックのlatentと過去のキー・バリューのキャッシュを引き継ぎます。独自のストリーミングデコーダーであるFlashDecoderは、各ブロックが完了するとすぐにフレームへ変換するため、長いクリップはメモリではなく時間とディスクを消費します。

雨天の街並みを4倍で、960×480から3840×1920へ。プロジェクトのデモセットより。

4倍にした街並み4倍にしたポートレート
960×480から3840×1920、上が入力360×360から1440×1440、左が入力

速度

2つのクリップ、149フレームと180フレームを、Linux上のComfyUI 0.44.0、sage attention、dynamic VRAMでReCaVSR Upscale Videoノードに通した結果です。

雨天の街並み、960×480から3840×1920RTX 3090RTX 40904090のピークVRAM
bf16 transformer114秒59秒22.6 GB
int8 ConvRot67秒36秒21.2 GB

ポートレート(360×360から1440×1440)は、4090で15秒、int8ファイル使用時で11.6 GBまで下がります。12 GBまたは8 GBカードに抑えた場合でも、同じポートレートは23秒と27秒で完了します。

int8ファイルは6.27 GBで、bf16の10.6 GBと比べて小さく、すべてのフレームでbf16の出力から約48 dBを保ちます。

bf16とint8の比較、1:1クロップ

上がbf16、下がint8、出力の1:1クロップ。

実行方法

  1. ノードをインストールします。ComfyUI ManagerでReCaVSR video super-resolutionを検索するか、comfy node install comfyui-recavsrを実行するか、ComfyUI-ReCaVSRをcustom_nodesにクローンして要件をインストールします。
  2. kopper/ReCaVSRのprompt.safetensors(4.2 MB)とflashdecoder.safetensors(229 MB)をComfyUI/models/recavsrに置き、同じフォルダーにbf16のtransformer.safetensorsかint8 ConvRotファイルのいずれかを追加します。
  3. テンプレート → ComfyUI-ReCaVSR → recavsr_video_4xを開き、クリップを読み込んでキューに追加します。チェーンはビデオを読み込む → ReCaVSR Upscale Video → ビデオを保存で、出力は入力の音声とフレームレートを維持します。

知っておきたい設定

  • スケール4はモデルが学習された設定です。2と1.5はオリジナルのリポジトリでドキュメント化されています。32の倍数でないサイズはパディングされ、後でクロップして戻されます。
  • デコーダー: flashdecoderはモデル自身のもので、Wan 2.2 VAEより25〜40倍高速に動作します。vaeオプションは時間があればより細かいテクスチャを描画します。
  • color_fix: none、adain、wavelet。アップスケールで色がずれる場合に使うStableSR風の補正です。
  • **kv_offload**はブロック間でアテンション履歴をRAMに移動します。16 GBカードで3840×1920を扱うには必要で、1440pでは7〜16%の速度低下を伴います。
  • Tritonがない場合、両方のアテンションカーネルはPyTorchにフォールバックし、大幅に遅くなります。Windowsへのインストールは通常このケースに当たります。

bf16パスはint8 GEMMのためにコンピュートケイパビリティ7.5以上のNVIDIA GPUが必要です。それ未満では、重みは読み込み時にデクオンタイズされます。

入手方法

コメント

GitHubでサインインしてディスカッションに参加しましょう。

コメントを読み込み中…
ReCaVSRが動画の4倍アップスケーリングを1ステップで実行、ComfyUIで利用可能に | ComfyUI Wiki