Hunyuan Video 1.5 クイックスタート¶
このガイドでは、SimpleTunerを使用してTencentの8.3B Hunyuan Video 1.5リリース(tencent/HunyuanVideo-1.5)でLoRAをトレーニングする方法を説明します。
ハードウェア要件¶
Hunyuan Video 1.5は大規模モデル(8.3Bパラメータ)です。
- 最小: 480pでフル勾配チェックポイントを使用したRank-16 LoRAには24GB-32GB VRAMが快適です。
- 推奨: 720pトレーニングやより大きなバッチサイズにはA6000 / A100(48GB-80GB)。
- システムRAM: モデルロードを処理するために64GB以上を推奨。
前提条件¶
Pythonがインストールされていることを確認してください。SimpleTunerは3.10から3.12で動作します。
以下のコマンドで確認できます:
Ubuntuにpython 3.12がインストールされていない場合は、以下を試してください:
コンテナイメージの依存関係¶
Vast、RunPod、TensorDock(など)の場合、CUDA 12.2-12.8イメージでCUDA拡張のコンパイルを有効にするには以下が機能します:
AMD ROCmフォローアップ手順¶
AMD MI300Xを使用可能にするには、以下を実行する必要があります:
apt install amd-smi-lib
pushd /opt/rocm/share/amd_smi
python3 -m pip install --upgrade pip
python3 -m pip install .
popd
インストール¶
pip経由でSimpleTunerをインストール:
pip install 'simpletuner[cuda]'
# CUDA 13 / Blackwell users (NVIDIA B-series GPUs)
pip install 'simpletuner[cuda13]' --extra-index-url https://download.pytorch.org/whl/cu130
手動インストールまたは開発セットアップについては、インストールドキュメントを参照してください。
必要なチェックポイント¶
メインのtencent/HunyuanVideo-1.5リポジトリにはtransformer/vae/schedulerが含まれていますが、テキストエンコーダー(text_encoder/llm)とビジョンエンコーダー(vision_encoder/siglip)は別のダウンロードにあります。起動前にSimpleTunerをローカルコピーに向けてください:
export HUNYUANVIDEO_TEXT_ENCODER_PATH=/path/to/text_encoder_root
export HUNYUANVIDEO_VISION_ENCODER_PATH=/path/to/vision_encoder_root
これらが設定されていない場合、SimpleTunerはモデルリポジトリからプルしようとします。ほとんどのミラーはそれらをバンドルしていないため、起動エラーを回避するために明示的にパスを設定してください。
環境のセットアップ¶
Webインターフェース方式¶
SimpleTuner WebUIにより、セットアップがかなり簡単になります。サーバーを実行するには:
これにより、デフォルトでポート8001にWebサーバーが作成され、http://localhost:8001にアクセスすることで利用できます。
手動/コマンドライン方式¶
SimpleTunerをコマンドラインツール経由で実行するには、設定ファイル、データセットとモデルのディレクトリ、およびデータローダー設定ファイルをセットアップする必要があります。
設定ファイル¶
実験的なスクリプトconfigure.pyにより、インタラクティブなステップバイステップの設定を通じて、このセクション全体をスキップできる可能性があります。
注意: これはデータローダーを設定しません。後で手動で設定する必要があります。
実行するには:
手動で設定する場合:
config/config.json.exampleをconfig/config.jsonにコピー:
HunyuanVideoの主要な設定オーバーライド:
設定例を表示
{
"model_type": "lora",
"model_family": "hunyuanvideo",
"pretrained_model_name_or_path": "tencent/HunyuanVideo-1.5",
"model_flavour": "t2v-480p",
"output_dir": "output/hunyuan-video",
"validation_resolution": "854x480",
"validation_num_video_frames": 61,
"validation_guidance": 6.0,
"train_batch_size": 1,
"gradient_accumulation_steps": 1,
"learning_rate": 1e-4,
"mixed_precision": "bf16",
"optimizer": "adamw_bf16",
"lora_rank": 16,
"dataset_backend_config": "config/multidatabackend.json"
}
model_flavourオプション:t2v-480p(デフォルト)t2v-720pi2v-480p(Image-to-Video)i2v-720p(Image-to-Video)validation_num_video_frames:(frames - 1) % 4 == 0である必要があります。例: 61、129。
高度な実験的機能¶
高度な実験的詳細を表示
SimpleTunerには、トレーニングの安定性とパフォーマンスを大幅に向上させることができる実験的機能が含まれています。 * **[Scheduled Sampling (Rollout)](../experimental/SCHEDULED_SAMPLING.md):** トレーニング中にモデルが独自の入力を生成できるようにすることで、露出バイアスを減らし、出力品質を向上させます。 > ⚠️ これらの機能はトレーニングの計算オーバーヘッドを増加させます。 #### データセットの考慮事項 以下を含む`--data_backend_config`(`config/multidatabackend.json`)ドキュメントを作成します:[
{
"id": "my-video-dataset",
"type": "local",
"dataset_type": "video",
"instance_data_dir": "datasets/videos",
"caption_strategy": "textfile",
"resolution": 480,
"video": {
"num_frames": 61,
"min_frames": 61,
"frame_rate": 24,
"bucket_strategy": "aspect_ratio"
},
"repeats": 10
},
{
"id": "text-embeds",
"type": "local",
"dataset_type": "text_embeds",
"default": true,
"cache_dir": "cache/text/hunyuan",
"disabled": false
}
]
トレーニング実行の実行¶
SimpleTunerディレクトリから:
注意事項とトラブルシューティングのヒント¶
VRAM最適化¶
- 解像度: VRAMが限られている場合は480p(
854x480または類似)に固定してください。720p(1280x720)はメモリ使用量が大幅に増加します。 - 量子化:
base_model_precisionを使用(bf16がデフォルト)。速度を犠牲にしてさらに節約するにはint8-torchaoが機能します。 - VAEパッチコンボリューション: HunyuanVideo VAE OOMの場合、
--vae_enable_patch_conv=trueを設定(またはUIでトグル)。これにより3D conv/attentionワークがスライスされ、ピークVRAMが低下します。若干のスループット低下を予想してください。
Image-to-Video(I2V)¶
model_flavour="i2v-480p"またはi2v-720pを使用。- SimpleTunerはトレーニング中に動画データセットサンプルの最初のフレームをコンディショニング画像として自動的に使用します。
I2V検証オプション¶
i2vモデルの検証には、2つのオプションがあります:
-
自動抽出された最初のフレーム: デフォルトでは、検証はデータセット内の動画サンプルの最初のフレームを使用します。
-
別の画像データセット(よりシンプルな設定):
--validation_using_datasets=trueを使用し、--eval_dataset_idを画像データセットに指定します。これにより、トレーニング時に使用される複雑なコンディショニングデータセットのペアリング設定なしで、任意の画像データセットを検証動画の最初のフレームコンディショニング入力として使用できます。
オプション2の設定例:
テキストエンコーダー¶
Hunyuanはデュアルテキストエンコーダーセットアップ(LLM + CLIP)を使用します。システムRAMがキャッシングフェーズ中にこれらのロードを処理できることを確認してください。