Open-Soraという、オープンな動画生成モデルのバージョン1.2が6/17に出ていたのでWindowsで試してみました。
GPUメモリほしい。
GitHub - hpcaitech/Open-Sora: Open-Sora: Democratizing Efficient Video Production for All
Open-Soraのアーキテクチャとかはこちらが詳しい
【次世代動画生成】Open-Sora徹底解説【OSS版Sora?】
Windowsの場合、SpacesというモジュールがForkProcessesというモジュールを使っていて、これがUNIX系OSじゃないと動かないのでWSLを使う必要があります。
ということでWSLへのCUDAのインストール。11.8を使うことにします。ここの手順どおり。
https://developer.nvidia.com/cuda-11-8-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=deb_local
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb sudo dpkg -i cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb sudo cp /var/cuda-repo-wsl-ubuntu-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/ sudo apt-get update sudo apt-get -y install cuda
リポジトリのclone
git clone https://github.com/hpcaitech/Open-Sora.git cd Open-Sora
venvとか作っておくほうがいいですね。
python -m venv opensora source opensora/bin/activate
依存のインストール
pip install -v .
CUDA11.8を使う場合は、xformersは自分でインストールします。
pip install -U xformers --index-url https://download.pytorch.org/whl/cu118
PyTorch 2.3.0を入れてくるので、改めて2.3.1を入れなおし。 https://pytorch.org/get-started/locally/
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
flash_attnも必要
pip install flash_attn --no-build-isolation
あと、ffmpegが必要です。なくてもいいけど、SORAのロゴを入れるのに使います。
sudo apt-get install ffmpeg
入れなくても動くけど、もしapexを入れるならpython.hがないというエラーを回避するためにpython-devが必要です。バージョンはインストールされているPythonにあわせてください。
sudo apt install python3.11-dev
apexを入れる場合のインストールはこう。
pip install -v --disable-pip-version-check --no-cache-dir --no-build-isolation --config-settings "--build-option=--cpp_ext" --config-settings "--build-option=--cuda_ext" git+https://github.com/NVIDIA/apex.git
そしたら起動
python gradio/app.py
360p 2秒 30ステップでRTX 4060 Ti 16GBだと2時間半かかりました。プロンプトは「2 cats are fignting」
画像を指定してやってみます。
「the man drinking beer」だけど、そうくるかーという感じw
数時間かかるのは、モデルがGPUに乗り切れてなくてCPUにオフロードしてるからです。
動画が安定しないのは、どうやら360p以下ではまともな絵が生成できないっぽい。
144pで「cat is dancing on the shibuya street」ではこんな感じになりました。
それではと、480pの動画を作ろうと思ったら、2時間たっても1stepも進まないので絶望。
GPUメモリは24GBでも足りないみたいなので、家庭用GPUでは無理そうですね。4060 Ti 16GBを2枚挿すといけるのかも?
追記: Google Colabに課金して動かす手順をまとめました。あとdancingとか動きを指定するとダメぽく、sittingとするなど静止画の背景を動かすくらいでやるとよさそうです。
Open SoraをGoogle Colabで動かして高速動画生成 - きしだのHatena