LUMINA2.ja
Lumina2 クイックスタート¶
この例では、Lumina2 の LoRA もしくはフルモデルのファインチューニングを行います。
ハードウェア要件¶
Lumina2 は 2B パラメータのモデルで、Flux や SD3 のような大型モデルよりもはるかに扱いやすいです。小型であることにより:
Rank-16 LoRA の場合: - LoRA 学習で約 12〜14GB の VRAM - フルモデルのファインチューニングで約 16〜20GB の VRAM - 起動時に約 20〜30GB のシステム RAM
必要なもの: - 最小: RTX 3060 12GB または RTX 4060 Ti 16GB - 推奨: RTX 3090、RTX 4090、A100(より高速) - システム RAM: 32GB 以上推奨
前提条件¶
Python がインストールされていることを確認してください。SimpleTuner は 3.10 から 3.12 でうまく動作します。
以下を実行して確認できます:
Ubuntu に Python 3.12 がインストールされていない場合は、以下を試してください:
コンテナイメージの依存関係¶
Vast、RunPod、TensorDock(など)の場合、CUDA 12.2-12.8 イメージで以下が機能します:
インストール¶
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
手動インストールまたは開発セットアップについては、インストールドキュメントを参照してください。
環境のセットアップ¶
SimpleTuner を実行するには、設定ファイル、データセットとモデルのディレクトリ、およびデータローダー設定ファイルをセットアップする必要があります。
設定ファイル¶
config/config.json.example を config/config.json にコピーします:
そこで、以下の変数を変更する必要があります:
model_type- LoRA トレーニングならlora、フルファインチューニングならfullに設定します。model_family-lumina2に設定します。output_dir- チェックポイントと検証画像を保存するディレクトリに設定します。フルパスの使用を推奨します。train_batch_size- GPU メモリとデータセットサイズに応じて 1〜4。validation_resolution- Lumina2 は複数解像度をサポートします。よく使われるのは1024x1024、512x512、768x768。validation_guidance- Lumina2 は classifier-free guidance を使用します。3.5〜7.0 が有効です。validation_num_inference_steps- 20〜30 ステップが適切です。gradient_accumulation_steps- 大きなバッチサイズを擬似的に再現できます。2〜4 が有効です。optimizer-adamw_bf16を推奨します。lionやoptimi-stableadamwも動作します。mixed_precision- 最良の結果のためbf16を維持します。gradient_checkpointing- VRAM を節約するためtrueに設定します。learning_rate- LoRA:1e-4〜5e-5。フルファインチューニング:1e-5〜1e-6。
Lumina2 の設定例¶
これは config.json に入れます。
設定例を表示
{
"base_model_precision": "int8-torchao",
"checkpoint_step_interval": 50,
"data_backend_config": "config/lumina2/multidatabackend.json",
"disable_bucket_pruning": true,
"eval_steps_interval": 50,
"evaluation_type": "clip",
"flow_schedule_auto_shift": true,
"gradient_checkpointing": true,
"hub_model_id": "lumina2-lora",
"learning_rate": 1e-4,
"lora_alpha": 16,
"lora_rank": 16,
"lora_type": "standard",
"lr_scheduler": "constant",
"max_train_steps": 400000,
"model_family": "lumina2",
"model_type": "lora",
"num_train_epochs": 0,
"optimizer": "adamw_bf16",
"output_dir": "output/lumina2",
"push_checkpoints_to_hub": true,
"push_to_hub": true,
"quantize_via": "cpu",
"report_to": "wandb",
"seed": 42,
"tracker_project_name": "lumina2-training",
"tracker_run_name": "lumina2-lora",
"train_batch_size": 4,
"use_ema": true,
"vae_batch_size": 1,
"validation_disable_unconditional": true,
"validation_guidance": 4.0,
"validation_guidance_rescale": 0.0,
"validation_negative_prompt": "ugly, cropped, blurry, low-quality, mediocre average",
"validation_num_inference_steps": 40,
"validation_prompt": "A photo-realistic image of a cat",
"validation_prompt_library": false,
"validation_resolution": "1024x1024",
"validation_seed": 42,
"validation_step_interval": 50
}
Lycoris トレーニングの場合は lora_type を lycoris に切り替えてください。
高度な実験的機能¶
高度な実験的詳細を表示
SimpleTuner には、トレーニングの安定性とパフォーマンスを大幅に向上させる実験的機能が含まれています。 * **[Scheduled Sampling (Rollout)](../experimental/SCHEDULED_SAMPLING.md):** トレーニング中にモデルが自身の入力を生成することで露出バイアスを減らし、出力品質を向上させます。 > ⚠️ これらの機能はトレーニングの計算オーバーヘッドを増加させます。 #### 検証プロンプト `config/config.json` には「プライマリ検証プロンプト」があります。さらに、プロンプトライブラリを作成します:{
"portrait": "a high-quality portrait photograph with natural lighting",
"landscape": "a breathtaking landscape photograph with dramatic lighting",
"artistic": "an artistic rendering with vibrant colors and creative composition",
"detailed": "a highly detailed image with sharp focus and rich textures",
"stylized": "a stylized illustration with unique artistic flair"
}
[
{
"id": "lumina2-training",
"type": "local",
"crop": true,
"crop_aspect": "square",
"crop_style": "center",
"resolution": 1024,
"minimum_image_size": 512,
"maximum_image_size": 2048,
"target_downsample_size": 1024,
"resolution_type": "pixel_area",
"cache_dir_vae": "cache/vae/lumina2/training",
"instance_data_dir": "/datasets/training",
"caption_strategy": "textfile",
"metadata_backend": "discovery"
},
{
"id": "text-embeds",
"type": "local",
"dataset_type": "text_embeds",
"default": true,
"cache_dir": "cache/text/lumina2",
"disabled": false,
"write_batch_size": 128
}
]