Tencent-Hunyuan/Prism
We propose Prism, a dynamic sparse attention framework for natively training joint video-audio generation models at 2K.
Prism – 2K ジョイントビデオ・オーディオ生成のための動的スパースアテンション
これは何か – Prismは、高解像度(720p、1080p、2K)での大規模ビデオ・オーディオ拡散モデルをトレーニングおよび実行できる研究グレードのコードベースです。中心となる新規性は、動的ブロックスパースアテンションメカニズムで、局所的な視覚的動きとオーディオ・ビジュアル結合に応じてアテンションパターンを適応させ、生成品質を向上させながらトレーニング時間を約2.5倍短縮します。
なぜ重要か – フルアテンションのトランスフォーマーは、トークン数に応じて2次的にスケーリングするため、高解像度ビデオ(空間×時間×オーディオ)では法外なコストになります。Prismのアテンションは、トークンストリームをマクロゾーンに分割し、以下の要素に基づいて各ゾーンにカスタムブロック形状を割り当てます:
- ビデオ特徴の分散(視覚コンテンツがどれだけ速く変化するか)
- オーディオからビデオへのクロスアテンションノルム(サウンドがどこで生成されるか)
これにより、意味的に一貫性のあるグループをまとめ、密度の高いアテンションの巨大な計算コストなしに重要なクロスモーダル相互作用を保持するスパースパターンが得られます。
主なコンポーネント
- マクロゾーントークンレイアウト – ビデオ・オーディオトークンシーケンスは時空間ブロックに分割されます。
- 動的ブロックサイズ – 各ゾーンはそのコンテンツに合わせて調整されたブロック形状を取得します(動きやサウンドが強い場所ではより細かいブロック)。
- ハイブリッドブロック選択 – クエリごとのスパース性がその場で選択され、モデルが必要な場所ではより多くのトークンを保持し、他の場所では冗長なものを削除できます。
- MOVAとの統合 – PrismはMOVAビデオ・オーディオ拡散バックボーンを基盤とし、その事前トレーニング済みVAEと拡散パイプラインを再利用します。
これで何ができるか
- トレーニング – 720p、1080p、または2Kでのネイティブなジョイントビデオ・オーディオ拡散モデルを、FSDPとシーケンス並列処理を使用して複数GPUでトレーニングします。
- 推論 – 単一GPU(DeepSpeed)または複数GPU(FSDP)で推論を実行し、テキストプロンプト、オーディオプロンプト、または画像からビデオへのシードからビデオを生成します。
- 実験 – ブロックスパースアテンションノブ(
ENABLE_BSA、BSA_SPARSITY、ENABLE_IVPQ_DYNAMIC_BLOCK)を調整して、速度と忠実度のトレードオフを試します。
始め方
- 環境を設定 – Python≥3.10、CUDA≥12.4、
ffmpeg、さらにPyTorch 2.7、FlashAttention、Diffusers、Transformersなど。 - プレビューチェックポイントをダウンロード – Hugging Face(
FrancisRing/Prism)から。 - 提供された推論スクリプトを実行 –(単一GPU/DeepSpeed用の
prism_infer.sh、複数GPU FSDP用のprism_infer_fsdp.sh)。コマンドラインで解像度、フレーム数、プロンプト、スパース性設定を調整します。 - 独自のトレーニングデータを準備 – レイテントパス、ビデオ/オーディオファイル、キャプション、ディメンションを記述したCSVマニフェストを作成し、提供された
build_dataset_csv.pyスクリプトを使用してWAN-VAEレイテントを抽出し、データをバケット化します。 - トレーニングを開始 –
pdsh_train.shラッパーを使用して、適切な解像度設定(720p、1080p、2K)を選択します。
リソース – プロジェクトページ、arXiv論文、Hugging Faceモデルリポジトリ、YouTube/Bilibiliデモビデオ、および実行可能な推論ケースのセットがREADMEの上部にリンクされています。
TL;DR – Prismは高解像度のジョイントビデオ・オーディオ拡散のための最先端フレームワークであり、コンテンツ認識型動的スパースアテンションを導入してトレーニングを高速化し、出力品質を向上させます。このリポジトリは、完全なトレーニングおよび推論パイプライン、事前トレーニング済みチェックポイント、詳細なセットアップ手順を提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト