Skip to content

Latest commit

 

History

History
238 lines (185 loc) · 26.9 KB

File metadata and controls

238 lines (185 loc) · 26.9 KB

SimpleTuner 💹

ℹ️ report_to, push_to_hub, या वेबहुक्स जिन्हें हाथ से कॉन्फ़िगर करना होता है, उनके opt-in फ़्लैग के अलावा किसी भी तीसरे पक्ष को कोई डेटा नहीं भेजा जाता।

SimpleTuner सरलता पर केंद्रित है, ताकि कोड आसानी से समझा जा सके। यह कोडबेस एक साझा अकादमिक अभ्यास है, और योगदान का स्वागत है।

यदि आप हमारे समुदाय में शामिल होना चाहते हैं, तो आप हमें Terminus Research Group के Discord पर पा सकते हैं। यदि आपके कोई प्रश्न हों, तो कृपया वहाँ बेझिझक संपर्क करें।

image

अनुक्रमणिका

डिज़ाइन दर्शन {#design-philosophy}

  • सरलता: अधिकांश उपयोग मामलों के लिए अच्छे डिफ़ॉल्ट सेटिंग्स रखने का लक्ष्य, ताकि कम टिंकरिंग करनी पड़े।
  • बहुमुखीपन: छोटे डेटासेट से लेकर बड़े संग्रह तक छवियों की विस्तृत मात्रा संभालने के लिए डिज़ाइन।
  • अत्याधुनिक विशेषताएँ: केवल वे सुविधाएँ शामिल करता है जो प्रभावी साबित हुई हैं, बिना परीक्षण विकल्पों को जोड़ने से बचते हुए।

ट्यूटोरियल {#tutorial}

नया वेब UI ट्यूटोरियल या क्लास कमांड‑लाइन ट्यूटोरियल शुरू करने से पहले कृपया इस README को पूरी तरह देखें, क्योंकि इसमें वह महत्वपूर्ण जानकारी है जो आपको पहले जाननी चाहिए।

यदि आप पूरी डॉक्यूमेंटेशन पढ़े बिना या किसी वेब इंटरफेस का उपयोग किए बिना मैन्युअल रूप से क्विक स्टार्ट करना चाहते हैं, तो क्विक स्टार्ट गाइड का उपयोग करें।

मेमोरी‑सीमित सिस्टम्स के लिए, DeepSpeed दस्तावेज़ देखें, जो बताता है कि 🤗Accelerate के जरिए Microsoft के DeepSpeed को optimiser state offload के लिए कैसे कॉन्फ़िगर करें। DTensor‑आधारित sharding और context parallelism के लिए, FSDP2 गाइड पढ़ें, जो SimpleTuner के भीतर नया FullyShardedDataParallel v2 वर्कफ़्लो कवर करता है।

मल्टी‑नोड वितरित प्रशिक्षण के लिए, यह गाइड INSTALL और Quickstart गाइड्स की कॉन्फ़िग्स को मल्टी‑नोड प्रशिक्षण के लिए अनुकूल बनाने में मदद करेगा, और अरबों सैंपल्स वाले इमेज डेटासेट के लिए ऑप्टिमाइज़ करने में सहायक होगा।


विशेषताएँ {#features}

SimpleTuner कई diffusion मॉडल आर्किटेक्चर में एक‑समान फीचर उपलब्धता के साथ व्यापक प्रशिक्षण समर्थन देता है:

मुख्य प्रशिक्षण विशेषताएँ {#core-training-features}

  • उपयोगकर्ता‑अनुकूल वेब UI - एक सुव्यवस्थित डैशबोर्ड से अपना पूरा प्रशिक्षण जीवनचक्र प्रबंधित करें
  • मल्टी‑मोडल प्रशिक्षण - छवि, वीडियो, और ऑडियो जनरेटिव मॉडल्स के लिए एकीकृत पाइपलाइन
  • मल्टी‑GPU प्रशिक्षण - स्वचालित ऑप्टिमाइज़ेशन के साथ कई GPUs पर वितरित प्रशिक्षण
  • उन्नत कैशिंग - तेज़ प्रशिक्षण के लिए छवि, वीडियो, ऑडियो, और कैप्शन एम्बेडिंग्स डिस्क पर कैश
  • CaptionFlow integration - Web UI job queue से local GPUs पर bghira/CaptionFlow के साथ dataset captions generate करें; CaptionFlow integration guide देखें
  • आस्पेक्ट बकेटिंग - विविध छवि/वीडियो आकारों और आस्पेक्ट अनुपातों का समर्थन
  • कॉन्सेप्ट स्लाइडर्स - LoRA/LyCORIS/full (LyCORIS full के जरिए) के लिए स्लाइडर‑फ्रेंडली टार्गेटिंग, पॉज़िटिव/नेगेटिव/न्यूट्रल सैम्पलिंग और प्रति‑प्रॉम्प्ट strength; Slider LoRA गाइड देखें
  • मेमोरी ऑप्टिमाइज़ेशन - अधिकांश मॉडल 24G GPU पर प्रशिक्षित हो सकते हैं, कई ऑप्टिमाइज़ेशन के साथ 16G पर भी
  • DeepSpeed & FSDP2 एकीकरण - optim/grad/parameter sharding, context parallel attention, gradient checkpointing, और optimizer state offload के साथ छोटे GPUs पर बड़े मॉडल प्रशिक्षित करें
  • S3 प्रशिक्षण - क्लाउड स्टोरेज (Cloudflare R2, Wasabi S3) से सीधे प्रशिक्षण
  • EMA समर्थन - बेहतर स्थिरता और गुणवत्ता के लिए exponential moving average weights
  • कस्टम experiment trackers - simpletuner/custom-trackers में accelerate.GeneralTracker रखें और --report_to=custom-tracker --custom_tracker=<name> उपयोग करें

मल्टी‑यूज़र और एंटरप्राइज विशेषताएँ

SimpleTuner एक पूर्ण मल्टी‑यूज़र प्रशिक्षण प्लेटफ़ॉर्म के साथ एंटरप्राइज‑ग्रेड फीचर्स शामिल करता है — मुफ़्त और ओपन सोर्स, हमेशा के लिए

  • वर्कर ऑर्केस्ट्रेशन - वितरित GPU वर्कर्स रजिस्टर करें जो केंद्रीय पैनल से auto‑connect होते हैं और SSE के जरिए जॉब डिस्पैच प्राप्त करते हैं; ephemeral (क्लाउड‑लॉन्च्ड) और persistent (हमेशा‑ऑन) वर्कर्स का समर्थन; Worker Orchestration Guide देखें
  • SSO एकीकरण - LDAP/Active Directory या OIDC providers (Okta, Azure AD, Keycloak, Google) के साथ प्रमाणीकरण; External Auth Guide देखें
  • भूमिका‑आधारित एक्सेस कंट्रोल - चार डिफ़ॉल्ट भूमिकाएँ (Viewer, Researcher, Lead, Admin) और 17+ granular permissions; glob patterns के साथ resource rules परिभाषित करके कॉन्फ़िग्स, हार्डवेयर, या providers को टीम‑वार सीमित करें
  • Organizations और Teams - ceiling‑based quotas के साथ hierarchical multi‑tenant संरचना; org limits पूर्ण अधिकतम तय करते हैं, team limits org सीमा के भीतर काम करते हैं
  • Quotas और Spending Limits - लागत सीमा (daily/monthly), job concurrency limits, और submission rate limits को org, team, या user स्तर पर लागू करें; कार्रवाइयाँ: block, warn, या approval आवश्यक
  • प्राथमिकता‑आधारित जॉब क्यू - पाँच प्राथमिकता स्तर (Low → Critical), टीमों के बीच fair‑share scheduling, लंबे इंतज़ार वाली जॉब्स के लिए starvation रोकथाम, और admin priority overrides
  • Approval वर्कफ़्लो - कॉन्फ़िगरेबल नियम लागत सीमा पार करने वाली जॉब्स, पहली‑बार उपयोगकर्ताओं, या विशिष्ट हार्डवेयर अनुरोधों पर approval ट्रिगर करते हैं; UI, API, या ईमेल रिप्लाई के जरिए approval दें
  • ईमेल नोटिफ़िकेशन - जॉब स्थिति, approval अनुरोध, quota चेतावनी, और पूर्णता अलर्ट के लिए SMTP/IMAP एकीकरण
  • API Keys और Scoped Permissions - CI/CD pipelines के लिए expiration और सीमित scope के साथ API keys बनाएं
  • Audit Logging - compliance के लिए chain verification के साथ सभी उपयोगकर्ता कार्रवाइयों को ट्रैक करें; Audit Guide देखें

डिप्लॉयमेंट विवरण के लिए, Enterprise Guide देखें।

मॉडल आर्किटेक्चर समर्थन {#model-architecture-support}

SimpleTuner निम्नलिखित मॉडल families का समर्थन करता है। विस्तृत training feature समर्थन Quickstart Guide में है।

मॉडल पैरामीटर लाइसेंस व्यावसायिक उपयोग
ACE-Step 3.5B Apache-2.0 हाँ
Anima निर्दिष्ट नहीं CircleStone Labs Non-Commercial License v1.2 नहीं (मॉडल); outputs अनुमत
Auraflow 6B Apache-2.0 हाँ
Boogu-Image निर्दिष्ट नहीं Apache-2.0 हाँ
Chroma 1 8.9B Apache-2.0 हाँ
Cosmos2 2B-14B NVIDIA Open Model License हाँ
Cosmos3 16B-65B OpenMDW-1.1 हाँ
DeepFloyd IF 0.4B-4.3B stages DeepFloyd IF License Abandonware
ERNIE-Image निर्दिष्ट नहीं Apache-2.0 हाँ
Flux.1 8B-12B Apache-2.0 (schnell); FLUX.1 [dev] Non-Commercial License (dev/Kontext) checkpoint के अनुसार mixed
Flux.2 4B-32B Apache-2.0 (klein 4B); FLUX Non-Commercial License (dev/klein 9B) checkpoint के अनुसार mixed
HeartMuLa 3B SimpleTuner में निर्दिष्ट नहीं upstream शर्तें देखें
HiDream 17B (8.5B MoE) MIT हाँ
Hunyuan Video 8.3B AGPL-3.0 हाँ (copyleft)
Ideogram 4 9B Ideogram 4 Non-Commercial नहीं
Kandinsky 5.0 Image 6B (lite) MIT हाँ
Kandinsky 5.0 Video 2B lite, 19B pro MIT हाँ
Kwai Kolors 2.7B Apache-2.0 Abandonware
Krea2 निर्दिष्ट नहीं Krea 2 Community License हाँ ($1M से कम राजस्व; safeguards आवश्यक)
LongCat Image 6B Apache-2.0 हाँ
LongCat Video 13.6B MIT हाँ
LTX Video ~2.5B Apache-2.0 हाँ
LTX Video 2 19B Apache-2.0 हाँ
Lumina2 2B Apache-2.0 हाँ
Mage-Flow 4B MIT हाँ
MiniMax H3 33B MiniMax H3 Community License शर्तें लागू (territory exclusions; US/EU/UK/KR में authorization आवश्यक)
OmniGen 3.8B MIT हाँ
PixArt Sigma 0.6B-0.9B OpenRAIL++ हाँ (restricted)
Qwen Image 20B Apache-2.0 हाँ
Sana 0.6B-4.8B Apache-2.0 हाँ
Sana Video 2B Apache-2.0 हाँ
SD 1.x/2.x (Legacy) 0.9B OpenRAIL++ हाँ (restricted)
Stable Diffusion 3 2B-8B Stability AI Community License हाँ ($1M से कम राजस्व)
Stable Diffusion XL 3.5B CreativeML OpenRAIL-M हाँ (restricted)
Stable Cascade (Stage C) 1B, 3.6B prior SimpleTuner में निर्दिष्ट नहीं Abandonware
Wan Video 1.3B-14B Apache-2.0 हाँ
Wan S2V 14B Apache-2.0 हाँ
Z-Image 6B Apache-2.0 हाँ
Z-Image Omni 6B Apache-2.0 हाँ
ZLab I1 3B MIT हाँ

लाइसेंस मान उपलब्ध होने पर SimpleTuner model helpers से लिए गए हैं, और पहले अनिर्दिष्ट entries के लिए upstream model cards/licenses से। SimpleTuner में निर्दिष्ट नहीं का अर्थ है कि helper कोई license name नहीं देता और यहां upstream terms का सार नहीं दिया गया है; उपयोग से पहले upstream model card देखें.

उन्नत प्रशिक्षण तकनीकें {#advanced-training-techniques}

  • TREAD - Kontext प्रशिक्षण सहित ट्रांसफ़ॉर्मर मॉडल्स के लिए token‑wise dropout
  • Masked loss training - segmentation/depth गाइडेंस के साथ बेहतर convergence
  • Prior regularization - character consistency के लिए उन्नत प्रशिक्षण स्थिरता
  • Gradient checkpointing - मेमोरी/स्पीड ऑप्टिमाइज़ेशन के लिए कॉन्फ़िगरेबल intervals
  • Loss functions - scheduling सपोर्ट के साथ L2, Huber, Smooth L1
  • SNR weighting - बेहतर प्रशिक्षण डायनेमिक्स के लिए Min‑SNR gamma weighting
  • Validation adapter sweeps - validation के दौरान अस्थायी रूप से LoRA adapters (single या JSON presets) जोड़ें ताकि training loop को छुए बिना adapter‑only या comparison renders मापे जा सकें
  • External validation hooks - built‑in validation pipeline या post‑upload steps को अपने स्क्रिप्ट्स से बदलें, ताकि आप किसी अन्य GPU पर checks चला सकें या artifacts को किसी भी cloud provider पर भेज सकें (details)
  • AnyFlow distillation - online teacher targets के साथ flow-matching models के लिए FlowMap interval conditioning (guide)
  • CREPA regularization - video DiTs के लिए cross‑frame representation alignment (guide)
  • LoRA I/O formats - PEFT LoRAs को standard Diffusers layout या ComfyUI‑style diffusion_model.* keys (Flux/Flux2/Lumina2/Z-Image auto‑detect ComfyUI inputs) में load/save करें

मॉडल‑विशिष्ट विशेषताएँ {#model-specific-features}

  • Flux Kontext - Flux मॉडल्स के लिए edit conditioning और image‑to‑image प्रशिक्षण
  • PixArt two-stage - PixArt Sigma के लिए eDiff प्रशिक्षण पाइपलाइन समर्थन
  • Flow matching models - beta/uniform distributions के साथ उन्नत scheduling
  • HiDream MoE - Mixture of Experts gate loss augmentation
  • T5 masked training - Flux और संगत मॉडल्स के लिए बेहतर fine details
  • QKV fusion - मेमोरी और स्पीड ऑप्टिमाइज़ेशन (Flux, Lumina2)
  • TREAD integration - अधिकांश मॉडल्स के लिए selective token routing
  • Wan 2.x I2V - high/low stage presets के साथ 2.1 time‑embedding fallback (Wan quickstart देखें)
  • Classifier-free guidance - distilled मॉडल्स के लिए वैकल्पिक CFG reintroduction

क्विकस्टार्ट गाइड {#quickstart-guides}

सभी समर्थित मॉडल्स के लिए विस्तृत क्विकस्टार्ट गाइड उपलब्ध हैं:

  • TwinFlow Few-Step (RCGM) Guide - few‑step/one‑step generation के लिए RCGM auxiliary loss सक्षम करें (flow मॉडल्स या diff2flow के जरिए diffusion)
  • Flux.1 Guide - Kontext editing support और QKV fusion शामिल
  • Flux.2 Guide - NEW! Mistral‑3 टेक्स्ट encoder के साथ नवीनतम विशाल Flux मॉडल
  • Z-Image Guide - Base/Turbo LoRA with assistant adapter + TREAD acceleration
  • Ideogram 4 Guide - NEW! FP8-first LoRA training with structured JSON captions
  • ACE-Step Guide - NEW! ऑडियो जनरेशन मॉडल प्रशिक्षण (text‑to‑music)
  • HeartMuLa Guide - NEW! ऑटोरिग्रेसिव ऑडियो जनरेशन मॉडल प्रशिक्षण (text‑to‑audio)
  • Chroma Guide - Lodestone का flow‑matching transformer, Chroma‑specific schedules के साथ
  • Stable Diffusion 3 Guide - ControlNet के साथ full और LoRA प्रशिक्षण
  • Stable Diffusion XL Guide - पूर्ण SDXL प्रशिक्षण पाइपलाइन
  • Auraflow Guide - flow‑matching मॉडल प्रशिक्षण
  • PixArt Sigma Guide - दो‑stage समर्थन वाला DiT मॉडल
  • Sana Guide - lightweight flow‑matching मॉडल
  • Lumina2 Guide - 2B पैरामीटर flow‑matching मॉडल
  • Kwai Kolors Guide - ChatGLM encoder के साथ SDXL‑आधारित
  • LongCat-Video Guide - Qwen‑2.5‑VL के साथ flow‑matching text‑to‑video और image‑to‑video
  • LongCat-Video Edit Guide - conditioning‑first flavour (image‑to‑video)
  • LongCat-Image Guide - Qwen‑2.5‑VL encoder के साथ 6B bilingual flow‑matching मॉडल
  • LongCat-Image Edit Guide - reference latents की आवश्यकता वाला image editing flavour
  • LTX Video Guide - वीडियो diffusion प्रशिक्षण
  • Hunyuan Video 1.5 Guide - SR stages के साथ 8.3B flow‑matching T2V/I2V
  • Wan Video Guide - TREAD समर्थन के साथ video flow‑matching
  • HiDream Guide - उन्नत फीचर्स वाला MoE मॉडल
  • Cosmos2 Guide - multi‑modal image generation
  • OmniGen Guide - unified image generation मॉडल
  • Qwen Image Guide - 20B पैरामीटर large‑scale प्रशिक्षण
  • Stable Cascade Stage C Guide - combined prior+decoder validation के साथ prior LoRAs
  • Kandinsky 5.0 Image Guide - Qwen2.5‑VL + Flux VAE के साथ image generation
  • Kandinsky 5.0 Video Guide - HunyuanVideo VAE के साथ video generation

हार्डवेयर आवश्यकताएँ {#hardware-requirements}

सामान्य आवश्यकताएँ

  • NVIDIA: RTX 3080+ अनुशंसित (H200 तक परीक्षण किया गया)
  • AMD: 7900 XTX 24GB और MI300X सत्यापित (NVIDIA के मुकाबले अधिक मेमोरी उपयोग)
  • Apple: LoRA प्रशिक्षण के लिए 24GB+ unified memory वाला M3 Max+

मॉडल आकार के अनुसार मेमोरी दिशानिर्देश

  • बड़े मॉडल (12B+): फुल‑रैंक के लिए A100‑80G, LoRA/Lycoris के लिए 24G+
  • मध्यम मॉडल (2B-8B): LoRA के लिए 16G+, फुल‑रैंक प्रशिक्षण के लिए 40G+
  • छोटे मॉडल (<2B): अधिकांश प्रशिक्षण प्रकारों के लिए 12G+ पर्याप्त

नोट: क्वांटाइज़ेशन (int8/fp8/nf4) मेमोरी आवश्यकताओं को काफी कम करता है। मॉडल‑विशिष्ट आवश्यकताओं के लिए व्यक्तिगत क्विकस्टार्ट गाइड देखें।

सेटअप {#setup}

SimpleTuner को अधिकांश उपयोगकर्ताओं के लिए pip के जरिए इंस्टॉल किया जा सकता है:

# Base installation (CPU-only PyTorch)
pip install simpletuner

# CUDA users (NVIDIA GPUs)
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 --extra-index-url https://download.pytorch.org/whl/cu130

# ROCm users (AMD GPUs)
pip install 'simpletuner[rocm]' --extra-index-url https://download.pytorch.org/whl/rocm7.1 --extra-index-url https://download.pytorch.org/whl/rocm7.1

# Apple Silicon users (M1/M2/M3/M4 Macs)
pip install 'simpletuner[apple]'

मैन्युअल इंस्टॉलेशन या डेवलपमेंट सेटअप के लिए, इंस्टॉलेशन दस्तावेज़ देखें।

समस्या समाधान {#troubleshooting}

अधिक विस्तृत जानकारी के लिए export SIMPLETUNER_LOG_LEVEL=DEBUG को अपने environment (config/config.env) फ़ाइल में जोड़कर debug logs सक्षम करें।

प्रशिक्षण लूप के प्रदर्शन विश्लेषण के लिए, SIMPLETUNER_TRAINING_LOOP_LOG_LEVEL=DEBUG सेट करने पर टाइमस्टैम्प मिलेंगे जो आपकी कॉन्फ़िगरेशन में किसी भी समस्या को हाइलाइट करते हैं।

उपलब्ध विकल्पों की व्यापक सूची के लिए, इस दस्तावेज़ से परामर्श करें।