モデル概要
モデル特徴
モデル能力
使用事例
license: other license_name: skywork-license license_link: LICENSE pipeline_tag: text-to-video
SkyReels V2: 無限長動画生成モデル
📑 技術レポート · 👋 プレイグラウンド · 💬 Discord · 🤗 Hugging Face · 🤖 ModelScope · 🌐 GitHub
SkyReels V2リポジトリへようこそ!ここでは、無限長動画生成モデルの重みを公開しています。私たちの知る限り、これはAutoRegressive Diffusion-Forcingアーキテクチャを採用した最初のオープンソース動画生成モデルであり、公開モデルの中でSOTA性能を達成しています。
🔥🔥🔥 最新情報!!
- 2025年4月24日: 🔥 720Pモデル、SkyReels-V2-DF-14B-720PとSkyReels-V2-I2V-14B-720Pをリリース。前者は無限長の自己回帰的動画生成を、後者はImage2Video合成に特化しています。
- 2025年4月21日: 👋 SkyReels-V2シリーズモデルの推論コードと重み、および動画キャプションモデルSkyCaptioner-V1を公開。
- 2025年4月3日: 🔥 SkyReels-A2もリリース。任意の視覚要素を組み合わせ可能な制御可能な動画生成フレームワークです。
- 2025年2月18日: 🔥 SkyReels-A1を公開。ポートレート画像アニメーションのための効果的なオープンソースフレームワークです。
- 2025年2月18日: 🔥 SkyReels-V1をリリース。人間中心の動画基盤モデルとして最初で最も先進的なオープンソースモデルです。
🎥 デモ
📑 今後の予定
- [x] 技術レポート
- [x] 14Bおよび1.3Bモデルシリーズのチェックポイント
- [x] シングルGPU&マルチGPU推論コード
- [x] SkyCaptioner-V1: 動画キャプションモデル
- [x] プロンプトエンハンサー
- [ ] Diffusers統合
- [ ] 5Bモデルシリーズのチェックポイント
- [ ] カメラディレクターモデルのチェックポイント
- [ ] ステップ&ガイダンス蒸留モデルのチェックポイント
🚀 クイックスタート
インストール
# リポジトリをクローン
git clone https://github.com/SkyworkAI/SkyReels-V2
cd SkyReels-V2
# 依存関係をインストール。テスト環境はPython 3.10.12を使用
pip install -r requirements.txt
モデルダウンロード
Hugging Faceからモデルをダウンロード可能:
タイプ | モデルバリアント | 推奨高さ/幅/フレーム | リンク |
---|---|---|---|
Diffusion Forcing | 1.3B-540P | 544 * 960 * 97f | 🤗 Huggingface 🤖 ModelScope |
5B-540P | 544 * 960 * 97f | 近日公開 | |
5B-720P | 720 * 1280 * 121f | 近日公開 | |
14B-540P | 544 * 960 * 97f | 🤗 Huggingface 🤖 ModelScope | |
14B-720P | 720 * 1280 * 121f | 🤗 Huggingface 🤖 ModelScope | |
テキストから動画 | 1.3B-540P | 544 * 960 * 97f | 近日公開 |
5B-540P | 544 * 960 * 97f | 近日公開 | |
5B-720P | 720 * 1280 * 121f | 近日公開 | |
14B-540P | 544 * 960 * 97f | 🤗 Huggingface 🤖 ModelScope | |
14B-720P | 720 * 1280 * 121f | 🤗 Huggingface 🤖 ModelScope | |
画像から動画 | 1.3B-540P | 544 * 960 * 97f | 🤗 Huggingface 🤖 ModelScope |
5B-540P | 544 * 960 * 97f | 近日公開 | |
5B-720P | 720 * 1280 * 121f | 近日公開 | |
14B-540P | 544 * 960 * 97f | 🤗 Huggingface 🤖 ModelScope | |
14B-720P | 720 * 1280 * 121f | 🤗 Huggingface 🤖 ModelScope | |
カメラディレクター | 5B-540P | 544 * 960 * 97f | 近日公開 |
5B-720P | 720 * 1280 * 121f | 近日公開 | |
14B-720P | 720 * 1280 * 121f | 近日公開 |
ダウンロード後、生成コマンドでモデルパスを設定:
シングルGPU推論
- 長い動画生成のためのDiffusion Forcing
Diffusion Forcingバージョンモデルは無限長動画生成を可能にします。このモデルは**テキストから動画(T2V)と画像から動画(I2V)**の両タスクをサポートし、同期・非同期両モードで推論可能です。ここでは長い動画生成の例として2つの実行スクリプトを示します。推論パラメータ(動画の長さ、推論モードなど)を調整したい場合は、まず以下の注意事項をお読みください。
10秒動画の同期生成
model_id=Skywork/SkyReels-V2-DF-14B-540P
# 同期推論
python3 generate_video_df.py \
--model_id ${model_id} \
--resolution 540P \
--ar_step 0 \
--base_num_frames 97 \
--num_frames 257 \
--overlap_history 17 \
--prompt "夜明けの静かな湖で優雅に泳ぐ白鳥。首を曲げ、繊細な羽根を広げ、水面に完璧な反射を作り出している。霧が立ち込める中、時折頭を水に浸して餌を探す。" \
--addnoise_condition 20 \
--offload \
--teacache \
--use_ret_steps \
--teacache_thresh 0.3
30秒動画の非同期生成
model_id=Skywork/SkyReels-V2-DF-14B-540P
# 非同期推論
python3 generate_video_df.py \
--model_id ${model_id} \
--resolution 540P \
--ar_step 5 \
--causal_block_size 5 \
--base_num_frames 97 \
--num_frames 737 \
--overlap_history 17 \
--prompt "夜明けの静かな湖で優雅に泳ぐ白鳥。首を曲げ、繊細な羽根を広げ、水面に完璧な反射を作り出している。霧が立ち込める中、時折頭を水に浸して餌を探す。" \
--addnoise_condition 20 \
--offload
注意:
- **画像から動画(I2V)タスクを実行する場合は、コマンドに
--image ${image_path}
を追加してください。また、最初のフレーム画像の説明を含むテキストから動画(T2V)**のようなプロンプトを使用するのが良いでしょう。- 長い動画生成の場合、単に
--num_frames
を切り替えることができます。例えば、10秒動画には--num_frames 257
、15秒動画には--num_frames 377
、30秒動画には--num_frames 737
、60秒動画には--num_frames 1457
です。この数値は指定した時間長の論理フレーム数と完全に一致するわけではありませんが、いくつかのトレーニングパラメータと一致しており、より良いパフォーマンスが得られる可能性があります。因果ブロックサイズ>1で非同期推論を使用する場合、--num_frames
は慎重に設定する必要があります。- 非同期推論を有効にするには
--ar_step 5
を使用できます。非同期推論時には--causal_block_size 5
が推奨されますが、同期生成時には設定しないでください。覚えておいてください、モデルに入力されるフレーム潜在変数の数(例えば、base_num_frames=97の場合(97-1)//4+1=25、base_num_frames=97、num_frames=237、overlap_history=17の場合最後のイテレーションでは(237-97-(97-17)x1+17-1)//4+1=20)は、因果ブロックサイズで割り切れる必要があります。計算が難しすぎると感じたり適切な値を設定できない場合は、上記の推奨設定を使用してください:)。非同期推論はシーケンス全体を拡散するのに多くのステップを要するため、同期モードよりも遅くなります。私たちの実験では、非同期推論は指示追従と視覚的一貫性のパフォーマンスを向上させる可能性があります。- ピークVRAMを減らすには、生成したい長さ
--num_frames
を同じに保ちながら、--base_num_frames
を(例えば77や57に)下げてください。これにより動画品質がわずかに低下する可能性があり、小さすぎる値に設定しないでください。--addnoise_condition
は、クリーンな条件にノイズを加えることで長い動画生成をスムーズにするのに役立ちます。ノイズが大きすぎると一貫性が損なわれる可能性もあります。20が推奨値で、より大きな値を試すこともできますが、50を超えないようにしてください。- 1.3Bモデルで540P動画を生成するには約14.7GBのピークVRAMが必要で、14Bモデルで同じ解像度の動画を生成するには約51.2GBのピークVRAMが必要です。
- テキストから動画 & 画像から動画
# テキストから動画生成を実行
model_id=Skywork/SkyReels-V2-T2V-14B-540P
python3 generate_video.py \
--model_id ${model_id} \
--resolution 540P \
--num_frames 97 \
--guidance_scale 6.0 \
--shift 8.0 \
--fps 24 \
--prompt "そびえ立つ山々に囲まれた静かな湖。数羽の白鳥が優雅に水面を滑り、陽光が水面で踊っている。" \
--offload \
--teacache \
--use_ret_steps \
--teacache_thresh 0.3
注意:
- **画像から動画(I2V)**モデルを使用する場合、
--image ${image_path}
パラメータを使用して入力画像を提供する必要があります。I2Vモデルには--guidance_scale 5.0
と--shift 3.0
が推奨されます。- 1.3Bモデルで540P動画を生成するには約14.7GBのピークVRAMが必要で、14Bモデルで同じ解像度の動画を生成するには約43.4GBのピークVRAMが必要です。
- プロンプトエンハンサー
プロンプトエンハンサーはQwen2.5-32B-Instructをベースに実装されており、--prompt_enhancer
パラメータを通じて利用されます。短いプロンプトに対して理想的に機能しますが、長いプロンプトの場合、生成動画が過飽和状態になる可能性のある過度に長いプロンプトを生成する可能性があります。--prompt_enhancer
を使用する場合、GPUのピークメモリは64G+になることに注意してください。強化されたプロンプトを個別に取得したい場合は、テストのためにprompt_enhancerスクリプトを個別に実行することもできます。手順は以下の通りです:
cd skyreels_v2_infer/pipelines
python3 prompt_enhancer.py --prompt "そびえ立つ山々に囲まれた静かな湖。数羽の白鳥が優雅に水面を滑り、陽光が水面で踊っている。"
注意:
--use_usp
を使用する場合、--prompt_enhancer
は許可されません。--use_usp
パラメータを有効にする前に、skyreels_v2_infer/pipelines/prompt_enhancer.pyスクリプトを実行して強化されたプロンプトを生成することをお勧めします。
高度な設定オプション
以下は動画生成のためにカスタマイズ可能な主要パラメータです:
パラメータ | 推奨値 | 説明 |
---|---|---|
--prompt | 動画生成のためのテキスト説明 | |
--image | 画像から動画生成のための入力画像パス | |
--resolution | 540P または 720P | 出力動画解像度(モデルタイプに基づいて選択) |
--num_frames | 97 または 121 | 生成する総フレーム数(540Pモデルには97、720Pモデルには121) |
--inference_steps | 50 | ノイズ除去ステップ数 |
--fps | 24 | 出力動画のフレームレート |
--shift | 8.0 または 5.0 | フローマッチングスケジューラパラメータ(T2Vには8.0、I2Vには5.0) |
--guidance_scale | 6.0 または 5.0 | テキスト遵守強度を制御(T2Vには6.0、I2Vには5.0) |
--seed | 再現可能な結果のための固定シード(ランダム生成の場合は省略) | |
--offload | True | VRAM使用量を減らすためにモデルコンポーネントをCPUにオフロード(推奨) |
--use_usp | True | xDiT USPによるマルチGPU加速を有効化 |
--outdir | ./video_out | 生成動画の保存ディレクトリ |
--prompt_enhancer | True | プロンプトをより詳細な説明に展開 |
--teacache | False | 高速推論のためのteacacheを有効化 |
--teacache_thresh | 0.2 | 高速化が大きいほど品質が低下 |
--use_ret_steps | False | teacacheのためのリテンションステップ |
Diffusion Forcing追加パラメータ
パラメータ | 推奨値 | 説明 |
---|---|---|
--ar_step | 0 | 非同期推論を制御(0は同期モード) |
--base_num_frames | 97 または 121 | ベースフレーム数(540Pには97、720Pには121) |
--overlap_history | 17 | 長い動画のスムーズな遷移のためのオーバーラップフレーム数 |
--addnoise_condition | 20 | 長い動画生成の一貫性を向上 |
--causal_block_size | 5 | 非同期推論使用時(--ar_step > 0)に推奨 |
xDiT USPを使用したマルチGPU推論
xDiT USPを使用して推論を加速します。例えば、2GPUで動画を生成するには以下のコマンドを使用:
- Diffusion Forcing
model_id=Skywork/SkyReels-V2-DF-14B-540P
# diffusion forcing同期推論
torchrun --nproc_per_node=2 generate_video_df.py \
--model_id ${model_id} \
--resolution 540P \
--ar_step 0 \
--base_num_frames 97 \
--num_frames 257 \
--overlap_history 17 \
--prompt "夜明けの静かな湖で優雅に泳ぐ白鳥。首を曲げ、繊細な羽根を広げ、水面に完璧な反射を作り出している。霧が立ち込める中、時折頭を水に浸して餌を探す。" \
--addnoise_condition 20 \
--use_usp \
--offload \
--seed 42
- テキストから動画 & 画像から動画
# テキストから動画生成を実行
model_id=Skywork/SkyReels-V2-T2V-14B-540P
torchrun --nproc_per_node=2 generate_video.py \
--model_id ${model_id} \
--resolution 540P \
--num_frames 97 \
--guidance_scale 6.0 \
--shift 8.0 \
--fps 24 \
--offload \
--prompt "そびえ立つ山々に囲まれた静かな湖。数羽の白鳥が優雅に水面を滑り、陽光が水面で踊っている。" \
--use_usp \
--seed 42
注意:
- **画像から動画(I2V)**モデルを使用する場合、
--image ${image_path}
パラメータを使用して入力画像を提供する必要があります。I2Vモデルには--guidance_scale 5.0
と--shift 3.0
が推奨されます。
目次
概要
動画生成の最近の進歩は拡散モデルと自己回帰フレームワークによって推進されてきましたが、プロンプト遵守、視覚的品質、動的モーション、および時間長の調和において重要な課題が残っています: 時間的視覚的品質を向上させるための動的モーションの妥協、解像度を優先するための動画時間の制約(5-10秒)、一般的なMLLMがショット構成、俳優の表情、カメラモーションなどの映画文法を解釈できないことから生じるショット認識生成の不十分さ。これらの相互に関連する制限は、現実的な長編合成とプロフェッショナルな映画スタイルの生成を妨げています。
これらの制限に対処するため、私たちはDiffusion Forcingフレームワークを使用した世界初の無限長映画生成モデルであるSkyReels-V2を紹介します。私たちのアプローチは、マルチモーダル大規模言語モデル(MLLM)、多段階事前学習、強化学習、およびDiffusion Forcing技術を統合して包括的な最適化を実現します。技術的革新を超えて、SkyReels-V2はストーリー生成、画像から動画への合成、カメラディレクター機能、およびSkyreels-A2システムを通じたマルチサブジェクト一貫性動画生成を含む複数の実用的なアプリケーションを可能にします。
SkyReels-V2の方法論
SkyReels-V2の方法論はいくつかの相互接続されたコンポーネントで構成されています。さまざまな品質のトレーニングデータを準備する包括的なデータ処理パイプラインから始まります。その中核には、動画コンテンツに詳細な注釈を提供する動画キャプショナーアーキテクチャがあります。このシステムは、基本的な動画生成能力を構築するためのマルチタスク事前学習戦略を採用しています。トレーニング後の最適化には、モーション品質を向上させるための強化学習、拡張動画生成のためのDiffusion Forcingトレーニング、視覚的洗練のための高品質教師ありファインチューニング(SFT)段階が含まれます。モデルは効率的なトレーニングと推論のために最適化された計算インフラストラクチャで実行されます。SkyReels-V2は、ストーリー生成、画像から動画への合成、カメラディレクター機能、および要素から動画への生成を含む複数のアプリケーションをサポートします。
SkyReels-V2の主な貢献
動画キャプショナー
SkyCaptioner-V1は、データ注釈のための私たちの動画キャプションモデルとして機能します。このモデルは、ベースモデルQwen2.5-VL-72B-Instructのキャプショニング結果と、バランスの取れた動画データ上のサブエキスパートキャプショナーでトレーニングされています。バランスの取れた動画データは、概念のバランスと注釈品質を確保するために約200万の動画から慎重に選ばれたデータセットです。Qwen2.5-VL-7B-Instruct基盤モデルを基に構築されたSkyCaptioner-V1は、ドメイン固有の動画キャプショニングタスクでパフォーマンスを向上させるためにファインチューニングされています。SOTAモデルと性能を比較するために、1,000サンプルのテストセットを使用して異なるキャプショニング分野の精度を手動で評価しました。提案されたSkyCaptioner-V1は、ベースラインモデルの中で最高の平均精度を達成し、ショット関連分野で劇的な結果を示しています。