RTX 4090 पर Flux LoRA ट्रेनिंग आउट ऑफ मेमोरी एरर को ठीक करें
ग्रेडिएंट चेकपॉइंटिंग, बैच साइज ऑप्टिमाइजेशन और मेमोरी मैनेजमेंट तकनीकों के साथ RTX 4090 पर Flux LoRAs ट्रेन करते समय OOM एरर को हल करें
आपके पास 24GB VRAM वाला RTX 4090 है, जो माना जाता है कि लोकल Flux ट्रेनिंग के लिए पर्याप्त है, लेकिन हर प्रयास CUDA out of memory एरर के साथ क्रैश हो जाता है। ट्रेनिंग ठीक से शुरू होती है, शायद कुछ स्टेप्स चलती है, फिर बंद हो जाती है। आपने बैच साइज कम करने की कोशिश की लेकिन यह अभी भी क्रैश होती है। वह सारी मेमोरी क्या खा रहा है?
त्वरित उत्तर: RTX 4090 पर Flux LoRA ट्रेनिंग OOM इसलिए होता है क्योंकि Flux की बड़ी आर्किटेक्चर डिफॉल्ट ट्रेनिंग सेटिंग्स पर 30-40GB VRAM की आवश्यकता होती है। इसे ठीक करने के लिए ग्रेडिएंट चेकपॉइंटिंग इनेबल करें ताकि कंप्यूट को मेमोरी से ट्रेड कर सकें, बैच साइज को 1 तक कम करें, 1024x1024 के बजाय 512x512 ट्रेनिंग रेजोल्यूशन का उपयोग करें, FP16 या BF16 के साथ मिक्स्ड प्रिसिजन इनेबल करें, और मेमोरी-एफिशिएंट अटेंशन इम्प्लीमेंटेशन का उपयोग करें। ये सेटिंग्स 24GB पर पूर्ण ट्रेनिंग की अनुमति देती हैं और गुणवत्ता वाले LoRAs उत्पन्न करती हैं।
- 24GB कार्ड्स पर Flux ट्रेनिंग के लिए ग्रेडिएंट चेकपॉइंटिंग आवश्यक है
- 512x512 पर ट्रेनिंग 1024x1024 से 75% कम मेमोरी का उपयोग करती है
- ग्रेडिएंट एक्युमुलेशन के साथ बैच साइज 1 स्थिर ट्रेनिंग प्रदान करता है
- मेमोरी-एफिशिएंट अटेंशन बड़ी बचत के लिए स्टैंडर्ड अटेंशन की जगह लेता है
- ऑप्टिमाइज़र चुनाव मेमोरी को प्रभावित करता है क्योंकि 8-बिट Adam ऑप्टिमाइज़र स्टेट मेमोरी का 50% बचाता है
जब सही तरीके से कॉन्फ़िगर किया जाता है तो RTX 4090 Flux LoRA ट्रेनिंग के लिए एक उत्कृष्ट कार्ड है। समस्या यह है कि डिफॉल्ट ट्रेनिंग कॉन्फ़िगरेशन 24GB से अधिक VRAM मानते हैं। सही सेटिंग्स के साथ, आप उच्च-गुणवत्ता वाले Flux LoRAs को कुशलता से ट्रेन कर सकते हैं। आइए स्थिर ट्रेनिंग के लिए अपना सेटअप कॉन्फ़िगर करें।
Flux ट्रेनिंग को इतनी VRAM की आवश्यकता क्यों है?
ट्रेनिंग के दौरान क्या मेमोरी का उपभोग करता है यह समझने से आपको प्रभावी ढंग से ऑप्टिमाइज़ करने में मदद मिलती है।
मॉडल साइज
Flux का बेस मॉडल SDXL या SD 1.5 से काफी बड़ा है। फुल प्रिसिजन मॉडल वेट्स अकेले लगभग 23GB का उपभोग करते हैं। ट्रेनिंग शुरू होने से पहले ही यह आपके 4090 का पूरा VRAM है।
ट्रेनिंग के दौरान, आपको मॉडल, ग्रेडिएंट्स, ऑप्टिमाइज़र स्टेट्स और एक्टिवेशन्स के लिए मेमोरी की आवश्यकता होती है। इनमें से प्रत्येक मॉडल के साइज के बराबर हो सकता है।
LoRA ट्रेनिंग के लिए विशेष रूप से, आप बेस मॉडल को फ्रीज करते हैं और केवल छोटी एडाप्टर लेयर्स को ट्रेन करते हैं। यह काफी मदद करता है लेकिन पूर्ण मॉडल के माध्यम से बहने वाले एक्टिवेशन्स और ग्रेडिएंट्स से मेमोरी प्रेशर को समाप्त नहीं करता है।
एक्टिवेशन मेमोरी
फॉरवर्ड पास के दौरान, इंटरमीडिएट एक्टिवेशन्स बैकवर्ड पास के दौरान उपयोग के लिए स्टोर किए जाते हैं। ये एक्टिवेशन्स बैच साइज और रेजोल्यूशन के साथ बढ़ते हैं।
1024x1024 रेजोल्यूशन पर, एक्टिवेशन मेमोरी मॉडल साइज से अधिक हो सकती है। एक सिंगल ट्रेनिंग बैच को केवल एक्टिवेशन्स के लिए 15-20GB की आवश्यकता हो सकती है।
यही कारण है कि ट्रेनिंग कुछ स्टेप्स के बाद क्रैश हो जाती है। पहला स्टेप फिट हो सकता है, लेकिन मेमोरी फ्रैग्मेंटेशन और एक्युमुलेटेड स्टेट के कारण बाद के स्टेप्स फेल हो जाते हैं।
ऑप्टिमाइज़र स्टेट
Adam जैसे ऑप्टिमाइज़र हर ट्रेनेबल पैरामीटर के लिए दो मोमेंटम वैल्यूज स्टोर करते हैं। यह ट्रेन किए जा रहे पैरामीटर्स के लिए आवश्यक मेमोरी को दोगुना कर देता है।
फुल फाइन-ट्यूनिंग के लिए, ऑप्टिमाइज़र स्टेट मेमोरी मॉडल साइज के 2x के बराबर होती है। LoRA ट्रेनिंग में छोटे ऑप्टिमाइज़र स्टेट्स होते हैं क्योंकि कम पैरामीटर्स ट्रेन होते हैं, लेकिन यह अभी भी काफी है।
ग्रेडिएंट मेमोरी
प्रत्येक ट्रेनेबल पैरामीटर के ग्रेडिएंट्स को बैकवर्ड पास के दौरान स्टोरेज की आवश्यकता होती है। यह मेमोरी रिक्वायरमेंट्स में ट्रेनेबल पैरामीटर्स के साइज की एक और पूर्ण कॉपी जोड़ता है।
मॉडल, एक्टिवेशन्स और ऑप्टिमाइज़र स्टेट के साथ मिलाकर, डिफॉल्ट Flux ट्रेनिंग कॉन्फ़िगरेशन के लिए कुल मेमोरी रिक्वायरमेंट आसानी से 40-50GB तक पहुंच जाती है।
24GB VRAM के लिए ट्रेनिंग कैसे कॉन्फ़िगर करें?
ये सेटिंग्स RTX 4090 पर स्थिर Flux LoRA ट्रेनिंग की अनुमति देती हैं।
ग्रेडिएंट चेकपॉइंटिंग इनेबल करें
ग्रेडिएंट चेकपॉइंटिंग सबसे प्रभावशाली मेमोरी ऑप्टिमाइजेशन है। यह 20-30% अधिक कंप्यूट टाइम की कीमत पर एक्टिवेशन मेमोरी को 60-70% कम करता है।
फॉरवर्ड पास के दौरान सभी एक्टिवेशन्स को स्टोर करने के बजाय, चेकपॉइंटिंग अधिकांश को छोड़ देता है और बैकवर्ड पास के दौरान उन्हें फिर से कंप्यूट करता है। मेमोरी उपयोग मॉडल डेप्थ की परवाह किए बिना लगभग स्थिर हो जाता है।
Kohya SS में, ट्रेनिंग कॉन्फ़िगरेशन में ग्रेडिएंट चेकपॉइंटिंग इनेबल करें। विकल्प आमतौर पर एक साधारण चेकबॉक्स या बूलियन पैरामीटर होता है।
diffusers का उपयोग करने वाले कस्टम ट्रेनिंग स्क्रिप्ट्स में, ट्रेनिंग शुरू होने से पहले model.enable_gradient_checkpointing() कॉल करें।
चेकपॉइंटिंग इनेबल होने पर ट्रेनिंग में अधिक समय लगता है लेकिन क्रैश होने के बजाय वास्तव में पूरी होती है। समय का ट्रेड-ऑफ इसके लायक है।
बैच साइज को 1 पर सेट करें
बैच साइज सीधे एक्टिवेशन मेमोरी को गुणा करता है। बैच साइज 4 बैच साइज 1 के एक्टिवेशन मेमोरी का लगभग 4 गुना उपयोग करता है।
अपना बैच साइज 1 पर सेट करें। मेमोरी कॉस्ट के बिना बड़े इफेक्टिव बैच साइज को सिमुलेट करने के लिए ग्रेडिएंट एक्युमुलेशन का उपयोग करें।
उदाहरण के लिए, 4 ग्रेडिएंट एक्युमुलेशन स्टेप्स के साथ बैच साइज 1 इफेक्टिव बैच साइज 4 देता है जबकि मेमोरी में केवल 1 सैंपल के एक्टिवेशन्स होते हैं।
ग्रेडिएंट एक्युमुलेशन वेट्स अपडेट करने से पहले कई फॉरवर्ड पासेस पर ग्रेडिएंट्स को एक्युमुलेट करता है। मेमोरी उपयोग बैच साइज 1 पर स्थिर रहता है जबकि ट्रेनिंग डायनामिक्स बड़े बैचेस के समान होती है।
ट्रेनिंग रेजोल्यूशन कम करें
रेजोल्यूशन का मेमोरी पर स्क्वेयर इम्पैक्ट होता है। रेजोल्यूशन को दोगुना करने से एक्टिवेशन मेमोरी चार गुना हो जाती है।
1024x1024 के बजाय 512x512 पर ट्रेन करें। इससे एक्टिवेशन मेमोरी लगभग 75% कम हो जाती है।
आपको चिंता हो सकती है कि 512x512 ट्रेनिंग नेटिव रेजोल्यूशन से खराब रिजल्ट्स देती है। व्यवहार में, कम रेजोल्यूशन पर ट्रेन किए गए LoRAs उच्च रेजोल्यूशन इन्फरेंस में अच्छी तरह से ट्रांसफर होते हैं। आप जो स्टाइलिस्टिक एलिमेंट्स और कॉन्सेप्ट्स ट्रेन कर रहे हैं वे 1024x1024 जनरेशन में भी आते हैं।
यदि आपको विशिष्ट उपयोग के मामलों के लिए उच्च रेजोल्यूशन ट्रेनिंग की आवश्यकता है, तो अन्य एग्रेसिव ऑप्टिमाइजेशन के साथ 768x768 कभी-कभी संभव है। सावधानी से टेस्ट करें और मेमोरी मॉनिटर करें।
मिक्स्ड प्रिसिजन ट्रेनिंग का उपयोग करें
मिक्स्ड प्रिसिजन अधिकांश ऑपरेशन्स के लिए FP16 या BF16 का उपयोग करता है जबकि क्रिटिकल वैल्यूज को FP32 में रखता है।
BF16 Ampere और नए GPUs के लिए रेकमेंडेड है। यह बड़े डायनामिक रेंज के कारण FP16 से बेहतर ग्रेडिएंट्स हैंडल करता है।
अपने ट्रेनिंग कॉन्फ़िगरेशन में मिक्स्ड प्रिसिजन इनेबल करें। Kohya SS में, प्रिसिजन ड्रॉपडाउन से BF16 सेलेक्ट करें। कस्टम स्क्रिप्ट्स में, PyTorch के autocast कॉन्टेक्स्ट मैनेजर का उपयोग करें।
मिक्स्ड प्रिसिजन मॉडल वेट्स और एक्टिवेशन्स के लिए मेमोरी को लगभग आधा कर देता है। अन्य ऑप्टिमाइजेशन के साथ मिलाकर, यह 24GB ट्रेनिंग के लिए आवश्यक है।
मेमोरी-एफिशिएंट अटेंशन इनेबल करें
स्टैंडर्ड अटेंशन इम्प्लीमेंटेशन बड़े इंटरमीडिएट टेंसर्स एलोकेट करते हैं। xFormers या Flash Attention जैसे मेमोरी-एफिशिएंट वेरिएंट्स अटेंशन को चंक्स में प्रोसेस करते हैं।
xFormers ट्रेनिंग के लिए अच्छा काम करता है और व्यापक रूप से सपोर्टेड है। इसे अलग से इंस्टॉल करें और अपने ट्रेनिंग कॉन्फ़िगरेशन में इनेबल करें।
मुफ़्त ComfyUI वर्कफ़्लो
इस लेख में तकनीकों के लिए मुफ़्त ओपन-सोर्स ComfyUI वर्कफ़्लो खोजें। ओपन सोर्स शक्तिशाली है।
Flash Attention हाल के GPUs पर बेहतर परफॉर्मेंस प्रदान करता है। चेक करें कि आपका ट्रेनिंग फ्रेमवर्क इसे सपोर्ट करता है या नहीं।
मेमोरी-एफिशिएंट अटेंशन अटेंशन मेमोरी उपयोग को 80% या अधिक कम कर सकता है। Flux जैसे बड़े मॉडल्स के लिए, यह कई GB बचत में तब्दील होता है।
8-बिट ऑप्टिमाइज़र का उपयोग करें
स्टैंडर्ड Adam ऑप्टिमाइज़र प्रति पैरामीटर दो FP32 वैल्यूज स्टोर करता है। 8-बिट Adam इन्हें INT8 में क्वांटाइज़ करता है, ऑप्टिमाइज़र मेमोरी को आधा कर देता है।
bitsandbytes लाइब्रेरी इंस्टॉल करें और अपने ट्रेनिंग सेटअप में 8-बिट Adam कॉन्फ़िगर करें। Kohya SS इसे सीधे सपोर्ट करता है। कस्टम स्क्रिप्ट्स को bitsandbytes से 8-बिट ऑप्टिमाइज़र इम्पोर्ट करना होगा।
क्वालिटी इम्पैक्ट मिनिमल है। 8-बिट Adam अधिकांश मामलों में फुल प्रिसिजन के समान कन्वर्ज करता है।
Kohya SS के लिए कौन सी सेटिंग्स सबसे अच्छी काम करती हैं?
Kohya SS सबसे लोकप्रिय Flux LoRA ट्रेनिंग टूल है। यहां विशिष्ट वर्किंग कॉन्फ़िगरेशन हैं।
रेकमेंडेड कॉन्फ़िगरेशन
RTX 4090 Flux LoRA ट्रेनिंग के लिए अपने स्टार्टिंग पॉइंट के रूप में इन सेटिंग्स का उपयोग करें।
रेजोल्यूशन: 512,512 बैच साइज: 1 ग्रेडिएंट एक्युमुलेशन स्टेप्स: 4 मिक्स्ड प्रिसिजन: bf16 ग्रेडिएंट चेकपॉइंटिंग: इनेबल्ड xFormers: इनेबल्ड ऑप्टिमाइज़र: AdamW8bit नेटवर्क रैंक: 16-32 नेटवर्क अल्फा: रैंक के बराबर या आधा लर्निंग रेट: 1e-4 ट्रेनिंग स्टेप्स: कैरेक्टर्स के लिए 1000-2000, स्टाइल्स के लिए 2000-4000
यह कॉन्फ़िगरेशन लगभग 20GB VRAM का उपयोग करता है, स्टेबिलिटी के लिए हेडरूम छोड़ता है।
विभिन्न ट्रेनिंग टाइप्स के लिए एडजस्टमेंट
कैरेक्टर LoRAs लगभग 16 का लोअर रैंक और लगभग 1000 कम स्टेप्स का उपयोग कर सकते हैं। कैरेक्टर फीचर्स कैप्चर करने में अपेक्षाकृत सरल हैं।
स्टाइल LoRAs लगभग 32-64 का हायर रैंक और लगभग 3000-4000 अधिक ट्रेनिंग स्टेप्स से लाभान्वित होते हैं। आर्टिस्टिक स्टाइल्स में सीखने के लिए अधिक वेरिएंस होता है।
विशिष्ट ऑब्जेक्ट्स या पोज़ के लिए कॉन्सेप्ट LoRAs व्यापक रूप से भिन्न होते हैं। कैरेक्टर सेटिंग्स से शुरू करें और रिजल्ट्स के आधार पर एडजस्ट करें।
हायर रैंक्स को अधिक VRAM की आवश्यकता होती है। यदि आप रैंक को 64 या उससे अधिक पुश करते हैं, तो ट्रेनिंग के दौरान मेमोरी उपयोग मॉनिटर करें। आपको रेजोल्यूशन को 448x448 तक कम करना पड़ सकता है।
कैप्शन कॉन्फ़िगरेशन
अच्छे कैप्शन ट्रेनिंग क्वालिटी को नाटकीय रूप से बेहतर करते हैं। Flux नेचुरल लैंग्वेज डिस्क्रिप्शन पर अच्छी तरह से रिस्पॉन्ड करता है।
इनिशियल कैप्शन जनरेट करने के लिए BLIP या समान टूल्स का उपयोग करें, फिर उन्हें मैन्युअली रिफाइन करें। इनएक्यूरेट डिस्क्रिप्शन हटाएं और अपना ट्रिगर वर्ड जोड़ें।
जटिलता को छोड़ना चाहते हैं? Apatero बिना किसी तकनीकी सेटअप के तुरंत पेशेवर AI परिणाम देता है।
Flux के लिए लंबे कैप्शन आमतौर पर SD 1.5 की तुलना में बेहतर काम करते हैं। सब्जेक्ट के अलावा इमेज कंटेंट के बारे में रिलेवेंट डिटेल्स शामिल करें।
अपने डेटासेट में रिपीटिटिव कैप्शन से बचें। ट्रिगर वर्ड को कंसिस्टेंट रखते हुए लैंग्वेज को वेरी करें।
सैंपल इमेज जनरेशन
प्रोग्रेस मॉनिटर करने के लिए ट्रेनिंग के दौरान सैंपल जनरेशन इनेबल करें। सैंपल फ्रीक्वेंसी को हर 100-200 स्टेप्स पर सेट करें।
सैंपल जनरेशन मेमोरी ओवरहेड जोड़ता है। यदि आप सैंपलिंग के दौरान OOM हिट करते हैं, तो ग्रेडिएंट एक्युमुलेशन बढ़ाएं या सैंपल फ्रीक्वेंसी कम करें।
सैंपल्स आपको बताते हैं कि ट्रेनिंग कब अच्छी चल रही है और कब आपने ओवरफिट किया है। जब सैंपल्स अच्छे दिखें लेकिन डिग्रेड होना शुरू न हुए हों तब ट्रेनिंग बंद करें।
परसिस्टेंट OOM एरर्स को कैसे ट्रबलशूट करें?
यदि ऑप्टिमाइजेशन के बाद क्रैश जारी रहते हैं, तो इन एडिशनल फैक्टर्स की जांच करें।
VRAM फ्रैग्मेंटेशन
PyTorch का मेमोरी एलोकेटर समय के साथ VRAM को फ्रैग्मेंट कर सकता है, जिससे टोटल फ्री मेमोरी पर्याप्त लगने पर भी फेलियर हो सकती है।
PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128 एनवायरनमेंट वेरिएबल के साथ ट्रेनिंग रन करें। यह फ्रैग्मेंटेशन कम करने के लिए एलोकेशन स्ट्रैटेजी बदलता है।
पिछले GPU ऑपरेशन्स के बिना फ्रेश स्टार्ट करना मदद करता है। ट्रेनिंग से पहले अपना सिस्टम रीस्टार्ट करें या कम से कम सभी Python प्रोसेसेस टर्मिनेट करें।
मेमोरी उपयोग मॉनिटर करना
OOM कब होता है यह एग्जैक्टली आइडेंटिफाई करने के लिए ट्रेनिंग के दौरान VRAM उपयोग देखें।
हर सेकंड अपडेट होने वाला मेमोरी उपयोग देखने के लिए एक अलग टर्मिनल में nvidia-smi -l 1 रन करें।
क्रैश से ठीक पहले पीक उपयोग नोट करें। यह आपको बताता है कि आपको कितना कम करना है।
यदि क्रैश तुरंत होता है, तो आपका मॉडल लोडिंग कॉन्फ़िगरेशन गलत है। यदि क्रैश कई स्टेप्स के बाद होता है, तो एक्टिवेशन एक्युमुलेशन या फ्रैग्मेंटेशन समस्या है।
डेटासेट इश्यूज
आपके डेटासेट में एक्सट्रीमली हाई रेजोल्यूशन इमेजेस ट्रेनिंग के लिए लोड होने पर OOM का कारण बन सकती हैं।
यह सुनिश्चित करने के लिए अपने डेटासेट को प्रीप्रोसेस करें कि सभी इमेजेस ट्रेनिंग रेजोल्यूशन पर या उससे नीचे हैं। जब 512x512 पर ट्रेन कर रहे हों तो 4K इमेजेस लोड करने का कोई फायदा नहीं है।
अन्य 115 कोर्स सदस्यों के साथ जुड़ें
51 पाठों में अपना पहला अल्ट्रा-रियलिस्टिक AI इन्फ्लुएंसर बनाएं
जीवंत त्वचा विवरण, पेशेवर सेल्फी और जटिल दृश्यों के साथ अल्ट्रा-रियलिस्टिक AI इन्फ्लुएंसर बनाएं। एक पैकेज में दो पूर्ण कोर्स प्राप्त करें। तकनीक में महारत हासिल करने के लिए ComfyUI Foundation, और AI क्रिएटर के रूप में खुद को मार्केट करना सीखने के लिए Fanvue Creator Academy।
वेरिफाई करें कि आस्पेक्ट रेशियोस रीजनेबल हैं। बहुत वाइड या टॉल इमेजेस प्रोसेसिंग के दौरान समान टोटल पिक्सल्स पर भी अधिक मेमोरी की आवश्यकता हो सकती है।
VRAM का उपयोग करने वाली अन्य प्रोसेसेस
ट्रेनिंग से पहले GPU मेमोरी कंज्यूम करने वाले अन्य एप्लिकेशन्स चेक करें।
वेब ब्राउजर, Discord और अन्य GPU-एक्सेलेरेटेड एप्लिकेशन्स बंद करें। कहीं और कंज्यूम हुए कुछ सौ MB भी आपको सीमा से बाहर धकेल सकते हैं।
मल्टीपल Python प्रोसेसेस पिछली फेल्ड रन्स से VRAM होल्ड कर सकती हैं। क्लीन स्लेट के लिए Python इंटरप्रेटर या अपना पूरा सिस्टम रीस्टार्ट करें।
ट्रेनिंग फ्रेमवर्क बग्स
कभी-कभी, Kohya SS या अन्य ट्रेनिंग टूल्स में बग्स मेमोरी लीक्स का कारण बनते हैं।
अपने ट्रेनिंग टूल के लेटेस्ट वर्जन में अपडेट करें। मेमोरी-रिलेटेड फिक्सेस अपडेट्स में आम हैं।
अपने सिम्पटम्स से मैच करने वाली रिपोर्ट्स के लिए टूल के GitHub इश्यूज चेक करें। दूसरों ने वर्कअराउंड्स या फिक्सेस ढूंढे होंगे।
उन यूजर्स के लिए जो इन टेक्निकल लिमिटेशन्स को मैनेज किए बिना LoRAs ट्रेन करना चाहते हैं, Apatero.com प्रोफेशनल-ग्रेड हार्डवेयर के साथ क्लाउड-बेस्ड ट्रेनिंग ऑफर करता है। आप अपनी ट्रेनिंग जॉब और डेटासेट डिफाइन करते हैं जबकि प्लेटफॉर्म मेमोरी मैनेजमेंट और ऑप्टिमाइजेशन को ऑटोमैटिकली हैंडल करता है।
अल्टरनेटिव ट्रेनिंग अप्रोचेस क्या हैं?
यदि 4090 ट्रेनिंग प्रॉब्लेमैटिक रहती है, तो इन अल्टरनेटिव्स पर विचार करें।
क्लाउड ट्रेनिंग
48GB+ VRAM वाले क्लाउड इंस्टेंसेस मेमोरी कंस्ट्रेंट्स को पूरी तरह से एलिमिनेट करते हैं।
RunPod, Vast.ai और Lambda Labs घंटे के हिसाब से GPU इंस्टेंसेस ऑफर करते हैं। एक A100 80GB इंस्टेंस फुल रेजोल्यूशन पर आराम से Flux LoRAs ट्रेन करता है।
एक टिपिकल LoRA ट्रेनिंग रन की कॉस्ट प्रोवाइडर और GPU टाइप के आधार पर $5-15 है। यह ऑकेजनल ट्रेनिंग नीड्स के लिए रीजनेबल है।
अपना डेटासेट अपलोड करें, ट्रेनिंग रन करें, LoRA डाउनलोड करें। अधिकांश प्रोजेक्ट्स के लिए प्रोसेस में कुल 1-2 घंटे लगते हैं।
लोअर प्रिसिजन ट्रेनिंग
एक्सपेरिमेंटल FP8 ट्रेनिंग BF16 से भी अधिक मेमोरी कम करती है। कुछ कम्युनिटी टूल्स इसे सपोर्ट करते हैं।
FP8 ट्रेनिंग क्वालिटी के लिए BF16 जितनी प्रूवन नहीं है। इम्पोर्टेंट प्रोजेक्ट्स के लिए अडॉप्ट करने से पहले रिजल्ट्स को केयरफुली टेस्ट करें।
एडिशनल 30-40% मेमोरी सेविंग्स पहले इम्पॉसिबल कॉन्फ़िगरेशन को वर्क करा सकती हैं।
स्मॉलर LoRA वेरिएंट्स
LoKr, LoHa और सिमिलर लो-रैंक एडैप्टेशन्स स्टैंडर्ड LoRA से कम मेमोरी का उपयोग करते हैं।
ये वेरिएंट्स कुछ ट्रेनिंग गोल्स के लिए अच्छे काम करते हैं लेकिन कॉम्प्लेक्स स्टाइल्स या कॉन्सेप्ट्स के लिए अंडरपरफॉर्म कर सकते हैं।
यदि ऑप्टिमाइजेशन के बावजूद स्टैंडर्ड LoRA कॉन्फ़िगरेशन प्रॉब्लेमैटिक रहता है तो अल्टरनेटिव्स के साथ एक्सपेरिमेंट करें।
अक्सर पूछे जाने वाले प्रश्न
ट्रेनिंग हर बार एग्जैक्टली 1 स्टेप के बाद क्यों क्रैश होती है?
यह इंडिकेट करता है कि एक स्पेसिफिक मेमोरी थ्रेशोल्ड क्रॉस हो रही है। फॉरवर्ड पास फिट होता है लेकिन बैकवर्ड पास के दौरान ग्रेडिएंट्स जोड़ने से VRAM एक्सीड हो जाता है। इंक्रीमेंटली के बजाय ग्रेडिएंट चेकपॉइंटिंग इनेबल करें और रेजोल्यूशन साथ में कम करें।
क्या मैं RTX 4090 पर 1024x1024 पर ट्रेन कर सकता हूं?
थ्योरेटिकली मिनिमल रैंक, हेवी चेकपॉइंटिंग और सब कुछ 8-बिट सहित एक्सट्रीम ऑप्टिमाइजेशन के साथ पॉसिबल है। प्रैक्टिकली, 512x512 पर रिजल्ट्स इतने अच्छे हैं कि मेमोरी स्ट्रगल इसके लायक नहीं है। 512x512 पर ट्रेन करें और 1024x1024 पर जनरेट करें।
क्या बैच साइज 1 बड़े बैचेस की तुलना में वर्स LoRAs प्रोड्यूस करता है?
सिग्निफिकेंटली नहीं। ग्रेडिएंट एक्युमुलेशन इक्विवैलेंट ट्रेनिंग डायनामिक्स प्रोवाइड करता है। कुछ आर्ग्यू करते हैं कि वेरी स्मॉल बैचेस में स्लाइटली मोर नॉइज़ होता है लेकिन एक्युमुलेटेड ग्रेडिएंट्स इसे स्मूद करते हैं। क्वालिटी डिफरेंस अन्य फैक्टर्स की तुलना में मिनिमल है।
मुझे कैसे पता चलेगा कि मेरा LoRA करेक्टली ट्रेन हो रहा है?
ट्रेनिंग के दौरान सैंपल इमेजेस प्रोग्रेस दिखाती हैं। आपको 200-400 स्टेप्स के बाद अपना ट्रिगर वर्ड जनरेशन्स को अफेक्ट करते हुए देखना चाहिए। फुल स्टाइल ट्रांसफर टिपिकली 800-1000 स्टेप्स तक इमर्ज होता है। यदि सैंपल्स नहीं बदलते या तुरंत डिग्रेड होते हैं, तो लर्निंग रेट एडजस्ट करें।
ट्रेनिंग के दौरान VRAM उपयोग धीरे-धीरे क्यों बढ़ता है?
मेमोरी फ्रैग्मेंटेशन या लीक्स ग्रेजुअल इंक्रीज का कारण बनते हैं। एलोकेटर स्मॉल फ्रैग्मेंट्स बनाता है जिन्हें रीयूज नहीं किया जा सकता। max_split_size_mb एनवायरनमेंट वेरिएबल सेट करें और एनश्योर करें कि कस्टम कोड में कोई मेमोरी लीक्स नहीं हैं।
क्या मुझे xFormers या नेटिव PyTorch अटेंशन का उपयोग करना चाहिए?
xFormers अधिकांश ट्रेनिंग सीनारियोज के लिए बेटर मेमोरी एफिशिएंसी प्रोवाइड करता है। नेटिव अटेंशन कभी-कभी स्पेसिफिक आर्किटेक्चर्स के लिए बेटर वर्क करता है। xFormers से शुरू करें और केवल इश्यूज एनकाउंटर करने पर स्विच करें।
Flux LoRAs के लिए मुझे कौन सा नेटवर्क रैंक यूज करना चाहिए?
कैरेक्टर्स और सिंपल कॉन्सेप्ट्स के लिए 16 से शुरू करें, स्टाइल्स और कॉम्प्लेक्स सब्जेक्ट्स के लिए 32। हायर रैंक्स मोर डिटेल कैप्चर करते हैं लेकिन मोर मेमोरी और मोर ट्रेनिंग डेटा नीड करते हैं। पहले लोअर रैंक्स टेस्ट करें क्योंकि वे अक्सर वेल वर्क करते हैं।
मुझे कितनी ट्रेनिंग इमेजेस चाहिए?
कैरेक्टर्स के लिए, 10-20 गुड इमेजेस वेल वर्क करती हैं। स्टाइल्स के लिए, 50-200 इमेजेस बेटर कवरेज प्रोवाइड करती हैं। क्वांटिटी से क्वालिटी ज्यादा मैटर करती है। वेल-कैप्शंड, डाइवर्स इमेजेस सैकड़ों सिमिलर शॉट्स को बीट करती हैं।
क्या मैं OOM क्रैश के बाद ट्रेनिंग रिज्यूम कर सकता हूं?
यदि आपने अपने ट्रेनिंग कॉन्फिग में चेकपॉइंटिंग इनेबल किया है, तो हां। Kohya SS पीरियोडिकली प्रोग्रेस सेव करता है। मेमोरी सेटिंग्स फिक्स करने के बाद लास्ट चेकपॉइंट से रिज्यूम करें।
क्या शुरू करने से पहले यह प्रिडिक्ट करने का कोई तरीका है कि मेरा कॉन्फिग OOM होगा?
मॉडल साइज, बैच साइज, रेजोल्यूशन और ऑप्टिमाइजेशन पर बेस्ड रफ एस्टिमेशन। accelerate estimate-memory जैसे टूल्स एस्टिमेट्स प्रोवाइड करते हैं। लेकिन एक्चुअल मेमोरी इम्प्लीमेंटेशन डिटेल्स के साथ वेरी करती है, इसलिए हमेशा कंजर्वेटिव स्टार्ट करें।
कन्क्लूजन और रेकमेंडेड वर्कफ्लो
RTX 4090 पर Flux LoRA ट्रेनिंग केयरफुल मेमोरी मैनेजमेंट रिक्वायर करती है लेकिन करेक्टली कॉन्फ़िगर होने पर एक्सीलेंट रिजल्ट्स प्रोड्यूस करती है। की सेटिंग्स हैं ग्रेडिएंट चेकपॉइंटिंग, एक्युमुलेशन के साथ बैच साइज 1, 512x512 रेजोल्यूशन और मिक्स्ड प्रिसिजन ट्रेनिंग।
इस गाइड में प्रोवाइड किए गए कंजर्वेटिव कॉन्फ़िगरेशन से शुरू करें। फुल ट्रेनिंग रन्स के लिए कमिट करने से पहले स्टेबिलिटी वेरिफाई करने के लिए 100-200 स्टेप्स का शॉर्ट टेस्ट रन करें।
ट्रेनिंग के दौरान अपने सैंपल्स मॉनिटर करें। जब LoRA आपके टारगेट कॉन्सेप्ट को कैप्चर करे, ओवरट्रेनिंग से क्वालिटी डिग्रेड होना शुरू होने से पहले स्टॉप करें।
यदि आप कंसिस्टेंटली मेमोरी लिमिट्स से स्ट्रगल करते हैं या 24GB जो अलाउ करता है उससे हायर क्वालिटी सेटिंग्स चाहते हैं, तो क्लाउड ट्रेनिंग एक प्रैक्टिकल अल्टरनेटिव ऑफर करता है। Apatero.com जैसी सर्विसेस खुद क्लाउड इंफ्रास्ट्रक्चर मैनेज किए बिना इसे एक्सेसिबल बनाती हैं।
आपका RTX 4090 लोकल LoRA ट्रेनिंग के लिए केपेबल हार्डवेयर है। प्रॉपर कॉन्फ़िगरेशन के साथ, आप अपनी खुद की मशीन पर सब कुछ रखते हुए अपने स्पेसिफिक कैरेक्टर्स, स्टाइल्स और कॉन्सेप्ट्स के लिए कस्टम Flux LoRAs ट्रेन कर सकते हैं।
अपना AI इन्फ्लुएंसर बनाने के लिए तैयार हैं?
115 छात्रों के साथ शामिल हों जो हमारे पूर्ण 51-पाठ पाठ्यक्रम में ComfyUI और AI इन्फ्लुएंसर मार्केटिंग में महारत हासिल कर रहे हैं।
संबंधित लेख
बच्चों की पुस्तक चित्रण के लिए सर्वश्रेष्ठ प्रॉम्प्ट - लेखकों के लिए 50+ मनमोहक उदाहरण 2025
चित्र पुस्तकों, कहानी के पात्रों और शैक्षिक सामग्री के लिए 50+ परीक्षित प्रॉम्प्ट के साथ बच्चों की पुस्तक चित्रण निर्माण में महारत हासिल करें। लेखकों और चित्रकारों के लिए संपूर्ण मार्गदर्शिका।
साइबरपंक आर्ट के लिए सर्वश्रेष्ठ प्रॉम्प्ट - साइ-फाई 2025 के लिए 50+ नियॉन युक्त उदाहरण
50+ परीक्षित प्रॉम्प्ट के साथ साइबरपंक आर्ट जनरेशन में महारत हासिल करें जो नियॉन शहरों, टेक नोयर पात्रों और डिस्टोपियन भविष्य के लिए हैं। लाइटिंग कीवर्ड, रंग पैलेट और वायुमंडलीय प्रभावों के साथ पूर्ण गाइड।
फैंटेसी लैंडस्केप्स के लिए सर्वश्रेष्ठ प्रॉम्प्ट - कॉन्सेप्ट आर्ट 2025 के लिए 60+ एपिक उदाहरण
60+ परीक्षित प्रॉम्प्ट्स के साथ एपिक विस्टा, जादुई जंगलों, एलियन वर्ल्ड्स और सिनेमैटिक कॉन्सेप्ट आर्ट के लिए फैंटेसी लैंडस्केप जनरेशन में महारत हासिल करें। वातावरण, स्केल और कंपोजीशन तकनीकों के साथ संपूर्ण गाइड।