SIGMA.hi
PixArt Sigma क्विकस्टार्ट¶
इस उदाहरण में, हम SimpleTuner टूलकिट का उपयोग करके PixArt Sigma मॉडल को प्रशिक्षित करेंगे और full मॉडल टाइप का उपयोग करेंगे, क्योंकि यह छोटा मॉडल होने के कारण VRAM में फिट हो सकता है।
पूर्वापेक्षाएँ¶
सुनिश्चित करें कि Python इंस्टॉल है; SimpleTuner 3.10 से 3.12 के साथ अच्छा काम करता है।
आप इसे चलाकर जांच सकते हैं:
यदि आपके Ubuntu पर python 3.12 इंस्टॉल नहीं है, तो आप यह कोशिश कर सकते हैं:
Container image dependencies¶
Vast, RunPod, और TensorDock (आदि) के लिए, CUDA 12.2‑12.8 इमेज पर CUDA extensions कम्पाइल करने के लिए यह काम करेगा:
इंस्टॉलेशन¶
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 देखें।
AMD ROCm follow-up steps¶
AMD MI300X को उपयोगी बनाने के लिए निम्न चलाना आवश्यक है:
apt install amd-smi-lib
pushd /opt/rocm/share/amd_smi
python3 -m pip install --upgrade pip
python3 -m pip install .
popd
वातावरण सेटअप¶
SimpleTuner चलाने के लिए, आपको एक configuration फ़ाइल, dataset और model directories, तथा एक dataloader configuration फ़ाइल सेट करनी होगी।
Configuration file¶
एक प्रयोगात्मक स्क्रिप्ट configure.py इंटरैक्टिव step‑by‑step कॉन्फ़िगरेशन के जरिए इस सेक्शन को पूरी तरह स्किप करने में मदद कर सकती है। इसमें कुछ सुरक्षा फीचर्स हैं जो सामान्य pitfalls से बचाते हैं।
नोट: यह आपके dataloader को कॉन्फ़िगर नहीं करता। आपको वह बाद में मैनुअली करना होगा।
इसे चलाने के लिए:
⚠️ जिन देशों में Hugging Face Hub आसानी से उपलब्ध नहीं है, वहाँ
HF_ENDPOINT=https://hf-mirror.comको अपने~/.bashrcया~/.zshrcमें जोड़ें, यह आपके सिस्टम के$SHELLपर निर्भर करता है।
यदि आप मैनुअल कॉन्फ़िगर करना पसंद करते हैं:
config/config.json.example को config/config.json में कॉपी करें:
वहाँ आपको निम्न वेरिएबल्स बदलने होंगे:
उदाहरण कॉन्फ़िग देखें
pretrained_model_name_or_path- इसेPixArt-alpha/PixArt-Sigma-XL-2-1024-MSपर सेट करें।MODEL_TYPE- इसेfullपर सेट करें।USE_BITFIT- इसेfalseपर सेट करें।MODEL_FAMILY- इसेpixart_sigmaपर सेट करें।OUTPUT_DIR- इसे उस डायरेक्टरी पर सेट करें जहाँ आप अपने checkpoints और validation images रखना चाहते हैं। यहाँ full path उपयोग करने की सलाह है।VALIDATION_RESOLUTION- PixArt Sigma 1024px या 2048px मॉडल फॉर्मैट में आता है, इसलिए इस उदाहरण के लिए इसे सावधानी से1024x1024रखें।- साथ ही, PixArt को multi‑aspect buckets पर fine‑tune किया गया था, और अन्य resolutions को कॉमा से अलग कर के दिया जा सकता है:
1024x1024,1280x768 VALIDATION_GUIDANCE- PixArt को बहुत कम मान लाभ देता है। इसे3.6से4.4के बीच सेट करें।pixart_validation_pipeline_mode- सामान्य validation के लिएtrained-stageरखें। v0.7 split pipeline, जिसमें 900M MoE-style stage split भी शामिल है, validate करने के लिएfull-pipelineउपयोग करें: stage 11 - refiner_training_strengthतक latents के रूप में चलता है, फिर stage 2 उसी boundary से resume करता है।- यदि आप केवल एक stage train करते हैं, तो validation में उपयोग होने वाले fixed peer-stage checkpoint को override करने के लिए
pixart_validation_stage1_modelयाpixart_validation_stage2_modelसेट करें।
Mac M‑series मशीन पर कुछ अतिरिक्त सेटिंग्स:
mixed_precisionकोnoपर सेट करें।
💡 टिप: बड़े डेटासेट्स में जहाँ डिस्क स्पेस चिंता का विषय हो, आप
--vae_cache_disableका उपयोग करके VAE एन्कोडिंग ऑनलाइन कर सकते हैं, जिससे डिस्क पर कैश नहीं बनेगा।
Dataset considerations¶
अपने मॉडल को प्रशिक्षित करने के लिए पर्याप्त बड़ा डेटासेट होना महत्वपूर्ण है। डेटासेट आकार पर सीमाएँ हैं, और आपको सुनिश्चित करना होगा कि आपका डेटासेट पर्याप्त बड़ा हो। ध्यान दें कि न्यूनतम डेटासेट आकार TRAIN_BATCH_SIZE * GRADIENT_ACCUMULATION_STEPS है। यदि डेटासेट बहुत छोटा है तो ट्रेनर उसे discover नहीं कर पाएगा।
आपके डेटासेट के अनुसार, आपको डेटासेट डायरेक्टरी और dataloader configuration फ़ाइल अलग तरीके से सेट करनी होगी। इस उदाहरण में हम pseudo-camera-10k डेटासेट उपयोग करेंगे।
अपने /home/user/simpletuner/config डायरेक्टरी में, एक multidatabackend.json बनाएँ:
उदाहरण कॉन्फ़िग देखें
[
{
"id": "pseudo-camera-10k-pixart",
"type": "local",
"crop": true,
"crop_aspect": "square",
"crop_style": "random",
"resolution": 1.0,
"minimum_image_size": 0.25,
"maximum_image_size": 1.0,
"target_downsample_size": 1.0,
"resolution_type": "area",
"cache_dir_vae": "cache/vae/pixart/pseudo-camera-10k",
"instance_data_dir": "/home/user/simpletuner/datasets/pseudo-camera-10k",
"disabled": false,
"skip_file_discovery": "",
"caption_strategy": "filename",
"metadata_backend": "discovery"
},
{
"id": "text-embeds",
"type": "local",
"dataset_type": "text_embeds",
"default": true,
"cache_dir": "cache/text/pixart/pseudo-camera-10k",
"disabled": false,
"write_batch_size": 128
}
]
caption_strategyविकल्प और आवश्यकताओं के लिए DATALOADER.md देखें।
फिर, एक datasets डायरेक्टरी बनाएँ:
mkdir -p datasets
pushd datasets
huggingface-cli download --repo-type=dataset bghira/pseudo-camera-10k --local-dir=pseudo-camera-10k
popd
यह लगभग 10k फोटोग्राफ सैंपल्स को आपकी datasets/pseudo-camera-10k डायरेक्टरी में डाउनलोड करेगा, जो अपने‑आप बना दी जाएगी।
WandB और Huggingface Hub में लॉग‑इन¶
प्रशिक्षण शुरू करने से पहले WandB और HF Hub में लॉग‑इन करना बेहतर है, खासकर अगर आप push_to_hub: true और --report_to=wandb उपयोग कर रहे हैं।
यदि आप Git LFS रिपॉज़िटरी में मैन्युअली आइटम्स push करने वाले हैं, तो git config --global credential.helper store भी चलाएँ।
निम्न कमांड चलाएँ:
और
निर्देशों का पालन करके दोनों सेवाओं में लॉग‑इन करें।
प्रशिक्षण रन निष्पादित करना¶
SimpleTuner डायरेक्टरी से, बस यह चलाएँ:
इससे text embeds और VAE आउटपुट कैशिंग डिस्क पर शुरू होगी।
अधिक जानकारी के लिए dataloader और tutorial दस्तावेज़ देखें।
CLIP score ट्रैकिंग¶
यदि आप मॉडल प्रदर्शन को स्कोर करने के लिए evaluations सक्षम करना चाहते हैं, तो CLIP scores कॉन्फ़िगर करने और समझने के लिए इस दस्तावेज़ को देखें।