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

किसी नतीजे को reproduce करना

किसी पेपर को सही मायने में समझने का सबसे अच्छा तरीका यह है कि आप उसके नतीजे को अपने कंप्यूटर पर लाकर देखें। छोटी शुरुआत करें, किसी एक नंबर से मिलान करें, और हर अंतर को नोट करते रहें।

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

60 सेकंड में

किसी नतीजे को reproduce करना

किसी पेपर को सही मायने में समझने का सबसे अच्छा तरीका यह है कि आप उसके नतीजे को अपने कंप्यूटर पर लाकर देखें। छोटी शुरुआत करें, किसी एक नंबर से मिलान करें, और हर अंतर को नोट करते…

1/6
आसान शब्दों में
आपकी दादी या नानी कोई ऐसी डिश बनाती हैं जो आपको बहुत पसंद है। आप घर पर उनकी रेसिपी अपनाते हैं, लेकिन स्वाद कुछ अलग आता है। क्या नमक कम-ज़्यादा था, बर्तन का फर्क था, या आंच का? आप एक बार में एक चीज़ बदलते हैं जब तक कि स्वाद सही न हो जाए। अब आप सच में वह रेसिपी जान चुके हैं। किसी रिसर्च नतीजे को reproduce करना भी बिल्कुल ऐसा ही है।
किसी नतीजे को reproduce करने का मतलब है कि एक्सपेरिमेंट को दोबारा चलाकर वही नतीजा पाना जो पेपर में बताया गया है। यह आपको सिर्फ पढ़ने से कहीं ज़्यादा सिखाता है: आप उन सभी छोटी-छोटी बातों को समझ पाते हैं जो पेपर में छूट गई थीं। यह अपने आप में एक बड़ा योगदान भी है। एक सावधानीपूर्वक तैयार की गई रिपोर्ट जो कहती है "यह नतीजा सही साबित होता है" या "यह सिर्फ इन खास शर्तों के तहत ही सही है", पूरे फील्ड की मदद करती है।
नोट
लोग reproduce, replicate और repeat जैसे शब्दों का इस्तेमाल थोड़े अलग-अलग तरीकों से करते हैं। सबसे ज़रूरी बात यह है कि आप साफ तौर पर बताएं कि आपने क्या किया: वही कोड या नया कोड, वही डेटा या नया डेटा, वही सेटिंग्स या बदली हुई सेटिंग्स।

स्टेप 1: सही पेपर चुनें

  • छोटा हो: मुख्य एक्सपेरिमेंट कई GPUs पर हफ्तों में नहीं, बल्कि एक लैपटॉप या एक GPU पर कुछ ही घंटों में ट्रेन या रन हो जाता हो।
  • ओपन हो: डेटा पब्लिक हो, और सबसे अच्छा तो यह होगा कि लेखकों ने कोड भी शेयर किया हो।
  • स्पष्ट हो: इसमें कोई खास नंबर दिया गया हो जिसे आप हासिल करने का लक्ष्य रख सकें, जैसे किसी तय डेटासेट पर accuracy।
  • आपकी रुचि का हो: आप इसके साथ कई घंटे बिताने वाले हैं।
अगर पूरा एक्सपेरिमेंट बहुत बड़ा है, तो पेपर में दी गई किसी टेबल की एक पंक्ति (row) या कोई छोटा सेटअप चुनें। हर चीज़ में नाकाम होने से बेहतर है कि आप किसी एक नंबर को अच्छी तरह reproduce करें।

स्टेप 2: कोड और डेटा ढूंढें

पेपर में, arXiv पेज पर, या लेखकों के पेजों पर कोड का लिंक ढूंढें। डेटासेट और मॉडल weights अक्सर Hugging Face या किसी प्रोजेक्ट पेज पर मिल जाते हैं। इस्तेमाल करने से पहले उनका लाइसेंस ज़रूर पढ़ लें। अगर कोड नहीं है, तो आप पेपर को पढ़कर खुद कोड लिखेंगे, जो कठिन ज़रूर है लेकिन इससे सीखने को बहुत कुछ मिलता है।

स्टेप 3: बहुत छोटे से शुरुआत करें, फिर आगे बढ़ें

  1. 1

    पहले बस चलाकर देखें

    इंस्टॉल करें, फिर केवल एक स्टेप के लिए 100 उदाहरणों पर चलाएं। बड़े पैमाने पर जाने से पहले हर एरर को ठीक करें।
  2. 2

    एक छोटे बैच को overfit करें

    कुछ उदाहरणों पर तब तक ट्रेन करें जब तक कि loss शून्य के करीब न पहुंच जाए। अगर ऐसा नहीं हो पा रहा, तो कहीं कुछ गड़बड़ है।
  3. 3

    इवैल्यूएशन कोड की जांच करें

    अगर लेखकों ने अपना मॉडल या प्रेडिक्शन्स शेयर किए हैं, तो उन्हें स्कोर करें और पेपर से तुलना करें।
  4. 4

    एक छोटा वर्ज़न चलाएं

    डेटा या स्टेप्स के एक छोटे हिस्से पर चलाएं, ताकि यह देख सकें कि ट्रेंड सही दिशा में जा रहा है।
  5. 5

    टारगेट सेटिंग पर रन करें

    अब असली कम्प्यूट खर्च करें, और अगर मुमकिन हो तो एक से ज़्यादा seed का इस्तेमाल करें।

स्टेप 4: हर चीज़ को नोट करें

एक लैब नोटबुक रखें: तारीख के साथ एंट्रीज़ वाली एक प्लेन टेक्स्ट या markdown फाइल। हर बार जब आप कुछ रन करें, तो लिखें कि आपने क्या रन किया, क्या बदलाव किए, और क्या नतीजा निकला। जब कोई नंबर मैच नहीं होता, तो यही लॉग आपको वजह ढूंढने में मदद करता है।
A lab notebook entrytext
2026-02-14  run 07
Goal: match Table 2, row 3 (paper reports accuracy 84.1)
Code: authors' repo, commit abc1234
Changes from paper: batch size 16 (paper: 64) because of GPU memory,
                    used gradient accumulation x4 to keep the same effective batch
Seeds: 0, 1, 2
Result: 82.6, 83.3, 82.9  (mean 82.9)
Gap: about 1.2 below the paper
Next: check tokenizer version; paper footnote mentions lowercasing

जब नंबर मैच न हो

यह बहुत आम बात है, और इसका यह मतलब नहीं कि किसी की गलती ही है। आम वजहों को एक-एक करके जांचें।
संभावित कारणक्या जांचें
Random seed का अंतरअलग-अलग seeds के साथ रन करें। क्या पेपर का नंबर आपकी रेंज के अंदर आ रहा है?
डेटा का अलग वर्ज़न या स्प्लिटक्या डेटासेट वर्ज़न, प्रीप्रोसेसिंग और टेस्ट स्प्लिट वही हैं?
इवैल्यूएशन का फर्कक्या मीट्रिक कोड वही है? क्या केस, विराम चिह्न या tokenisation उसी तरह संभाला गया है?
छिपी हुई सेटिंग्सLearning rate schedule, warm-up, weight decay, early stopping। अपेंडिक्स और कोड की डिफ़ॉल्ट कॉन्फ़िग जांचें।
लाइब्रेरी के वर्ज़नलाइब्रेरी का नया वर्ज़न डिफ़ॉल्ट सेटिंग्स बदल सकता है। वही वर्ज़न आज़माएं जो लेखकों ने बताए हैं।
हार्डवेयर और प्रीसिजन (precision)अलग GPUs और कम precision से नतीजों में थोड़ा फर्क आ सकता है।
आपके कोड में कोई बगएक छोटे उदाहरण पर अपने कोड की उनके कोड से लाइन-दर-लाइन तुलना करें।
यह करें
अगर पूरी ईमानदारी से कोशिश करने के बाद भी नतीजा मैच न हो, तो लेखकों को लिखें। विनम्र रहें और बात साफ रखें: कौन सा नंबर था, कौन सी सेटिंग्स थीं, आपको क्या मिला, और आप पहले से क्या जांच चुके हैं। कई लेखक मदद करके खुश होते हैं, और कभी-कभी उन्हें अपने ही पेपर में कोई बग मिल जाता है। एक स्पष्ट रिपोर्ट बहुत काम की होती है, भले ही नतीजों का अंतर कभी न भरे।
गलत तरीके से reproduce करना
  • सीधे सबसे बड़े और पूरे रन से शुरुआत करना
  • एक साथ पांच चीज़ें बदलना, फिर दोबारा रन करना
  • नतीजों को सिर्फ अपनी याददाश्त में रखना
  • एक बार रन फेल होने पर यह कह देना कि "पेपर ही गलत है"
सही तरीके से reproduce करना
  • 100 उदाहरणों और एक स्टेप से शुरुआत करना
  • एक बार में एक ही चीज़ बदलना
  • हर रन को उसकी सेटिंग्स के साथ नोट करना
  • अंतर को रिपोर्ट करना, आपने क्या कोशिश की, और किस बात को लेकर आप अब भी पक्के नहीं हैं
असली उदाहरण
कोच्चि के एक सेल्फ-लर्नर अर्जुन ने एक फ्री नोटबुक GPU पर टेक्स्ट-क्लासिफिकेशन के एक छोटे पेपर को reproduce किया। उसका पहला नतीजा पेपर में दिए गए नतीजे से काफी कम था। उसके लॉग से पता चला कि उसने डेटासेट का एक अलग वर्ज़न इस्तेमाल कर लिया था। वर्ज़न बदलने के बाद, उसका नतीजा पेपर के नंबर के बहुत करीब आ गया (seed की रेंज के भीतर)। उसने वर्ज़न की इस समस्या पर एक छोटा ब्लॉग पोस्ट लिखा, जिससे अन्य सीखने वालों को भी मदद मिली।
यह करके देखें। हाल ही में पढ़े किसी एक पेपर के बारे में सोचें। तीन सवालों के जवाब दें: क्या कोड पब्लिक है? क्या डेटा पब्लिक है? क्या इसका एक एक्सपेरिमेंट एक लैपटॉप या फ्री GPU पर एक दिन में चल सकता है? अगर तीनों का जवाब हाँ है, तो यह reproduce करने के लिए एक बेहतरीन पेपर है।

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

लैब

किसी एक असली पेपर के लिए reproducibility चेकलिस्ट, इस फैसले के साथ कि क्या आप इसे reproduce कर सके, और पहले कदम की योजना।

~40 min

समस्या

पिछली लैब का पेपर लें, या कोई भी छोटा AI पेपर जिसमें मिलान करने के लिए कोई स्पष्ट नंबर दिया गया हो।

  1. नीचे दी गई चेकलिस्ट को कॉपी करें और हर लाइन का जवाब yes, no या unclear में दें, साथ ही यह भी बताएं कि आपको वह जानकारी कहाँ मिली (सेक्शन, टेबल, अपेंडिक्स, कोड फाइल)।
  2. एक टारगेट नंबर चुनें: कौन सी टेबल, कौन सी रो, क्या वैल्यू।
  3. कम्प्यूट का अंदाज़ा लगाएं: क्या यह लैपटॉप या किसी फ्री GPU पर चल सकता है? अगर नहीं, तो पेपर में दिया गया कौन सा छोटा सेटअप आप आज़मा सकते हैं?
  4. अपने पहले तीन कदम लिखें (जैसे "लेखकों के रिलीज़ किए गए मॉडल पर eval रन करना", "10 उदाहरणों को overfit करना")।
  5. अगर आपके पास समय हो, तो स्टेप 1 पूरा करें और इसके लिए लैब नोटबुक में एक एंट्री लिखें।
शुरुआती कोडtext
REPRODUCIBILITY CHECKLIST
Paper:
Target number (table/row/value):

Code released?                        yes / no / unclear  - where:
Exact data and version named?         yes / no / unclear  - where:
Train / validation / test split given? yes / no / unclear - where:
Preprocessing described?              yes / no / unclear  - where:
All hyperparameters listed?           yes / no / unclear  - where:
How settings were chosen (val set)?   yes / no / unclear  - where:
Number of seeds and spread reported?  yes / no / unclear  - where:
Evaluation metric code available?     yes / no / unclear  - where:
Library versions listed?              yes / no / unclear  - where:
Compute used (hardware, hours)?       yes / no / unclear  - where:
Licence allows my use?                yes / no / unclear  - where:

Can I run it on my compute?
Smaller setting if not:
First three steps:
1.
2.
3.

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

कठिन सवाल

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

Q1आपको पेपर के नंबर से बेहतर नतीजा मिलता है। क्या यह अच्छी खबर है?दिखाएं

सावधान रहें। यह seed luck, डेटा का कोई अलग version, या कोई बग हो सकता है जैसे test data का training में लीक हो जाना। उम्मीद से ज़्यादा अच्छे नतीजे को भी उतनी ही सावधानी से लें जितना किसी खराब नतीजे को: यकीन करने से पहले evaluation, split और कई seeds को चेक करें।

Q2पेपर में कोई library versions नहीं दिए गए हैं और आज के versions के साथ कोड फ़ेल हो जाता है। आप क्या करेंगे?दिखाएं

कोड के आखिरी commit की तारीख देखें और उस समय के आस-पास के library versions आज़माएँ, एक अलग environment में ताकि आपके दूसरे प्रोजेक्ट्स न बिगड़ें। आखिर में आप जिस भी version पर पहुँचते हैं, उसे अपने लॉग में और एक requirements फ़ाइल में नोट कर लें। यह जानकारी शेयर करना मददगार होता है, क्योंकि दूसरों को भी यही परेशानी आएगी।

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

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

क्या किसी पेपर को reproduce करना "असली रिसर्च" है?

हाँ। नतीजे सही साबित होते हैं या नहीं, यह जांचना साइंस का एक अहम हिस्सा है। इससे वही हुनर भी तैयार होता है जिसकी आपको अपने ओरिजिनल काम के लिए ज़रूरत होती है। कई रिसर्चर्स को अपना पहला ओरिजिनल आइडिया किसी और के नतीजे को reproduce करते हुए ही मिलता है, क्योंकि उनका ध्यान किसी ऐसी चीज़ पर जाता है जो पेपर में छूट गई थी।

"काफी करीब" का मतलब कितना करीब होता है?

इसका कोई तय नियम नहीं है। एक काम का तरीका यह है: कई seeds चलाकर देखें कि क्या पेपर का नंबर आपकी मिली रेंज के अंदर आता है। अगर आता है, तो मुमकिन है कि आपने इसे reproduce कर लिया है। अगर यह रेंज से बहुत बाहर है, तो वजह तलाशें और इस अंतर को ईमानदारी से रिपोर्ट करें।

क्या मैं लेखकों का कोड इस्तेमाल कर सकता हूँ, या मुझे अपना कोड लिखना होगा?

दोनों ही तरीके काम के हैं और अलग-अलग सवालों के जवाब देते हैं। उनका कोड चलाने से यह जांच होती है कि क्या बताए गए नंबर तक पहुंचा जा सकता है। अपना कोड खुद लिखने से यह जांच होती है कि क्या पेपर में पूरे तरीके को ठीक से समझाया गया है। साफ तौर पर बताएं कि आपने कौन सा तरीका अपनाया।

अगर लेखकों का कोई जवाब न आए तो क्या करें?

यह आम बात है, क्योंकि लोग व्यस्त रहते हैं। फिर भी, आपको जो मिला उसे अपने लॉग, सेटिंग्स और कोड के साथ लिख लें। नतीजों के अंतर और उसकी वजह के बारे में अपने अंदाज़े को बताएं, और साफ लिख दें कि यह सिर्फ एक अंदाज़ा है।

पाठ का टेस्ट

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

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