لیبلر NearBy بنانا
Table of Contents
میری پہلی ہیکاتھون
2022 کے موسمِ گرما کے آخری حصے کے دوران، میں واقعی ایک پُرجوش منصوبے پر کام کرنا چاہتا تھا۔ میں نے ابھی اپنی انڈرگریجویٹ تعلیم مکمل کی تھی اور سافٹ ویئر انجینئر کے طور پر کل وقتی کام کر رہا تھا۔ میں واقعی کسی ضمنی منصوبے کے لیے وقت دینا چاہتا تھا اور اس وقت میرے پاس ایسا کرنے کے لیے کافی فارغ وقت تھا۔ مجھے واقعی معلوم نہیں تھا کہ کس چیز پر کام کروں، یہاں تک کہ اگست 2022 میں مجھے Devpost نامی ایک ویب سائٹ کا پتا چلا۔ Devpost ایک ایسی ویب سائٹ ہے جو ہیکاتھون کہلانے والے سافٹ ویئر مقابلے منعقد کرتی ہے۔ Devpost براؤز کرتے ہوئے، مجھے NEAR MetaBUILD III نامی ایک ہیکاتھون کا پتا چلا، جو NEAR Protocol تنظیم کی جانب سے منعقد کی گئی تھی۔
NEAR کیا ہے؟
NEAR Protocol ایک بلاک چین ہے جو اسمارٹ کنٹریکٹس اور NEAR کرپٹو کرنسی کو سپورٹ کرتی ہے۔ یہ بنیادی طور پر بہت کم ٹرانزیکشن فیس رکھنے، اسمارٹ کنٹریکٹس کو سپورٹ کرنے، اپنا باضابطہ ٹیسٹ نیٹ ورک رکھنے، اور ایک بہترین ڈیولپر ماحول کی وجہ سے معروف ہے، کیونکہ آپ اسمارٹ کنٹریکٹس Rust اور/یا Java Script میں لکھ سکتے ہیں۔ آپ CoinGecko کی شاندار ویڈیو کے ذریعے NEAR Protocol کا بہتر جائزہ حاصل کر سکتے ہیں:
اس دوران، Coinbase نے باضابطہ طور پر اپنے پلیٹ فارم پر NEAR Protocol کو قابلِ تجارت کوائن کے طور پر سپورٹ کرنا شروع کیا۔ یہ ایک بڑی بات تھی، کیونکہ Coinbase اس حوالے سے بہت زیادہ انتخابی رویے کے لیے معروف ہے کہ وہ اپنے پلیٹ فارم پر کن کوائنز کو سپورٹ کرتا ہے۔ اس سے NEAR کو ایک زیادہ قابلِ اعتماد پلیٹ فارم بنانے میں مدد ملی۔ آپ آج بھی Coinbase پر NEAR کی تجارت کر سکتے ہیں۔
عہد کیوں کریں؟
کچھ وقت سوچنے کے بعد، میں نے NEAR MetaBUILD III ہیکاتھون میں مقابلہ کرنے کے لیے اپنا وقت وقف کرنے کا فیصلہ کیا۔ میری وجوہات یہ تھیں:
- کرپٹو ختم ہونے والی نہیں ہے اور یہ ایک ایسی ٹیکنالوجی ہے جو برقرار رہے گی۔ اس لیے اس ٹیکنالوجی کو سیکھنے میں کچھ وقت لگانا سمجھ داری تھی۔
- ہیکاتھون میں بہترین انعامات تھے، یعنی اگر آپ فاتحین میں شامل ہوں تو NEAR میں $20,000 سے $100,000 تک۔
- ہیکاتھون کی ایک مخصوص آخری تاریخ تھی، یعنی منصوبے کو کئی مہینوں تک نہیں گھسیٹا جا سکتا تھا، جیسا کہ عموماً بہت سے ضمنی منصوبوں کے ساتھ ہوتا ہے۔
- یہ منصوبہ سیکھنے کا ایک بہترین تجربہ اور ہیکاتھونز کا ایک عمدہ تعارف ہوتا۔
- بدترین صورت میں، ہیکاتھون مجھے اپنے ریزیومے پر دکھانے کے لیے ایک بہترین منصوبہ بنانے کا موقع دیتی۔
ان تمام باتوں کو مدنظر رکھتے ہوئے، میں نے 26 اگست 2022 کو کالج کے اپنے قریبی دوست کو فون کیا اور ہم نے اس ہیکاتھون کی منصوبہ بندی شروع کر دی۔ ہیکاتھون 23 ستمبر 2023 کو شروع ہونے اور 21 نومبر 2022 کو اختتام پذیر ہونے کے لیے مقرر تھی۔ اگرچہ ہیکاتھون کے اختتام کے قریب آخری تاریخ 24 نومبر 2023 تک بڑھا دی گئی تھی۔ چونکہ ہم ایک ماہ پہلے تھے، اس لیے ہم نے یہ وقت اس بات کو سیکھنے اور غور و فکر کرنے میں گزارنے کا فیصلہ کیا کہ ہم اس دو ماہ کی ہیکاتھون کے لیے کس چیز پر کام کریں گے۔ اس پہلے ماہ کے دوران، ہمیں کرپٹو اور بلاک چینز کا عمومی جائزہ حاصل ہوا۔ ہم نے NEAR کے ٹیسٹ نیٹ پر جائزہ لیا اور مشق کی، NEAR SDK کا جائزہ لیا، اور چند اسمارٹ کنٹریکٹس تعینات کیے۔
خیال
بلاک چین اور NEAR سے متعلق تمام چیزوں کا بہترین تعارف حاصل کرنے کے بعد، ہم نے خیالات پر غور و فکر شروع کیا۔ میں چاہتا تھا کہ یہ منصوبہ محض ایک “ہیکاتھون منصوبہ” نہ ہو، بلکہ ایسا پروڈکٹ بن سکے جسے دوسرے لوگ استعمال کر سکیں اور یہ اس بات کی مثال بنے کہ کرپٹو صرف تجارت کے علاوہ دیگر کاموں کے لیے بھی کس طرح مفید ہو سکتی ہے۔
اس بات کو مدنظر رکھتے ہوئے، ہم نے ابتدا میں Unreal Engine Blueprint سے ملتی جلتی کوئی چیز بنانے کا فیصلہ کیا، لیکن NEAR بلاک چین پر اسمارٹ کنٹریکٹس کو بغیر کوڈنگ کے آسانی سے بنانے اور تعینات کرنے کے لیے۔ تاہم، ہیکاتھون شروع ہونے سے ایک ہفتہ پہلے، ہم نے یہ خیال ترک کر دیا کیونکہ اس کا کوئی خاص جواز نہیں بنتا تھا۔ اگر ابھی ان کے لیے کوئی عملی استعمال موجود ہی نہیں تھا تو کوئی ہمارے ٹول کو NEAR اسمارٹ کنٹریکٹس بنانے کے لیے استعمال کرنے کی زحمت کیوں کرتا؟ یہ ایسا ٹول تیار کرنے کے مترادف ہوتا جس کی بہت سے لوگوں کو ضرورت ہی نہ ہو۔
ہیکاتھون شروع ہونے سے صرف ایک ہفتہ پہلے، ہم نے دوبارہ غور و فکر شروع کیا اور اس خیال پر متفق ہوئے:
A decentralized platform where AI researchers can outsource
data labeling to labelers around the world
ہم نے اس منصوبے کا نام “Labeler NearBy” رکھا۔ اس خیال کا انتخاب کرنے کا ہمارا فیصلہ درج ذیل وجوہات پر مبنی تھا:
- AI کی ترقی کے لیے تربیت کے مقصد سے ڈیٹا کی انسانی لیبلنگ درکار ہوتی ہے۔
- مخصوص ڈیٹاسیٹس کی لیبلنگ کے لیے ماہر افراد کو تلاش کرنا اور ان کا انتظام کرنا مشکل ہے۔
- اس خیال کو Scale AI نامی کمپنی پہلے ہی کامیابی سے نافذ کر چکی ہے، جس کا ثبوت یہ ہے کہ انہوں نے پروڈکٹ-مارکیٹ فِٹ کیسے حاصل کیا۔
- Scale AI جیسی مرکزی خدمات خدشات پیدا کرتی ہیں، کیونکہ تنظیموں کو اپنا ڈیٹا لیبلنگ کمپنی کو بھیجنا پڑتا ہے، جو پھر دنیا بھر میں انسانی لیبلرز کو کام سونپتی ہے۔ لیبلنگ کے عمل کے بعد، کمپنی لیبل شدہ ڈیٹا تنظیم کو واپس کرتی ہے۔ اس طرح قیمتی تربیتی ڈیٹا پر اختیار ختم ہو جاتا ہے، جسے لیبلنگ کمپنی اپنے ماڈلز کی تربیت کے لیے استعمال کر سکتی ہے۔ اس خدمت کو غیر مرکزی بنانا ایک منطقی حل معلوم ہوتا تھا۔
- ہمیں غیر مرکزی ایپ (dApp) کے شعبے میں اس خیال پر کام کرنے والے بہت کم منصوبے ملے، جس سے ہمیں اس شعبے میں جدت لانے اور پیش قدمی کرنے کا موقع ملا۔
پیچیدگی کم کرنے کے لیے، ہم نے فیصلہ کیا کہ فی الحال Labeler NearBy صرف تصویری ڈیٹا کو سپورٹ کرے گا۔
جمع کرانا
خیال منتخب ہونے اور ہیکاتھون کے باضابطہ طور پر شروع ہونے کے بعد، میرے دوست اور میں نے Labeler NearBy بنانا شروع کیا۔ ہم نے اپنے منصوبے پر 2 ماہ تک کام کیا، یہاں تک کہ 24 نومبر 2022 کو اپنے منصوبے کا حتمی مسودہ Devpost پر جمع کرا دیا۔ ہم نے اپنا منصوبہ Devpost پر جمع کرایا اور Github پر اپنی جمع کرائی گئی کاپی بھی بنائی۔ یہ بلاگ Labeler NearBy کے ہر تکنیکی پہلو اور ترقیاتی عمل کا احاطہ نہیں کرتا۔ اس بات کو ذہن میں رکھتے ہوئے، Labeler NearBy کے کام کرنے کے طریقے کے بارے میں مزید جاننے یا ہماری حتمی جمع کرائی گئی پیشکش دیکھنے کے لیے، درج ذیل لنکس میں سے کسی ایک پر جائیں:
Labeler NearBy دو کوڈ بیسز پر مشتمل ہے: ln-researcher اور ln-labeler۔ یہ کوڈ بیسز MIT لائسنس کے تحت مکمل طور پر اوپن سورس ہیں اور انہیں درج ذیل لنکس کے ذریعے دیکھا جا سکتا ہے:
یہ Labeler NearBy (LN) کے کام کرنے کا ایک عمومی جائزہ ہے:
ایک محقق کو اپنے AI ماڈل کی تربیت کے لیے لیبل شدہ تصاویر درکار ہوتی ہیں۔ اس مقصد کے لیے، محقق اپنے ڈیٹا کو میزبانی کرنے اور لیبلرز کو اپنے ڈیٹا کی لیبلنگ کا ذریعہ فراہم کرنے کے لیے LN استعمال کرتا ہے۔ یہ کام ln-researcher کے ذریعے انجام دیا جاتا ہے، جو ایک خود میزبانی شدہ ویب سروس ہے اور ایک API، محقق کے اسمارٹ کنٹریکٹس، اور مقامی Postgres ڈیٹابیس پر مشتمل ہے۔ لیبلر کے لیے ایک ویب فرنٹ اینڈ فراہم کیا جاتا (کیا جاتا)، جس کے ذریعے وہ محقق کی تصاویر تک رسائی حاصل کر کے ان کی لیبلنگ کر سکتے ہیں۔ لیبل کیے جانے کے عمل میں ہر تصویر کو مختلف لیبلرز کی جانب سے تین مرتبہ لیبل کیا جاتا ہے۔ صرف بہترین لیبلز رکھنے والے لیبلر کو، جس کا تعین ووٹنگ کے نظام کے ذریعے کیا جاتا ہے، NEAR کوائنز سے انعام دیا جاتا ہے۔ اس عمل کی ذمہ دار ویب ایپ کو ln-labeler کہا جاتا ہے۔ محقق ہر لیبلنگ آپریشن کے لیے رقم فراہم کرتا ہے، اور NEAR کوائنز کو Coinbase کے ذریعے آسانی سے ڈالرز میں تبدیل کیا جا سکتا ہے۔ تمام ٹرانزیکشن سے متعلق انتظامات NEAR Protocol بلاک چین پر موجود اسمارٹ کنٹریکٹس کے ذریعے سنبھالے جاتے ہیں۔
آپ یہاں ہیکاتھون کے لیے Labeler NearBy کی ہماری ڈیمو ویڈیو دیکھ سکتے ہیں:
سب سے بڑی کامیابی
جس خصوصیت کو نافذ کرنے پر مجھے سب سے زیادہ فخر ہے، وہ ایک فنکشن ہے جسے getImage() کہا جاتا ہے۔ یہ فنکشن ln-researcher میں ایک API اینڈ پوائنٹ کے طور پر کام کرتا ہے اور Labeler NearBy (LN) میں محققین اور لیبلرز کے درمیان ڈیٹا پائپ لائن میں ایک اہم کردار ادا کرتا ہے۔
یہ API اینڈ پوائنٹ محققین کو اپنی تصاویر کو محفوظ اور قابلِ اعتماد طریقے سے لیبلنگ کے لیے تقسیم کرنے کے قابل بناتا ہے۔ لیبلنگ اسائنمنٹس کا انتظام NEAR Protocol بلاک چین پر موجود NEAR اسمارٹ کنٹریکٹس کے ذریعے کیا جاتا ہے، جبکہ تصویری ڈیٹا محقق کی جانب سے ln-researcher کے ذریعے میزبانی کیا جاتا ہے۔
یہ اینڈ پوائنٹ سیکیورٹی کی متعدد جانچیں انجام دیتا ہے تاکہ یہ یقینی بنایا جا سکے کہ صرف مقرر کردہ لیبلر ہی تصویر تک رسائی حاصل کر سکے۔ اس میں درخواست کے دستخط کی تصدیق کرنا اور متعلقہ اسمارٹ کنٹریکٹ کو چیک کر کے اس بات کی تصدیق کرنا شامل ہے کہ ٹاسک موجود ہے اور درخواست کرنے والے لیبلر کو تفویض کیا گیا ہے۔
محقق کے خود میزبانی شدہ ln-researcher API میں درخواست کی توثیق ہونے کے بعد، فنکشن مقامی Postgres ڈیٹابیس سے تصویر حاصل کرتا ہے، تصویر کو خفیہ کرتا ہے، اور اسے مجاز لیبلر تک پہنچاتا ہے، جو پھر لیبلنگ کے لیے تصویر کو ڈی کرپٹ کر سکتا ہے۔ اسی دوران، فنکشن ڈیٹابیس میں تصویر کی حیثیت کو اپ ڈیٹ کرتا ہے، جو تصویر کی لیبلنگ کی پیش رفت کی نشاندہی کرتی ہے۔ اس پورے عمل کے دوران، تصدیق کے لیے محقق اور لیبلر، دونوں کی RSA keys استعمال کی جاتی ہیں۔ جبکہ تصویر کو خفیہ کرنے کے لیے AES encryption استعمال کی جاتی ہے۔
یہ اینڈ پوائنٹ محققین سے لیبلرز تک تصاویر کی محفوظ اور قابو میں رہنے والی تقسیم کے انتظام میں ایک اہم کردار ادا کرتا ہے۔ یہ محفوظ ڈیٹا منتقلی کو یقینی بناتا ہے اور تصویر کی لیبلنگ کے عمل کو مؤثر طریقے سے ٹریک اور منظم کرتا ہے۔ مزید برآں، اس عمل میں کم از کم اس اینڈ پوائنٹ کے لیے HTTPS کے استعمال کی ضرورت ختم کرنے کی صلاحیت موجود ہے۔
اس مخصوص اینڈ پوائنٹ/فنکشن کی جانچ کی گئی اور اسے فعال ثابت کیا گیا۔ ذیل میں Labeler NearBy کی مجموعی فعالیت کو واضح کرنے والا ایک خاکہ دیا گیا ہے، جس میں مذکورہ اینڈ پوائنٹ/فنکشن کے کام کرنے کے طریقے کی واضح عکاسی شامل ہے:
نتیجہ
بدقسمتی سے، افسوس ناک حقیقت یہ ہے کہ ہم ہیکاتھون کی آخری تاریخ تک اس منصوبے کو مکمل طور پر مکمل نہیں کر سکے۔ منصوبے کا بیشتر حصہ مکمل ہو چکا تھا، جیسے ln-researcher، لیکن فرنٹ اینڈ (ln-labeler) مکمل نہیں ہو سکا اور ہم کوئی براہِ راست ڈیمو بھی تعینات نہیں کر سکے۔ اگرچہ بیک اینڈ (ln-researcher) بنیادی طور پر مکمل ہو چکا تھا، لیکن مناسب طور پر کام کرنے والے فرنٹ اینڈ اور براہِ راست ڈیمو کے بغیر کوئی بھی Labeler NearBy کے خیال کو آزما نہیں سکا۔ صرف یہی نہیں، بلکہ ججز بھی اس منصوبے کو آزما نہیں سکے اور اس کے بجائے انہیں جمع کرائی گئی تحریر پڑھنی پڑی، کوڈ دیکھنا پڑا، اور/یا اسے خود چلانے کی کوشش کرنا پڑی۔ اس وجہ سے ہمارے جیتنے کے امکانات تقریباً صفر فیصد رہ گئے۔ اس کی تصدیق 15 دسمبر 2022 کو ہوئی، جب ہیکاتھون کے فاتحین کا اعلان کیا گیا، اور ہم ان میں شامل نہیں تھے۔
ہار
میں اس حقیقت کو نہیں چھپاؤں گا کہ اس ہیکاتھون کا حتمی نتیجہ حوصلہ شکن تھا۔ اس منصوبے پر کئی ماہ صرف کیے گئے تھے اور میرے پاس اس منصوبے کے لیے ایک بڑا وژن تھا، کیونکہ میرا خیال تھا کہ یہ محققین کے لیے ایک نہایت مفید آلہ فراہم کرے گا۔
میں جن منصوبوں پر کام کرتا ہوں، ان کے لیے میرا ایک واضح معیار ہے: یا تو وہ کامیاب ہوتے ہیں یا ناکام؛ درمیانی راستہ کوئی نہیں۔ لہٰذا یہ منصوبہ ناکام رہا، کیونکہ یہ آخری تاریخ تک مکمل طور پر مکمل نہیں ہو سکا اور ممکنہ صارفین کے لیے ناقابلِ رسائی رہا۔
لیکن یہ یاد رکھنا اہم ہے کہ ناکامی زندگی کا ایک فطری حصہ ہے۔ ہماری کامیابیاں ان اسباق کی بنیاد پر تعمیر ہوتی ہیں جو ہم اپنی ناکامیوں سے سیکھتے ہیں۔ اگرچہ اس ہیکاتھون کا نتیجہ حوصلہ شکن تھا، پھر بھی اس نے کسی منصوبے/مصنوعہ کو تیار کرنے اور بنانے کے حوالے سے قیمتی بصیرت فراہم کی۔
حاصل کیے گئے اسباق
اس تجربے سے حاصل ہونے والے اہم اسباق یہ تھے:
- ہم نے جس منصوبے کا انتخاب کیا، اس میں اس پر تکراری انداز میں کام شروع کرنے سے پہلے بہت سی خصوصیات کو پہلے ہی تیار کرنا ضروری تھا۔ میرا مطلب کیا ہے؟ خیر، اس منصوبے کے لیے خیال کے تقریباً تمام اجزا کو تیار کرنا ضروری تھا، اس سے پہلے کہ ہم اس خیال کو آزما بھی سکتے۔ ایسے منصوبے کا انتخاب کرنا زیادہ مناسب ہوتا جس کے لیے کام کرنے کے لیے کم ضروری اجزا درکار ہوتے۔ ایسا کرنے سے ہم ضروری اجزا زیادہ تیزی سے تیار کر سکتے تھے، پھر منصوبے پر جلد تکراری انداز میں کام شروع کر سکتے تھے۔ ایسا کرنے سے ہم آخری تاریخ آسانی سے حاصل کر سکتے تھے اور ایک ایسا منصوبہ بنا سکتے تھے جو شاید زیادہ سادہ، لیکن زیادہ مکمل ہوتا۔ YC، جو ٹیک اسٹارٹ اپس کو تیز رفتاری سے ترقی دینے والا ادارہ ہے، اس بات پر زور دیتا ہے کہ آپ کو جلدی آغاز کرنا، صارفین سے بات کرنا، اور تکراری انداز میں بہتری لانا چاہیے۔ ہمیں اس ہیکاتھون کے لیے اپنے منصوبے کے ساتھ بھی ایسا ہی کرنا چاہیے تھا۔
- ہم نے کم اندازہ لگایا کہ اس منصوبے کو بنانے میں کتنا وقت لگنے والا تھا۔ یہ ہمارا پہلا ہیکاتھون تھا اور غیرمرکزی ایپلیکیشن (dapp) بنانے کا بھی ہمارا پہلا موقع تھا۔ صرف یہی نہیں، بلکہ میں سافٹ ویئر انجینئر کے طور پر کل وقتی کام کر رہا تھا اور میرا دوست اپنی ماسٹرز کی ڈگری مکمل کر رہا تھا۔ پھر بھی، ہمارا خیال تھا کہ 2 ماہ کافی ہوں گے۔ منصوبے کے دائرۂ کار کو کم کرنا اور/یا ایک اور ٹیم رکن تلاش کرنا زیادہ مناسب ہوتا، جو ہمارے کام کا بوجھ کم کر سکتا۔
- ونسٹن چرچل نے مشہور طور پر کہا تھا: “کمال پسندی ترقی کی دشمن ہے”۔ میں اس منصوبے کے ساتھ کاروبار سے صارف (B2C) کی مصنوعات جیسا برتاؤ کر رہا تھا، جبکہ حقیقت میں یہ صرف ایک ہیکاتھون منصوبہ اور زیادہ سے زیادہ ایک کم از کم قابلِ عمل مصنوعات (MVP) تھی۔ لہٰذا ابتدا میں، میں نے چھوٹی تفصیلات پر بہت زیادہ وقت ضائع کیا، جبکہ مجھے اپنا وقت بنیادی خصوصیات کو مناسب طور پر کام کرنے کے لیے صرف کرنا چاہیے تھا۔
ان قیمتی اسباق کے علاوہ، میں نے نئی مہارتیں بھی حاصل کیں جو میرے ذاتی ضمنی منصوبوں اور پیشہ ورانہ کاوشوں، دونوں میں بے حد قیمتی ثابت ہوئی ہیں۔ ان مہارتوں میں شامل ہیں:
- Node.js، JavaScript، اور Express.js کے ذریعے APIs تیار کرنا
- ڈیٹا کے انتظام کے لیے PostgreSQL ترتیب دینا اور استعمال کرنا
- PG جیسے پیکیجز استعمال کرکے API کی تیاری میں PostgresSQL شامل کرنا۔
- بہتر ڈیٹا سکیورٹی کے لیے RSA (غیر متناسب خفیہ کاری) اور AES (متناسب خفیہ کاری) استعمال کرنا۔
نتیجہ
مجموعی طور پر، حتمی نتیجے سے مایوس ہونے کے باوجود، مجھے خوشی ہے کہ ہم نے اس ہیکاتھون میں شرکت کی۔ میں ان قیمتی اسباق اور مہارتوں کے لیے شکر گزار ہوں جو Labeler NearBy پر کام کرتے ہوئے میں نے حاصل کیں، کیونکہ انہوں نے مجھے ایک بہتر ڈویلپر بنایا ہے اور میرے اگلے منصوبے: Notify-Cyber کی تیاری میں نمایاں کردار ادا کیا ہے۔
دیگر نوٹس
- ممکن ہے کہ میں Labeler NearBy کی طرف واپس آؤں، لیکن فی الحال یہ منصوبہ “طویل تعطل” کا شکار ہے۔
- فی الحال، Labeler NearBy کو صرف NEAR کے ٹیسٹ نیٹ پر چلنا چاہیے۔ اسے مزید تیاری، جانچ، اور آڈٹنگ کی ضرورت ہے۔