LUMINA2.hi
Lumina2 क्विकस्टार्ट¶
इस उदाहरण में, हम Lumina2 LoRA या full model fine‑tune प्रशिक्षण करेंगे।
हार्डवेयर आवश्यकताएँ¶
Lumina2 एक 2B पैरामीटर मॉडल है, जो Flux या SD3 जैसे बड़े मॉडलों की तुलना में काफी अधिक सुलभ है। मॉडल का छोटा आकार मतलब:
rank‑16 LoRA प्रशिक्षण पर यह उपयोग करता है: - लगभग 12‑14GB VRAM (LoRA प्रशिक्षण) - लगभग 16‑20GB VRAM (full fine‑tuning) - startup के दौरान लगभग 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 इंस्टॉल नहीं है, तो आप यह प्रयास कर सकते हैं:
Container image dependencies¶
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
मैनुअल इंस्टॉलेशन या डेवलपमेंट सेटअप के लिए, installation documentation देखें।
वातावरण सेटअप¶
SimpleTuner चलाने के लिए, आपको एक configuration फ़ाइल, dataset और model directories, तथा एक dataloader configuration फ़ाइल सेट करनी होगी।
Configuration file¶
config/config.json.example को config/config.json में कॉपी करें:
वहाँ आपको निम्न वेरिएबल्स बदलने होंगे:
model_type- LoRA प्रशिक्षण के लिएloraया full fine‑tuning के लिएfullसेट करें।model_family- इसेlumina2पर सेट करें।output_dir- इसे उस डायरेक्टरी पर सेट करें जहाँ आप अपने checkpoints और validation images रखना चाहते हैं। यहाँ full path उपयोग करने की सलाह है।train_batch_size- आपके GPU memory और dataset size पर निर्भर करते हुए 1‑4 हो सकता है।validation_resolution- Lumina2 कई resolutions सपोर्ट करता है। सामान्य विकल्प:1024x1024,512x512,768x768।validation_guidance- Lumina2 classifier‑free guidance उपयोग करता है। 3.5‑7.0 के मान अच्छे चलते हैं।validation_num_inference_steps- 20‑30 स्टेप्स Lumina2 के लिए अच्छे हैं।gradient_accumulation_steps- बड़े batch का अनुकरण करने के लिए उपयोग करें। 2‑4 अच्छा काम करता है।optimizer-adamw_bf16अनुशंसित है।lionऔरoptimi-stableadamwभी अच्छे काम करते हैं।mixed_precision- सर्वोत्तम परिणामों के लिए इसेbf16रखें।gradient_checkpointing- VRAM बचाने के लिएtrueसेट करें।learning_rate- LoRA के लिए:1e-4से5e-5। Full fine‑tuning के लिए: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):** exposure bias कम करता है और आउटपुट गुणवत्ता बढ़ाता है, क्योंकि यह प्रशिक्षण के दौरान मॉडल को अपने इनपुट्स खुद जनरेट करने देता है। > ⚠️ ये फीचर्स प्रशिक्षण के कंप्यूटेशनल ओवरहेड को बढ़ाते हैं। #### वैलिडेशन प्रॉम्प्ट्स `config/config.json` के अंदर "primary validation prompt" होता है। इसके अतिरिक्त, एक prompt library फ़ाइल बनाएँ:{
"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
}
]