लेबलर नियरबाई का निर्माण
Table of Contents
मेरा पहला हैकाथन
2022 की गर्मियों के अंत में, मैं एक रोमांचक प्रोजेक्ट पर काम करना चाहता था। मैंने अपनी स्नातक की पढ़ाई पूरी की थी और एक सॉफ्टवेयर इंजीनियर के रूप में पूर्णकालिक काम कर रहा था। मैं वास्तव में एक साइड प्रोजेक्ट पर काम करने के लिए प्रतिबद्ध होना चाहता था और उस समय, मेरे पास ऐसा करने के लिए पर्याप्त फ्री टाइम था। मुझे वास्तव में नहीं पता था कि किस पर काम करना है, जब तक कि मैंने अगस्त 2022 में डेवपॉस्ट नामक एक वेबसाइट का पता नहीं लगाया। डेवपॉस्ट एक वेबसाइट है जो हैकाथन नामक सॉफ्टवेयर प्रतियोगिताओं की मेज़बानी करती है। डेवपॉस्ट पर ब्राउज़ करते समय, मैंने NEAR मेटाबिल्ड III नामक एक हैकाथन का पता लगाया जो NEAR प्रोटोकॉल संगठन द्वारा आयोजित किया गया था।
NEAR क्या है?
NEAR प्रोटोकॉल एक ब्लॉकचेन है जो स्मार्ट कॉन्ट्रैक्ट्स और NEAR क्रिप्टोक्यूरेंसी का समर्थन करता है। यह मुख्य रूप से बहुत कम ट्रांजेक्शन फीस, स्मार्ट कॉन्ट्रैक्ट्स का समर्थन, अपनी आधिकारिक टेस्ट नेटवर्क होने और रस्ट और/या जावास्क्रिप्ट में स्मार्ट कॉन्ट्रैक्ट्स लिखने की क्षमता के लिए जाना जाता है। आप CoinGecko के अद्भुत वीडियो के माध्यम से NEAR प्रोटोकॉल का बेहतर अवलोकन प्राप्त कर सकते हैं:
इस समय, Coinbase ने आधिकारिक रूप से NEAR प्रोटोकॉल को अपने प्लेटफॉर्म पर एक ट्रेडेबल कॉइन के रूप में समर्थन देना शुरू किया। यह एक बड़ा मामला था क्योंकि Coinbase उन कॉइनों के मामले में बहुत चयनात्मक होने के लिए जाना जाता है जिन्हें वे अपने प्लेटफॉर्म पर समर्थन देते हैं। इससे NEAR को एक अधिक विश्वसनीय प्लेटफॉर्म बनाने में मदद मिली। आप आज भी Coinbase पर NEAR का व्यापार कर सकते हैं।
क्यों प्रतिबद्ध करें?
कुछ समय सोचने के बाद, मैंने NEAR मेटाबिल्ड III हैकाथन में प्रतिस्पर्धा के लिए अपना समय समर्पित करने का निर्णय लिया। मेरा तर्क यह था:
- क्रिप्टो जाने वाला नहीं है और यह एक ऐसी तकनीक है जो बनी रहेगी। इसलिए इस तकनीक को सीखने में कुछ समय निवेश करना समझदारी थी।
- हैकाथन में शानदार पुरस्कार थे, यदि आप विजेताओं में से एक थे तो $20,000 से $100,000 तक NEAR।
- हैकाथन की एक निश्चित समय सीमा थी, जिसका अर्थ था कि प्रोजेक्ट को महीनों तक खींचा नहीं जा सकता था जैसे कि कई साइड प्रोजेक्ट आमतौर पर होते हैं।
- यह प्रोजेक्ट एक शानदार सीखने का अनुभव होगा और हैकाथन का एक शानदार परिचय होगा।
- सबसे खराब स्थिति में, हैकाथन मुझे अपने रिज़्यूमे पर दिखाने के लिए एक शानदार प्रोजेक्ट बनाने की अनुमति देगा।
इन सभी बातों को ध्यान में रखते हुए, मैंने 26 अगस्त 2022 को अपने कॉलेज के करीबी दोस्त को फोन किया और हम इस हैकाथन की योजना बनाने लगे। हैकाथन 23 सितंबर 2023 को शुरू होने और 21 नवंबर 2022 को समाप्त होने वाला था। हालांकि समय सीमा हैकाथन के अंत में 24 नवंबर 2023 तक बढ़ा दी गई। चूंकि हम 1 महीने पहले थे, हमने इस समय का उपयोग सीखने और विचार-मंथन करने के लिए किया कि हम इस 2 महीने के हैकाथन के लिए किस पर काम करेंगे। पहले महीने के दौरान, हमने क्रिप्टो और ब्लॉकचेन का सामान्य अवलोकन प्राप्त किया। हमने NEAR के टेस्टनेट पर समीक्षा और अभ्यास किया, NEAR SDK की समीक्षा की, और कुछ स्मार्ट कॉन्ट्रैक्ट्स को तैनात किया।
विचार
ब्लॉकचेन और NEAR की सभी चीजों का शानदार परिचय प्राप्त करने के बाद, हमने विचारों पर विचार-मंथन करना शुरू किया। मैं चाहता था कि यह प्रोजेक्ट केवल एक “हैकाथन प्रोजेक्ट” न हो, बल्कि कुछ ऐसा हो जो एक उत्पाद बन सके जिसका अन्य लोग उपयोग कर सकें और यह दिखा सके कि क्रिप्टो केवल व्यापार के बाहर चीजों के लिए कैसे उपयोगी हो सकता है।
इस बात को ध्यान में रखते हुए, हमने शुरू में कुछ ऐसा बनाने का निर्णय लिया जो अनरियल इंजन ब्लूप्रिंट के समान हो, लेकिन NEAR ब्लॉकचेन पर स्मार्ट कॉन्ट्रैक्ट्स के आसान निर्माण और तैनाती के लिए बिना कोडिंग की आवश्यकता के। हालांकि, हैकाथन शुरू होने से एक सप्ताह पहले, हमने इस विचार को छोड़ दिया क्योंकि यह बस समझ में नहीं आया। कोई भी हमारे उपकरण का उपयोग करके NEAR स्मार्ट कॉन्ट्रैक्ट्स बनाने के लिए क्यों परेशान होगा यदि उनके लिए अभी कोई व्यावहारिक उपयोग मामला नहीं था? यह ऐसा होगा जैसे एक उपकरण विकसित करना जिसकी कई लोगों को आवश्यकता नहीं थी।
हैकाथन शुरू होने से केवल एक सप्ताह पहले, हमने फिर से विचार-मंथन करना शुरू किया और इस विचार पर सहमति जताई:
एक विकेन्द्रीकृत प्लेटफॉर्म जहां AI शोधकर्ता डेटा लेबलिंग को दुनिया भर के लेबलरों को आउटसोर्स कर सकते हैं
हमने प्रोजेक्ट का नाम “लेबलर नियरबाई” रखा। इस विचार को चुनने का हमारा निर्णय निम्नलिखित कारणों पर आधारित था:
- AI विकास के लिए प्रशिक्षण के लिए डेटा का मानव लेबलिंग आवश्यक है।
- विशिष्ट डेटा सेट के लिए लेबलिंग के लिए कुशल व्यक्तियों को खोजना और प्रबंधित करना चुनौतीपूर्ण है।
- इस विचार को पहले ही एक कंपनी द्वारा सफलतापूर्वक लागू किया गया है जिसे Scale AI कहा जाता है, जैसा कि उन्होंने उत्पाद-मार्केट फिट पाया है।
- Scale AI जैसी केंद्रीकृत सेवाएं चिंताएं पैदा करती हैं क्योंकि संगठनों को अपने डेटा को लेबलिंग कंपनी को भेजना होता है, जो फिर मानव लेबलरों को वैश्विक स्तर पर आउटसोर्स करती है। लेबलिंग प्रक्रिया के बाद, कंपनी लेबल किए गए डेटा को संगठन को वापस कर देती है। इससे मूल्यवान प्रशिक्षण डेटा पर नियंत्रण खो जाता है, जिसका उपयोग लेबलिंग कंपनी अपने स्वयं के मॉडलों को प्रशिक्षित करने के लिए कर सकती है। इस सेवा को विकेन्द्रीकृत करना एक तार्किक समाधान प्रतीत होता था।
- हमें इस विचार पर काम करने वाले विकेन्द्रीकृत ऐप (dApp) क्षेत्र में बहुत कम प्रोजेक्ट मिले, जिससे हमें इस क्षेत्र में नवाचार और अग्रणी बनने का अवसर मिला।
जटिलता को कम करने के लिए, हमने निर्णय लिया कि लेबलर नियरबाई केवल इस समय छवि डेटा का समर्थन करेगा।
सबमिशन
विचार चुने जाने के बाद और हैकाथन आधिकारिक रूप से शुरू होने के बाद, मेरे दोस्त और मैंने लेबलर नियरबाई का निर्माण करना शुरू किया। हमने अपने प्रोजेक्ट पर 2 महीने तक काम किया जब तक कि हमने 24 नवंबर 2022 को डेवपॉस्ट पर अपने प्रोजेक्ट का अंतिम मसौदा प्रस्तुत नहीं किया। हमने अपने प्रोजेक्ट को डेवपॉस्ट पर प्रस्तुत किया और अपने सबमिशन की एक प्रति गिटहब पर भी बनाई। यह ब्लॉग लेबलर नियरबाई के हर तकनीकी पहलू और विकास प्रक्रिया को कवर नहीं करता है। यह जानकर, लेबलर नियरबाई कैसे काम करता है या हमारे अंतिम सबमिशन को देखने के लिए, कृपया निम्नलिखित लिंक में से एक पर जाएं:
लेबलर नियरबाई में दो कोडबेस शामिल हैं: ln-researcher और ln-labeler। ये कोडबेस पूरी तरह से MIT लाइसेंस के तहत ओपन सोर्स हैं और निम्नलिखित लिंक के माध्यम से देखे जा सकते हैं:
यहां लेबलर नियरबाई (LN) कैसे काम करेगा इसका एक सामान्य अवलोकन है:
एक शोधकर्ता को अपने AI मॉडल के प्रशिक्षण के लिए लेबल किए गए चित्रों की आवश्यकता होती है। इसे पूरा करने के लिए, शोधकर्ता LN का उपयोग अपने डेटा को होस्ट करने और लेबलरों को अपने डेटा को लेबल करने के लिए एक साधन प्रदान करने के लिए करता है। यह ln-researcher के माध्यम से प्राप्त किया जाता है, जो एक स्वयं-होस्टेड वेब सेवा है जिसमें एक API, शोधकर्ता के स्मार्ट कॉन्ट्रैक्ट्स, और एक स्थानीय पोस्टग्रेस डेटाबेस शामिल है। लेबलर के लिए, एक वेब फ्रंटेंड (प्रदान किया गया होता) है, जिससे वे शोधकर्ता की छवियों तक पहुंच सकते हैं और उन्हें लेबल कर सकते हैं। लेबलिंग की प्रक्रिया में, एक छवि को विभिन्न लेबलरों द्वारा तीन बार लेबल किया जाता है। केवल सबसे अच्छे लेबल वाले लेबलर को, जो एक मतदान प्रणाली के माध्यम से निर्धारित किया जाता है, NEAR कॉइनों से पुरस्कृत किया जाता है। इस प्रक्रिया के लिए जिम्मेदार वेब ऐप को ln-labeler कहा जाता है। शोधकर्ता प्रत्येक लेबलिंग ऑपरेशन को वित्तपोषित करता है, और NEAR कॉइनों को Coinbase के माध्यम से डॉलर में आसानी से परिवर्तित किया जा सकता है। सभी लेनदेन लॉजिस्टिक्स NEAR प्रोटोकॉल ब्लॉकचेन पर होस्ट किए गए स्मार्ट कॉन्ट्रैक्ट्स द्वारा प्रबंधित किए जाते हैं।
आप यहां हैकाथन के लिए लेबलर नियरबाई का हमारा डेमो वीडियो देख सकते हैं:
सबसे बड़ी उपलब्धि
जिस फीचर को लागू करने पर मुझे सबसे अधिक गर्व है, वह getImage() नामक एक फ़ंक्शन है। यह फ़ंक्शन ln-researcher में एक API एंडपॉइंट के रूप में कार्य करता है और लेबलर नियरबाई (LN) में शोधकर्ताओं और लेबलरों के बीच डेटा पाइपलाइन में एक महत्वपूर्ण भूमिका निभाता है।
यह API एंडपॉइंट शोधकर्ताओं को अपने चित्रों को लेबलिंग के लिए सुरक्षित और विश्वसनीय रूप से वितरित करने में सक्षम बनाता है। लेबलिंग असाइनमेंट NEAR प्रोटोकॉल ब्लॉकचेन पर NEAR स्मार्ट कॉन्ट्रैक्ट्स के माध्यम से प्रबंधित किए जाते हैं जबकि छवि डेटा शोधकर्ता द्वारा ln-researcher के माध्यम से होस्ट किया जाता है।
यह एंडपॉइंट एक श्रृंखला की सुरक्षा जांच करता है ताकि यह सुनिश्चित किया जा सके कि केवल असाइन किए गए लेबलर को छवि तक पहुंच प्राप्त हो। इसमें अनुरोध के हस्ताक्षर की पुष्टि करना और संबंधित स्मार्ट कॉन्ट्रैक्ट की जांच करना शामिल है ताकि कार्य की उपस्थिति और अनुरोध करने वाले लेबलर को असाइनमेंट की पुष्टि की जा सके।
एक बार जब अनुरोध शोधकर्ता के स्वयं-होस्टेड ln-researcher API में मान्य हो जाता है, तो फ़ंक्शन स्थानीय पोस्टग्रेस डेटाबेस से छवि को पुनः प्राप्त करता है, छवि को एन्क्रिप्ट करता है, और इसे अधिकृत लेबलर को वितरित करता है जो फिर लेबलिंग के लिए छवि को डिक्रिप्ट कर सकता है। एक ही समय में, फ़ंक्शन डेटाबेस में छवि की स्थिति को अपडेट करता है, यह दर्शाते हुए कि छवि को लेबल करने की प्रक्रिया में है। इस प्रक्रिया के दौरान, शोधकर्ता और लेबलर दोनों के RSA कुंजी का उपयोग प्रमाणीकरण के लिए किया जाता है। जबकि छवि को एन्क्रिप्ट करने के लिए AES एन्क्रिप्शन का उपयोग किया जाता है।
यह एंडपॉइंट शोधकर्ताओं से लेबलरों तक छवियों के सुरक्षित और नियंत्रित वितरण को प्रबंधित करने में एक महत्वपूर्ण भूमिका निभाता है। यह सुरक्षित डेटा ट्रांसफर सुनिश्चित करता है और प्रभावी ढंग से छवि लेबलिंग प्रक्रिया को ट्रैक और प्रबंधित करता है। इसके अतिरिक्त, इस प्रक्रिया में HTTPS का उपयोग करने की आवश्यकता को समाप्त करने की क्षमता है, कम से कम इस एंडपॉइंट के लिए।
इस विशिष्ट एंडपॉइंट/फंक्शन का परीक्षण किया गया था और इसे कार्यात्मक साबित किया गया था। नीचे लेबलर नियरबाई की समग्र कार्यक्षमता को दर्शाने वाला एक आरेख है, जिसमें उपरोक्त एंडपॉइंट/फंक्शन कैसे काम करता है इसका स्पष्ट चित्रण शामिल है:
परिणाम
दुर्भाग्यवश, दुखद वास्तविकता यह है कि हम हैकाथॉन की समय सीमा तक इस परियोजना को पूरी तरह से पूरा करने में असमर्थ रहे। परियोजना का अधिकांश भाग पूरा हो गया था, जैसे कि ln-researcher, लेकिन फ्रंटेंड (ln-labeler) पूरा नहीं हुआ और हम एक लाइव डेमो तैनात करने में असमर्थ रहे। हालांकि बैकेंड (ln-researcher) मूल रूप से पूरा हो गया था, लेकिन कोई सही तरीके से काम करने वाला फ्रंटेंड और कोई लाइव डेमो नहीं होने के कारण, कोई भी Labeler NearBy के विचार का परीक्षण नहीं कर सका। न केवल यह, बल्कि न्यायाधीशों को परियोजना का परीक्षण करने में असमर्थ होना पड़ा और इसके बजाय उन्हें सबमिशन पढ़ना पड़ा, कोड के माध्यम से जाना पड़ा, और/या इसे स्वयं चलाने की कोशिश करनी पड़ी। जिससे हमारी जीतने की संभावनाएं लगभग शून्य प्रतिशत तक गिर गईं। यह 15 दिसंबर, 2022 को पुष्टि की गई जब हैकाथॉन के विजेताओं की घोषणा की गई, और हम उनमें से नहीं थे।
हारना
मैं इस तथ्य को छिपाऊंगा नहीं कि इस हैकाथॉन का अंतिम परिणाम निराशाजनक था। इस परियोजना में महीनों का निवेश किया गया था और मेरे पास इस परियोजना के लिए एक बड़ा दृष्टिकोण था क्योंकि मुझे लगा कि यह शोधकर्ताओं के लिए एक बहुत उपयोगी उपकरण प्रदान करेगा।
मेरे पास उन परियोजनाओं के लिए एक स्पष्ट मानक है जो मैं लेता हूं: या तो वे सफल होते हैं या वे असफल होते हैं; कोई मध्य भूमि नहीं है। इसलिए यह परियोजना एक असफलता थी क्योंकि इसे समय सीमा तक पूरी तरह से पूरा नहीं किया गया और यह संभावित उपयोगकर्ताओं के लिए अनुपलब्ध रही।
लेकिन यह याद रखना महत्वपूर्ण है कि असफलता जीवन का एक स्वाभाविक हिस्सा है। हमारी सफलताएँ उन पाठों पर आधारित होती हैं जो हम अपनी असफलताओं से सीखते हैं। जबकि इस हैकाथॉन का परिणाम निराशाजनक था, इसने परियोजना/उत्पाद विकसित करने और बनाने के मामले में मूल्यवान अंतर्दृष्टि प्रदान की।
सीखे गए पाठ
इस अनुभव से मैंने जो मुख्य पाठ लिया वह निम्नलिखित था:
- जिस परियोजना को हमने चुना, उसे पहले से बहुत सारी सुविधाओं की आवश्यकता थी इससे पहले कि हम उस पर पुनरावृत्ति कर सकें। इसका क्या मतलब है? खैर, इस परियोजना को विचार के लगभग सभी घटकों को बनाने की आवश्यकता थी इससे पहले कि हम विचार का परीक्षण कर सकें। यह अधिक समझदारी होती यदि हम एक ऐसी परियोजना चुनते जिसमें कार्य करने के लिए कम आवश्यक घटक होते। ऐसा करने पर, हम आवश्यक घटकों को तेजी से बना सकते थे और फिर परियोजना पर जल्दी से पुनरावृत्ति कर सकते थे। ऐसा करने पर, हम समय सीमा को अधिक आसानी से पूरा कर सकते थे और एक ऐसी परियोजना बना सकते थे जो सरल हो सकती थी लेकिन अधिक पूर्ण हो। YC, एक तकनीकी स्टार्टअप एक्सेलेरेटर, पर जोर देता है कि आपको जल्दी लॉन्च करना चाहिए, उपयोगकर्ताओं के साथ बात करनी चाहिए, और पुनरावृत्ति करनी चाहिए। हमें इस हैकाथॉन के लिए अपनी परियोजना के साथ ऐसा करना चाहिए था।
- हमने यह आंका कि इस परियोजना को बनाने में कितना समय लगेगा। यह हमारा पहला हैकाथॉन था और यह विकेंद्रीकृत अनुप्रयोग (dapp) बनाने का हमारा पहला अनुभव था। न केवल यह, बल्कि मैं एक सॉफ्टवेयर इंजीनियर के रूप में पूर्णकालिक काम कर रहा था और मेरा दोस्त अपनी मास्टर डिग्री पूरी कर रहा था। फिर भी, हमने सोचा कि 2 महीने पर्याप्त होंगे। परियोजना के दायरे को कम करना और/या एक और टीम सदस्य को ढूंढना अधिक समझदारी होती जो हमारे कार्यभार को कम कर सकता था।
- विंस्टन चर्चिल ने प्रसिद्ध रूप से कहा: “पूर्णता प्रगति का दुश्मन है”। मैं इस परियोजना को एक व्यवसाय-से-ग्राहक (B2C) उत्पाद की तरह मान रहा था, जबकि वास्तव में यह केवल एक हैकाथॉन परियोजना थी और अधिकतम एक न्यूनतम व्यवहार्य उत्पाद (MVP) थी। इसलिए शुरू में, मैंने छोटे विवरणों पर बहुत अधिक समय बर्बाद किया जब मुझे अपने समय को मुख्य सुविधाओं को पर्याप्त रूप से काम करने पर केंद्रित करना चाहिए था।
इन मूल्यवान पाठों के अलावा, मैंने नए कौशल प्राप्त किए हैं जो मेरे व्यक्तिगत साइड प्रोजेक्ट्स और पेशेवर प्रयासों में अमूल्य साबित हुए हैं। इन कौशलों में शामिल हैं:
- Node.js, JavaScript, और Express.js के माध्यम से APIs विकसित करना
- डेटा प्रबंधन के लिए PostgreSQL सेट करना और उपयोग करना
- API विकास में PostgreSQL को शामिल करना जैसे पैकेज का उपयोग करके PG।
- डेटा सुरक्षा को बढ़ाने के लिए RSA (असामान्य एन्क्रिप्शन) और AES (सामान्य एन्क्रिप्शन) का उपयोग करना।
निष्कर्ष
कुल मिलाकर, मैं खुश हूं कि हमने इस हैकाथॉन में भाग लिया, भले ही अंतिम परिणाम से निराश हों। मैं Labeler NearBy पर काम करते समय प्राप्त किए गए मूल्यवान पाठों और कौशलों के लिए आभारी हूं, क्योंकि उन्होंने मुझे एक बेहतर डेवलपर बना दिया है और मेरे अगले प्रोजेक्ट: Notify-Cyber के विकास में महत्वपूर्ण योगदान दिया है।
अन्य नोट्स
- मैं Labeler NearBy पर वापस आ सकता हूं, लेकिन इस समय, यह परियोजना “लंबी छुट्टी” पर है
- वर्तमान में, Labeler NearBy को केवल NEAR के टेस्टनेट में चलाना चाहिए। इसे और विकास, परीक्षण, और ऑडिटिंग की आवश्यकता है।