AI रिसर्च कैसे करेंमध्यमपाठ 3277 मिनट का पाठ

बजट में Compute का इस्तेमाल

आप बड़े GPU क्लस्टर के बिना भी असली रिसर्च कर सकते हैं। छोटे स्तर से शुरुआत करें, मुफ़्त और अकादमिक संसाधनों का समझदारी से इस्तेमाल करें, कुशल कोड लिखें, और समझें कि आपको वास्तव में ज़्यादा रिसोर्स की ज़रूरत कब है।

पाठ वीडियो में

60 सेकंड में

बजट में Compute का इस्तेमाल

आप बड़े GPU क्लस्टर के बिना भी असली रिसर्च कर सकते हैं। छोटे स्तर से शुरुआत करें, मुफ़्त और अकादमिक संसाधनों का समझदारी से इस्तेमाल करें, कुशल कोड लिखें, और समझें कि आपको वास्तव…

1/5
आसान शब्दों में
किसी बड़ी शादी से पहले, हलवाई रेसिपी चखने के लिए पहले एक छोटी कड़ाही में खाना बनाता है। जब स्वाद बिल्कुल सही बैठता है, तभी वह पाँच सौ मेहमानों के लिए खाना पकाता है। अगर वह बड़ी कड़ाही से ही शुरू करता और नमक गलत हो जाता, तो सारा खाना और पैसा बर्बाद हो जाता। रिसर्च compute भी ठीक इसी तरह काम करता है।
Compute का मतलब उस प्रोसेसिंग पावर से है जिसका इस्तेमाल आप मॉडल को ट्रेन करने और चलाने के लिए करते हैं, आमतौर पर GPU का समय। छात्रों और स्वतंत्र रिसर्चर्स के लिए यह अक्सर सबसे सीमित संसाधन होता है। अच्छी बात यह है: कई ज़रूरी रिसर्च सवालों को छोटे मॉडल, छोटे डेटा और सावधानीपूर्वक प्लानिंग के साथ परखा जा सकता है। बजट की सीमाएं आपको साफ़ और आसान प्रयोग करने के लिए भी प्रेरित करती हैं।

पहले छोटे मॉडल आज़माएं

लगभग हर आइडिया का परीक्षण पहले एक छोटे मॉडल और छोटे डेटासेट पर किया जा सकता है। अगर आइडिया छोटे स्तर पर काम नहीं करता है, तो आप बहुत सारा compute बचा लेते हैं। अगर यह काम करता है, तो आपके पास आगे बढ़ने के लिए एक ठोस नतीजा होता है।
  • छोटे मॉडल: कई ओपन मॉडल कई आकारों में आते हैं। उस सबसे छोटे मॉडल का इस्तेमाल करें जो उस प्रभाव को दिखा सके जिसे आप देखना चाहते हैं।
  • डेटा के छोटे हिस्से (Subsets): डेटा के 1% हिस्से पर डिबग करें। पूरे डेटासेट का इस्तेमाल तभी करें जब पाइपलाइन ठीक से काम करने लगे।
  • छोटे रन: एक लंबा रन शुरू करने से पहले, यह देख लें कि कुछ सौ स्टेप्स के लिए loss नीचे आ रहा है या नहीं।
  • स्केलिंग जांच: दो या तीन छोटे आकारों को आज़माएं। अगर ट्रेंड स्थिर है, तो आपको अंदाज़ा मिल जाता है कि बड़े पैमाने पर क्या हो सकता है। यह एक संकेत है, कोई गारंटी नहीं।
  • शुरू से ट्रेन करने के बजाय अनुकूलित (adapt) करें: LoRA या QLoRA के साथ फ़ाइन-ट्यूनिंग करना, या किसी मॉडल को वैसे ही इस्तेमाल करना, शुरुआत से ट्रेन करने की तुलना में बहुत सस्ता है।

Compute कहाँ से पाएं

स्रोतयह क्या हैध्यान रखने योग्य बातें
आपका अपना लैपटॉपCPU, कभी-कभी एक छोटा GPUछोटे मॉडल, डेटा के काम, मूल्यांकन (evaluation) और डिबगिंग के लिए अच्छा है। मुफ़्त और हमेशा उपलब्ध।
मुफ़्त नोटबुक सेवाएंकुछ क्लाउड नोटबुक सेवाएं सीमित GPU समय मुफ़्त देती हैंसीमाएं, GPU के प्रकार और नियम अक्सर बदलते रहते हैं। सेशन बिना चेतावनी के बंद हो सकते हैं, इसलिए चेकपॉइंट सेव करते रहें। मौजूदा शर्तें ज़रूर पढ़ें।
यूनिवर्सिटी के कंप्यूटरIITs और IISc सहित कई कॉलेजों में शेयर्ड GPU सर्वर या क्लस्टर होते हैंअपने विभाग या किसी प्रोफेसर की लैब से पता करें। आपको आमतौर पर एक फैकल्टी स्पॉन्सर की ज़रूरत होती है और इसे सभी के साथ साझा करना पड़ता है।
रिसर्च क्रेडिट प्रोग्रामकुछ क्लाउड प्रोवाइडर और AI कंपनियां अकादमिक रिसर्च के लिए क्रेडिट या मुफ़्त एक्सेस देती हैंये समय-समय पर शुरू और बंद होते रहते हैं। मौजूदा प्रोग्राम खोजें और उनकी शर्तें पढ़ें। एक साफ़-सुथरा एक पेज का प्रस्ताव मददगार होता है।
सहयोग (Collaborations)कोई लैब या कंपनी पार्टनर बड़े प्रयोग चलाती हैडेटा के उपयोग, ऑथरशिप और आप क्या पब्लिश कर सकते हैं, इस पर पहले ही सहमति बना लें।
सावधान रहें
जब आप काम न कर रहे हों, तो पेड क्लाउड GPU को कभी भी चालू न छोड़ें। बजट अलर्ट सेट करें, रन खत्म होने पर मशीनें बंद कर दें, और अपने शेयर किए जाने वाले कोड या नोटबुक में कभी भी क्लाउड कीज़ या पासवर्ड न डालें।

कुशल कोड: उसी GPU से ज़्यादा काम लें

  • पहले मापें: ट्रेनिंग के एक स्टेप का समय मापें। पता लगाएं कि GPU व्यस्त है या डेटा का इंतज़ार कर रहा है।
  • डेटा को एक ही बार तैयार करें: हर रन में बार-बार करने के बजाय, डेटा को एक बार टोकनाइज़ या प्रीप्रोसेस करके सेव कर लें।
  • मिक्स्ड प्रिसिजन: ज़्यादातर आधुनिक फ्रेमवर्क लो-प्रिसिजन ट्रेनिंग को सपोर्ट करते हैं, जो अक्सर कम मेमोरी लेती है और तेज़ी से चलती है। अपने फ्रेमवर्क के दस्तावेज़ (docs) देखें।
  • ग्रेडिएंट एक्युम्यूलेशन: अगर एक बड़ा बैच फ़िट नहीं हो रहा है, तो कई छोटे बैचों पर ग्रेडिएंट्स को जोड़ते जाएं।
  • चेकपॉइंट्स: नियमित रूप से सेव करें ताकि सेशन अचानक बंद होने पर घंटों का काम बर्बाद न हो।
  • नतीजों का दोबारा इस्तेमाल करें: जिन मॉडल आउटपुट्स का आप कई बार मूल्यांकन करते हैं उन्हें कैश (cache) कर लें, और हर रन का लॉग रखें ताकि आप गलती से किसी चीज़ को दोबारा न चलाएं।

रन करने से पहले अनुमान लगाएं

एक साधारण अनुमान बहुत सारी परेशानी से बचाता है। एक छोटा रन मापें, फिर उसे गुणा करें।
Back-of-the-envelope compute plantext
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 की ज़रूरत होती है: सावधानीपूर्वक मूल्यांकन, डेटा की गुणवत्ता, छोटे मॉडलों की समझ (interpretability), कुशल तरीके, और ओपन मॉडलों के साथ भारतीय भाषाओं पर काम। अपने compute के अनुकूल सवाल चुनना एक हुनर है, कोई समझौता नहीं।
इसे आज़माएं। वह प्रयोग चुनें जिसे आप अगली बार चलाना चाहते हैं। एक छोटे रन का समय मापें। फिर उसके लिए ऊपर दी गई योजना बनाएं: सेटिंग्स, seeds, कुल घंटे, और एक प्लान B।

और देखें और पढ़ें

लैब

एक प्रयोग के लिए लिखित compute योजना, जिसमें मापा गया या अनुमानित रन टाइम, कुल घंटे और एक प्लान B शामिल हो।

~30 min

समस्या

वह प्रयोग चुनें जिसे आप चलाना चाहते हैं: किसी पेपर को रीप्रोड्यूस करने का लक्ष्य, या आपका अपना कोई आइडिया। आप इसे कागज़ पर भी कर सकते हैं।

  1. अपनी ज़रूरत की हर सेटिंग की सूची बनाएं: methods, baselines, ablations।
  2. प्रति सेटिंग seeds की संख्या चुनें और बताएं कि क्यों।
  3. यदि संभव हो तो एक छोटे रन का समय मापें (लैपटॉप पर डेटा के बहुत छोटे हिस्से के साथ भी)। यदि नहीं, तो एक ईमानदार अंदाज़ा लिखें और इसे अंदाज़े के रूप में मार्क करें।
  4. कुल GPU घंटे निकालने के लिए गुणा करें, फिर डिबगिंग के लिए थोड़ा अतिरिक्त समय जोड़ें।
  5. बताएं कि आप इसे कहाँ चलाएंगे (लैपटॉप, फ़्री टियर, कॉलेज सर्वर) और क्या रुकावट आ सकती है।
  6. एक ऐसा प्लान B लिखें जो आधे बजट में फ़िट हो जाए: आप पहले कौन से रन हटाएंगे, और क्यों।

आपका काम तब पूरा होगा जब

कठिन सवाल

उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।

Q1Compute बचाने के लिए, एक दोस्त बेसलाइन को 1 seed के साथ और आपके तरीके को 5 seeds के साथ चलाने का सुझाव देता है। क्या यह उचित है?दिखाएं

नहीं। तब तुलना बराबरी की नहीं रह जाती: आपको अपने तरीके का स्प्रेड तो पता होता है पर बेसलाइन का नहीं, और बेसलाइन का एक रन किस्मत से अच्छा या बुरा हो सकता है। जिस भी तरीके की आप तुलना करें, उन सभी के लिए एक जितनी संख्या में seeds, और वही seeds इस्तेमाल करें। निष्पक्षता से समझौता करने से पहले ablations या सेटिंग्स कम कर दें।

Q2कोई आइडिया उन दो सबसे छोटे मॉडल साइज़ पर काम करता है जिन्हें आप अफ़ोर्ड कर सकते हैं। क्या आप यह दावा कर सकते हैं कि यह बड़े मॉडल्स के लिए भी काम करता है?दिखाएं

सीधे तौर पर नहीं। आप यह कह सकते हैं कि आपने जिन साइज़ पर टेस्ट किया, उन पर यह सही रहा, और उसका ट्रेंड दिखा सकते हैं। कुछ असर स्केल के साथ घटते, बढ़ते या उलट जाते हैं। अपनी limitations में साइज़ साफ़-साफ़ बताएं, और ज़्यादा compute की सुविधा रखने वाले अन्य लोगों को बड़े मॉडल्स टेस्ट करने के लिए आमंत्रित करें।

जारी रखने के लिए कृपया साइन इन करें।

अक्सर पूछे जाने वाले सवाल

क्या मैं केवल एक लैपटॉप से AI रिसर्च कर सकता हूँ?

हाँ, कई तरह के सवालों के लिए ऐसा किया जा सकता है। आप छोटे मॉडल चला सकते हैं, मूल्यांकन पर काम कर सकते हैं, डेटासेट का विश्लेषण कर सकते हैं, और छोटे नेटवर्क्स की interpretability पर काम कर सकते हैं। जिन हिस्सों के लिए ज़रूरत हो, उनके लिए मुफ़्त या शेयर्ड GPU का इस्तेमाल करें। उन सवालों से शुरुआत करें जो आपके मौजूदा संसाधनों में फ़िट बैठते हों।

मुझे कौन सी मुफ़्त GPU सेवा का इस्तेमाल करना चाहिए?

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

क्या छोटे मॉडलों के नतीजों को गंभीरता से लिया जाता है?

अक्सर हाँ, अगर सवाल उस पैमाने के अनुकूल हो और प्रयोग पूरी तरह साफ़-सुथरा हो। अपनी सीमाओं में ईमानदारी से बताएं कि बड़े मॉडल शायद अलग व्यवहार कर सकते हैं। एक गड़बड़ बड़े नतीजे की तुलना में एक स्पष्ट छोटा नतीजा कहीं अधिक उपयोगी होता है।

मैं रिसर्च क्रेडिट के लिए कैसे अप्लाई करूँ?

क्लाउड प्रोवाइडर्स और AI कंपनियों के मौजूदा रिसर्च क्रेडिट या अकादमिक एक्सेस प्रोग्राम खोजें। ज़्यादातर एक छोटा प्रस्ताव मांगते हैं: आपका सवाल, यह क्यों मायने रखता है, आपको कितने compute की ज़रूरत है और क्यों। किसी फैकल्टी का समर्थन मददगार होता है। डेटा के उपयोग और पब्लिकेशन से जुड़ी शर्तें ज़रूर पढ़ें।

पाठ का टेस्ट

5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।

टेस्ट देने और अपनी प्रोग्रेस सेव करने के लिए साइन इन करें