बजट में Compute का इस्तेमाल
आप बड़े GPU क्लस्टर के बिना भी असली रिसर्च कर सकते हैं। छोटे स्तर से शुरुआत करें, मुफ़्त और अकादमिक संसाधनों का समझदारी से इस्तेमाल करें, कुशल कोड लिखें, और समझें कि आपको वास्तव में ज़्यादा रिसोर्स की ज़रूरत कब है।
60 सेकंड में
बजट में Compute का इस्तेमाल
आप बड़े GPU क्लस्टर के बिना भी असली रिसर्च कर सकते हैं। छोटे स्तर से शुरुआत करें, मुफ़्त और अकादमिक संसाधनों का समझदारी से इस्तेमाल करें, कुशल कोड लिखें, और समझें कि आपको वास्तव…
पहले छोटे मॉडल आज़माएं
- छोटे मॉडल: कई ओपन मॉडल कई आकारों में आते हैं। उस सबसे छोटे मॉडल का इस्तेमाल करें जो उस प्रभाव को दिखा सके जिसे आप देखना चाहते हैं।
- डेटा के छोटे हिस्से (Subsets): डेटा के 1% हिस्से पर डिबग करें। पूरे डेटासेट का इस्तेमाल तभी करें जब पाइपलाइन ठीक से काम करने लगे।
- छोटे रन: एक लंबा रन शुरू करने से पहले, यह देख लें कि कुछ सौ स्टेप्स के लिए loss नीचे आ रहा है या नहीं।
- स्केलिंग जांच: दो या तीन छोटे आकारों को आज़माएं। अगर ट्रेंड स्थिर है, तो आपको अंदाज़ा मिल जाता है कि बड़े पैमाने पर क्या हो सकता है। यह एक संकेत है, कोई गारंटी नहीं।
- शुरू से ट्रेन करने के बजाय अनुकूलित (adapt) करें: LoRA या QLoRA के साथ फ़ाइन-ट्यूनिंग करना, या किसी मॉडल को वैसे ही इस्तेमाल करना, शुरुआत से ट्रेन करने की तुलना में बहुत सस्ता है।
Compute कहाँ से पाएं
| स्रोत | यह क्या है | ध्यान रखने योग्य बातें |
|---|---|---|
| आपका अपना लैपटॉप | CPU, कभी-कभी एक छोटा GPU | छोटे मॉडल, डेटा के काम, मूल्यांकन (evaluation) और डिबगिंग के लिए अच्छा है। मुफ़्त और हमेशा उपलब्ध। |
| मुफ़्त नोटबुक सेवाएं | कुछ क्लाउड नोटबुक सेवाएं सीमित GPU समय मुफ़्त देती हैं | सीमाएं, GPU के प्रकार और नियम अक्सर बदलते रहते हैं। सेशन बिना चेतावनी के बंद हो सकते हैं, इसलिए चेकपॉइंट सेव करते रहें। मौजूदा शर्तें ज़रूर पढ़ें। |
| यूनिवर्सिटी के कंप्यूटर | IITs और IISc सहित कई कॉलेजों में शेयर्ड GPU सर्वर या क्लस्टर होते हैं | अपने विभाग या किसी प्रोफेसर की लैब से पता करें। आपको आमतौर पर एक फैकल्टी स्पॉन्सर की ज़रूरत होती है और इसे सभी के साथ साझा करना पड़ता है। |
| रिसर्च क्रेडिट प्रोग्राम | कुछ क्लाउड प्रोवाइडर और AI कंपनियां अकादमिक रिसर्च के लिए क्रेडिट या मुफ़्त एक्सेस देती हैं | ये समय-समय पर शुरू और बंद होते रहते हैं। मौजूदा प्रोग्राम खोजें और उनकी शर्तें पढ़ें। एक साफ़-सुथरा एक पेज का प्रस्ताव मददगार होता है। |
| सहयोग (Collaborations) | कोई लैब या कंपनी पार्टनर बड़े प्रयोग चलाती है | डेटा के उपयोग, ऑथरशिप और आप क्या पब्लिश कर सकते हैं, इस पर पहले ही सहमति बना लें। |
कुशल कोड: उसी GPU से ज़्यादा काम लें
- पहले मापें: ट्रेनिंग के एक स्टेप का समय मापें। पता लगाएं कि GPU व्यस्त है या डेटा का इंतज़ार कर रहा है।
- डेटा को एक ही बार तैयार करें: हर रन में बार-बार करने के बजाय, डेटा को एक बार टोकनाइज़ या प्रीप्रोसेस करके सेव कर लें।
- मिक्स्ड प्रिसिजन: ज़्यादातर आधुनिक फ्रेमवर्क लो-प्रिसिजन ट्रेनिंग को सपोर्ट करते हैं, जो अक्सर कम मेमोरी लेती है और तेज़ी से चलती है। अपने फ्रेमवर्क के दस्तावेज़ (docs) देखें।
- ग्रेडिएंट एक्युम्यूलेशन: अगर एक बड़ा बैच फ़िट नहीं हो रहा है, तो कई छोटे बैचों पर ग्रेडिएंट्स को जोड़ते जाएं।
- चेकपॉइंट्स: नियमित रूप से सेव करें ताकि सेशन अचानक बंद होने पर घंटों का काम बर्बाद न हो।
- नतीजों का दोबारा इस्तेमाल करें: जिन मॉडल आउटपुट्स का आप कई बार मूल्यांकन करते हैं उन्हें कैश (cache) कर लें, और हर रन का लॉग रखें ताकि आप गलती से किसी चीज़ को दोबारा न चलाएं।
रन करने से पहले अनुमान लगाएं
Measured: 1 training run on the small setting = about 40 minutes
Runs needed:
methods (baseline, mine) 2
ablations (no A, no B) + 2
= 4 settings
seeds per setting x 3
= 12 runs
Total: 12 x 40 min = 8 hours of GPU time
Add about 50% for debugging and reruns = about 12 hours
Fits a free tier over a few days? Maybe, with checkpoints.
Plan B: fewer ablations first, add them only if the main result holds.आपको वास्तव में ज़्यादा compute की ज़रूरत कब होती है?
- पाइपलाइन में अभी भी बग्स हैं
- आपने छोटे मॉडल को आज़माकर नहीं देखा है
- हर रन धीमा है क्योंकि डेटा लोड होने में समय लग रहा है
- आपको पक्का नहीं पता कि परिकल्पना (hypothesis) क्या है
- प्रभाव केवल एक निश्चित मॉडल साइज के बाद ही दिखता है, और आपके पास इसका सबूत है
- छोटे रन काम कर रहे हैं और अगला सवाल पैमाने (scale) से जुड़ा है
- भरोसेमंद दावे के लिए आपको पर्याप्त संख्या में seeds की ज़रूरत है
- कोई समीक्षक (reviewer) या मेंटर किसी साफ़ नतीजे की बड़े पैमाने पर पुष्टि मांगता है
और देखें और पढ़ें
लैब
एक प्रयोग के लिए लिखित compute योजना, जिसमें मापा गया या अनुमानित रन टाइम, कुल घंटे और एक प्लान B शामिल हो।
समस्या
वह प्रयोग चुनें जिसे आप चलाना चाहते हैं: किसी पेपर को रीप्रोड्यूस करने का लक्ष्य, या आपका अपना कोई आइडिया। आप इसे कागज़ पर भी कर सकते हैं।
- अपनी ज़रूरत की हर सेटिंग की सूची बनाएं: methods, baselines, ablations।
- प्रति सेटिंग seeds की संख्या चुनें और बताएं कि क्यों।
- यदि संभव हो तो एक छोटे रन का समय मापें (लैपटॉप पर डेटा के बहुत छोटे हिस्से के साथ भी)। यदि नहीं, तो एक ईमानदार अंदाज़ा लिखें और इसे अंदाज़े के रूप में मार्क करें।
- कुल GPU घंटे निकालने के लिए गुणा करें, फिर डिबगिंग के लिए थोड़ा अतिरिक्त समय जोड़ें।
- बताएं कि आप इसे कहाँ चलाएंगे (लैपटॉप, फ़्री टियर, कॉलेज सर्वर) और क्या रुकावट आ सकती है।
- एक ऐसा प्लान B लिखें जो आधे बजट में फ़िट हो जाए: आप पहले कौन से रन हटाएंगे, और क्यों।
आपका काम तब पूरा होगा जब
कठिन सवाल
उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।
Q1Compute बचाने के लिए, एक दोस्त बेसलाइन को 1 seed के साथ और आपके तरीके को 5 seeds के साथ चलाने का सुझाव देता है। क्या यह उचित है?दिखाएं
नहीं। तब तुलना बराबरी की नहीं रह जाती: आपको अपने तरीके का स्प्रेड तो पता होता है पर बेसलाइन का नहीं, और बेसलाइन का एक रन किस्मत से अच्छा या बुरा हो सकता है। जिस भी तरीके की आप तुलना करें, उन सभी के लिए एक जितनी संख्या में seeds, और वही seeds इस्तेमाल करें। निष्पक्षता से समझौता करने से पहले ablations या सेटिंग्स कम कर दें।
Q2कोई आइडिया उन दो सबसे छोटे मॉडल साइज़ पर काम करता है जिन्हें आप अफ़ोर्ड कर सकते हैं। क्या आप यह दावा कर सकते हैं कि यह बड़े मॉडल्स के लिए भी काम करता है?दिखाएं
सीधे तौर पर नहीं। आप यह कह सकते हैं कि आपने जिन साइज़ पर टेस्ट किया, उन पर यह सही रहा, और उसका ट्रेंड दिखा सकते हैं। कुछ असर स्केल के साथ घटते, बढ़ते या उलट जाते हैं। अपनी limitations में साइज़ साफ़-साफ़ बताएं, और ज़्यादा compute की सुविधा रखने वाले अन्य लोगों को बड़े मॉडल्स टेस्ट करने के लिए आमंत्रित करें।
अक्सर पूछे जाने वाले सवाल
क्या मैं केवल एक लैपटॉप से AI रिसर्च कर सकता हूँ?
हाँ, कई तरह के सवालों के लिए ऐसा किया जा सकता है। आप छोटे मॉडल चला सकते हैं, मूल्यांकन पर काम कर सकते हैं, डेटासेट का विश्लेषण कर सकते हैं, और छोटे नेटवर्क्स की interpretability पर काम कर सकते हैं। जिन हिस्सों के लिए ज़रूरत हो, उनके लिए मुफ़्त या शेयर्ड GPU का इस्तेमाल करें। उन सवालों से शुरुआत करें जो आपके मौजूदा संसाधनों में फ़िट बैठते हों।
मुझे कौन सी मुफ़्त GPU सेवा का इस्तेमाल करना चाहिए?
ऑफ़र अक्सर बदलते रहते हैं, इसलिए हम किसी एक का नाम नहीं ले रहे हैं। देखें कि मुफ़्त नोटबुक सेवाएं और आपका कॉलेज इस समय क्या दे रहे हैं, उनकी सीमाओं की तुलना करें, और शर्तें पढ़ें। चेकपॉइंट्स बार-बार सेव करते रहें, क्योंकि मुफ़्त सेशन बिना किसी चेतावनी के खत्म हो सकते हैं।
क्या छोटे मॉडलों के नतीजों को गंभीरता से लिया जाता है?
अक्सर हाँ, अगर सवाल उस पैमाने के अनुकूल हो और प्रयोग पूरी तरह साफ़-सुथरा हो। अपनी सीमाओं में ईमानदारी से बताएं कि बड़े मॉडल शायद अलग व्यवहार कर सकते हैं। एक गड़बड़ बड़े नतीजे की तुलना में एक स्पष्ट छोटा नतीजा कहीं अधिक उपयोगी होता है।
मैं रिसर्च क्रेडिट के लिए कैसे अप्लाई करूँ?
क्लाउड प्रोवाइडर्स और AI कंपनियों के मौजूदा रिसर्च क्रेडिट या अकादमिक एक्सेस प्रोग्राम खोजें। ज़्यादातर एक छोटा प्रस्ताव मांगते हैं: आपका सवाल, यह क्यों मायने रखता है, आपको कितने compute की ज़रूरत है और क्यों। किसी फैकल्टी का समर्थन मददगार होता है। डेटा के उपयोग और पब्लिकेशन से जुड़ी शर्तें ज़रूर पढ़ें।
पाठ का टेस्ट
5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।