はじめに
Open-Soraは、誰でも効率的に高品質のビデオを生成できるように設計されたオープンソースプロジェクトです。hpcaitechチームによって開発され、テキストや画像からビデオを生成するツールを提供し、複数の解像度と持続時間をサポートしています。このプロジェクトは完全にオープンソースであり、モデルの重み、コード、トレーニングプロセスは、コミュニティへの貢献を奨励するために公開されている。最新バージョンであるOpen-Sora 2.0は、性能面で業界のトップモデルに近く、学習コストはわずか20万ドルで、高速かつ高品質なビデオを生成する。ユーザーはコードを無料でダウンロードし、ローカルで実行したり、Hugging FaceのGradioインターフェースを通じて体験することができる。 Open-Soraは、クリエイター、開発者、研究者のためのものであり、商用製品を提供しながら、ビデオ作成における人気と革新を促進している:ビデオ・オーシャン .
機能一覧
- テキストから動画生成:テキストの説明を入力すると、内容に合った動画が生成されます。
- 画像から動画生成:1枚の画像からダイナミックな動画を生成します。
- ビデオの延長:ビデオの長さを延長したり、コンテンツを追加します。
- マルチレゾリューション対応:144pから768pまでのビデオ出力に対応。
- 柔軟な再生時間:2秒から16秒までの動画を作成できます。
- 多彩なアスペクト比:16:9、9:16、1:1などをサポート。
- オープンソースのモデルとトレーニング:モデルの重みとトレーニングコードを提供し、カスタム開発をサポートする。
- 効率的な推論:最適化されたアルゴリズムにより、ハードウェア要件が削減され、1つのGPUでビデオを生成できます。
- キューワードの最適化:GPT-4oをサポートし、キューワードを強化し、生成の質を向上させる。
- モーション・スコアリング:モーション・スコアリングでビデオのダイナミクスを調整します。
ヘルプの使用
設置プロセス
Open-Soraを使うには、Pythonの環境設定と依存関係のインストールが必要です。詳しい手順は以下の通りです:
- 仮想環境の構築
依存関係の衝突を避けるために、Python 3.10で仮想環境を作成する:conda create -n opensora python=3.10 conda activate opensora
- コードベースのクローン
GitHubからOpen-Soraプロジェクトをダウンロードする:git clone https://github.com/hpcaitech/Open-Sora cd Open-Sora
- 依存関係のインストール
以下のコマンドを実行して、PyTorchのバージョンが2.4.0以上であることを確認してください:pip install -v .
開発モードが必要な場合は、それを使用する:
pip install -v -e .
- アクセラレーション・ライブラリのインストール
オープン・ソラの使い方xformers
歌で応えるflash-attn
パフォーマンスを高める。CUDAのバージョンに応じてインストールされます:pip install xformers==0.0.27.post2 --index-url https://download.pytorch.org/whl/cu121 pip install flash-attn --no-build-isolation
より高速な推論のために、手動でコンパイルされた
flash-attention
::git clone https://github.com/Dao-AILab/flash-attention cd flash-attention/hopper python setup.py install
- モデルウェイトのダウンロード
Open-Sora 2.0は256pと768pのビデオ生成をサポートし、モデルはHugging FaceまたはModelScopeからダウンロードできる:pip install "huggingface_hub[cli]" huggingface-cli download hpcai-tech/Open-Sora-v2 --local-dir ./ckpts
または ModelScope を使用します:
pip install modelscope modelscope download hpcai-tech/Open-Sora-v2 --local_dir ./ckpts
- インストールの確認
環境が正常であることを確認する:python -c "import opensora; print(opensora.__version__)"
使用方法
Open-Soraは、テキストからビデオ、画像からビデオ、その他多くの機能を簡単な操作でサポートしています。以下はその詳細です:
テキストからビデオへ
Open-Soraは画像から動画へのプロセスを最適化しますが、テキストから動画への直接生成もサポートしています。品質を向上させるには、テキストから画像、動画へのパイプラインを推奨します。
- キューの準備
例えば、「嵐の海、岩に打ち寄せる大きな波、暗い雲」など。手がかりとなる言葉が具体的であればあるほど、良い結果が得られます。 - generateコマンドを実行する
256x256のビデオを生成する:torchrun --nproc_per_node 1 --standalone scripts/diffusion/inference.py configs/diffusion/inference/t2i2v_256px.py --save-dir samples --prompt "Stormy ocean with crashing waves"
768x768のビデオを生成する(複数のGPUが必要):
torchrun --nproc_per_node 8 --standalone scripts/diffusion/inference.py configs/diffusion/inference/t2i2v_768px.py --save-dir samples --prompt "Stormy ocean with crashing waves"
- 調整パラメーター
--aspect_ratio
アスペクト比を設定する。16:9
もしかしたら1:1
.--num_frames
4k+1(最大129フレーム)の範囲でフレーム数を設定。--offload True
ローエンドデバイス向けのメモリ最適化を有効にする。
- 結果を見る
生成されたビデオはsamples
フォルダにMP4形式で保存する。
画像からビデオへの変換
- 参考画像の準備
画像をアップロードしてinput.png
. - generateコマンドを実行する
256pのビデオを生成する:torchrun --nproc_per_node 1 --standalone scripts/diffusion/inference.py configs/diffusion/inference/256px.py --cond_type i2v_head --prompt "A serene forest with flowing river" --ref input.png
768pのビデオを生成する:
torchrun --nproc_per_node 8 --standalone scripts/diffusion/inference.py configs/diffusion/inference/768px.py --cond_type i2v_head --prompt "A serene forest with flowing river" --ref input.png
- ダイナミック・エフェクトの最適化
利用する--motion-score
画面ダイナミクスの度合いを調整する。デフォルト値は4:torchrun --nproc_per_node 1 --standalone scripts/diffusion/inference.py configs/diffusion/inference/256px.py --cond_type i2v_head --prompt "A running horse" --ref horse.png --motion-score 7
キュー・ワードの最適化
Open-SoraはGPT-4oの使用をサポートし、キュー・ワードを最適化し、ジェネレーションの質を向上させる:
- OpenAI API キーを設定します:
export OPENAI_API_KEY=sk-xxxx
- optimiseコマンドを実行する:
torchrun --nproc_per_node 1 --standalone scripts/diffusion/inference.py configs/diffusion/inference/t2i2v_256px.py --save-dir samples --prompt "raining, sea" --refine-prompt True
グラディオ・インターフェースの操作
Open-Soraはインタラクティブなグラディオのインターフェースを提供する:
- 起動インターフェース:
python scripts/demo.py --model-type v2-768px
- ブラウザからアクセス
http://localhost:7860
. - プロンプトの単語を入力するか、写真をアップロードして、解像度とフレームレートを調整し、"Generate "をクリックしてビデオを生成する。
- プロンプトを絞り込む」最適化プロンプトを有効にできます(OpenAIのAPIキーが必要です)。
カスタムモデルのトレーニング
ユーザーは自分のデータセットに基づいてモデルを訓練することができる:
- データセットを用意する:動画のパスと説明を含むCSVファイル。
- 設定ファイルを修正する:
configs/opensora-v2/train/stage1.py
データパスを設定する。 - ランのトレーニング:
torchrun --nproc_per_node 8 scripts/train.py configs/opensora-v2/train/stage1.py --data-path your_data.csv
計算効率
Open-Soraは推論効率を最適化しており、テスト結果は以下の通りです(H100 GPU、50ステップのサンプリング):
- 256x256:シングルGPU 60秒、メモリ52.5GB、4GPU 34秒、メモリ44.3GB。
- 768x768:8GPU、276秒、44.3GBビデオメモリ。
ほら
- ハードウェア要件少なくとも24GBのビデオメモリを搭載したNVIDIA H100またはA100を推奨します。
- キューの質詳細な説明文は、ビデオの結果を劇的に改善します。
- ライセンスOpen-SoraはMITライセンスを使用しており、条件付きで商用利用が可能です。
アプリケーションシナリオ
- ショートビデオ制作
ブロガーはOpen-Soraを使って、ソーシャルメディア上で共有するための「夜にきらめく街の光」などのプロモーションビデオを作成することができる。 - 教育用アニメーション
教師は「太陽の周りを回る惑星」などのアニメーションを作成し、授業の魅力を高めることができる。 - ゲームシーンのデザイン
開発者は、ゲームの背景やトランジションに使用するために、コンセプトマップに基づいてダイナミックなシーンを生成します。 - AIリサーチ
研究者はモデルコードを修正して、新しいアルゴリズムやデータセットをテストし、ビデオ生成技術を進歩させることができる。
品質保証
- オープン-そら2.0のパフォーマンスは?
VBenchのレビューでは、Open-Sora 2.0はOpenAI Soraとの差を0.69%まで縮め、HunyuanVideo 11BとStep-Video 30Bに近づいた。 - どのような解像度とデュレーションに対応していますか?
144p~768p、2秒~16秒のビデオ時間、16:9、9:16などのアスペクト比をサポート。 - 発電の質を最適化するには?
細かい合図で調整するmotion-score
(1-7)、またはGPT-4o Optimise Prompt Wordsを有効にする。 - 無料で使えますか?
Open-Soraは完全にオープンソースであり、MITライセンスに従ってモデルとコードが自由に利用できる。