یونٹ 2 / 11

ڈیٹا پائپ لائن: جمع کرنا، صاف کرنا، ٹیگ کرنا اور ورژن بنانا

فائدہ:

  • ڈیٹا پائپ لائن قائم کرنے کی صلاحیت (جمع کرنا، توثیق کرنا، صاف کرنا، تبدیلی کرنا، تقسیم کرنا، ورژن بنانا) اور پائپ لائن کے آغاز میں اسکیما کی توثیق رکھنا
  • ڈیٹا کے رساو کو روکنے کے لیے فیلڈ کے معنی اور تقسیم کی بنیاد پر لاپتہ ویلیو اور لیبلنگ کے فیصلے کرنے کی صلاحیت (گروپ اور وقتی)
  • ڈیٹا ورژن اور randomness بیج کو ٹھیک کرکے دوبارہ پیدا کرنے کے قابل ڈیٹا بیس بنانے کی صلاحیت

ہر مشین لرننگ سسٹم کی اصل طاقت ڈیٹا میں ہے، ماڈل میں نہیں۔ تجربہ کار انجینئرز جانتے ہیں: "کچرا اندر، کچرا باہر" — یہاں تک کہ سب سے جدید ماڈل خراب ڈیٹا فیڈ کرنے سے بھی برے نتائج برآمد ہوں گے۔ اس یونٹ میں، ہم ڈیٹا پائپ لائن قائم کرتے ہیں (ڈیٹا پائپ لائن: قدموں کا سلسلہ جو خام ڈیٹا کو ماڈل ٹریننگ کے لیے تیار کرتا ہے) اختتام سے آخر تک اور سیکھتے ہیں کہ اس لائن کے کس مرحلے پر ہم مصنوعی ذہانت کو محفوظ طریقے سے استعمال کر سکتے ہیں۔

ڈیٹا لائن کے مراحل

ڈیٹا لائن عام طور پر ان اسٹاپس سے گزرتی ہے:

  1. جمع کرنا (انجیکشن): ذرائع سے ڈیٹا کھینچنا (ڈیٹا بیس، API، لاگ فائلز، ایونٹ اسٹریمز)۔
  2. توثیق: جانچنا کہ آیا ڈیٹا متوقع اسکیما، اقسام اور حدود کے مطابق ہے۔
  3. صفائی: گمشدہ اقدار، ڈپلیکیٹ ریکارڈز، آؤٹ لیرز، اور تضادات کو سنبھالنا۔
  4. تبدیلی: خام ڈیٹا کو اوصاف میں تبدیل کرنا — جیسے کہ ایک مخصوص متغیر کو نمبر میں تبدیل کرنا، تاریخ سے "ہفتے کا دن" پیدا کرنا۔
  5. تقسیم کرنا: تربیت، توثیق اور ٹیسٹنگ سیٹ میں الگ ہونا۔
  6. ورژن بنانا: ریکارڈ کرنا کہ کون سا ماڈل کس ڈیٹا کے ساتھ تربیت یافتہ تھا۔

مصنوعی ذہانت کوڈ ڈرافٹ اور آئیڈیاز بنا کر وقت بچاتا ہے، خاص طور پر مرحلہ 2، 3 اور 4 میں۔ لیکن فیصلے جیسے کہ کون سا ریکارڈ ضائع کرنا ہے، کون سی قیمت میں کمی ہے اور کیسے، ڈیٹا کو جاننے والے انجینئر سے تعلق رکھتے ہیں۔ کیونکہ نامناسب صفائی ماڈل میں پوشیدہ تعصب ڈال سکتی ہے۔

ڈیٹا کی توثیق: لائن کا ابتدائی دفاع

سب سے مہنگی خرابیاں پیداوار میں نہیں شروع ہوتی ہیں، لیکن جہاں تصدیقی مرحلہ چھوڑ دیا جاتا ہے۔ اسکیما کی توثیق خود بخود جانچ کرتی ہے کہ آیا ڈیٹا کا ہر آنے والا بیچ متوقع ڈھانچے کے مطابق ہے۔ مثال کے طور پر، کیا عمر کا کالم 0-120 کے درمیان ہے، کیا ای میل فیلڈ خالی ہے، کیا کالموں کی تعداد بدل گئی ہے؟

ٹپ: تصدیق کو لائن کے شروع میں رکھیں۔ کرپٹ ڈیٹا جتنی جلدی پکڑا جائے گا، اسے ٹھیک کرنا اتنا ہی سستا ہے۔ پروڈکشن میں پکڑی گئی سکیما کی خرابی تربیتی مرحلے میں پکڑی گئی غلطی سے کئی گنا زیادہ مہنگی ہے۔

مندرجہ ذیل ڈیٹا اسکیما کے لیے پانڈرا (یا عظیم توقعات) کے ساتھ توثیق کی اسکیم لکھیں۔ کالم اور قواعد:- user_id: integer، null نہیں ہو سکتا، منفرد- عمر: عدد، 0-120 سے نہیں ہو سکتا- signup_date: تاریخ، مستقبل میں نہیں ہو سکتا- ملک: زمرہ، سیٹ سے {TR, DE, US, UK}- توازن: اعشاریہ، منفی نہیں ہو سکتا ہر اصول کی خلاف ورزی کے لیے ایک معنی خیز غلطی کا پیغام تیار کریں۔ کوڈ کے آخر میں ٹوٹی ہوئی لائن کی مثال کے ساتھ ٹیسٹ دکھائیں۔

صفائی: یہ انسان ہے جو فیصلہ کرتا ہے۔

گمشدہ اقدار ہر ڈیٹا سیٹ کی حقیقت ہیں۔ ہینڈل کرنے کے طریقے:

  • حذف کرنا: بہت زیادہ کمی کی شرح کے ساتھ قطار/کالم کو رد کرنا۔ لیکن معلومات کے نقصان اور تعصب کا خطرہ ہے۔
  • امپیوٹیشن: اوسط، درمیانی، سب سے زیادہ متواتر قدر، یا ماڈل پر مبنی پیشین گوئی کے ساتھ مواخذہ۔
  • جھنڈا: ایک الگ فلیگ کالم میں معلومات کو "گمشدہ تھا" ذخیرہ کرنا — بعض اوقات غائب ہونا ہی سگنل ہوتا ہے۔

کون سا درست ہے اس کا انحصار مسئلہ پر ہے۔ طبی ڈیٹا سیٹ میں، "خون کی قیمت ناپی گئی" معلومات کو حذف کرنے کے بجائے محفوظ کیا جانا چاہیے۔ کیونکہ ڈاکٹر کا پیمائش لینے سے انکار بھی ایک اشارہ ہے۔ AI آپ کو اختیارات اور کوڈ دے سکتا ہے۔ آپ انتخاب کرتے ہیں کہ کون سا میدان کی حقیقت کے مطابق ہے۔

کمزور فوری / مضبوط اشارہ

کمزور اشارہ: "غائب اقدار کو بھریں۔"

مضبوط اشارہ: "مندرجہ ذیل کالموں میں قدریں غائب ہیں: آمدنی (12% غائب، دائیں طرف کی تقسیم)، last_login (30% غائب)۔ آمدنی کو میڈین کے ساتھ بھرنے کی تجویز کریں، لیکن یہ بتائیں کہ میڈین کیوں نہیں اور اس کا مطلب نہیں ہے۔ آخری_لاگ ان کے لیے، فرض کریں کہ گمشدہ قدر اہم ہو سکتی ہے (صارف نے کبھی بھی لاگ ان کرنے کے بجائے genle_login کرنے پر غور نہیں کیا)؛ تعصب کو لکھیں یا تو نقطہ نظر ماڈل میں اضافہ کرے گا۔"

فرق: مضبوط پرامپٹ تقسیم کی معلومات اور علاقے کے معنی دیتا ہے۔ مصنوعی ذہانت مکینیکل بھرنے کے بجائے فیصلے کی حمایت پیدا کرتی ہے۔

لیبلنگ: معیار کی پیمائش کی جاتی ہے۔

زیر نگرانی سیکھنے میں (سیکھنا جس میں مثالیں صحیح جوابات کے ساتھ دی جاتی ہیں)، جو ماڈل سیکھتا ہے وہ لیبل ہوتے ہیں (لیبلز: ہر مثال کے لیے درست جواب)۔ لیبل کا معیار ایک حد مقرر کرتا ہے — اگر لوگ متضاد طور پر لیبل لگاتے ہیں، تو ماڈل متضاد طور پر سیکھتا ہے۔

انٹر اینوٹیٹر معاہدہ اس شرح کی پیمائش کرتا ہے جس پر مختلف لوگ ایک ہی نمونے کو ایک ہی لیبل دیتے ہیں۔ اس کا اظہار کوہن کے کپا جیسے گتانک سے کیا جاتا ہے۔ کم تعمیل اس بات کی نشاندہی کرتی ہے کہ یا تو کام واضح نہیں ہے یا ہدایات کمزور ہیں۔

مصنوعی ذہانت دو طریقوں سے لیبل لگانے میں مدد کرتی ہے: (1) تشریحی رہنما خطوط کا مسودہ تیار کرنا، (2) پہلے سے لیبل لگانا اور انسان کو صرف اسے درست کرنا۔ لیکن LLM کے ساتھ پری لیبلنگ میں ایک نقصان ہے: ماڈل کی منظم غلطی پورے لیبل سیٹ میں لیک ہو سکتی ہے۔ یہی وجہ ہے کہ انسان ہمیشہ LLM کے کچھ لیبل چیک کرتے ہیں۔

دھیان دیں: LLM کے تیار کردہ لیبلز کو "زمینی سچائی" نہ سمجھیں۔ انسان کے ساتھ ایک نمونہ چیک کریں اور LLM-انسانی فٹ کی پیمائش کریں۔ اگر تعمیل کم ہے تو، پہلے سے لیبل لگانا اچھے سے زیادہ نقصان کرے گا۔

ڈیٹا تقسیم: رساو کو روکیں۔

ڈیٹا کو تربیت/توثیق/ٹیسٹنگ میں تقسیم کرتے وقت سب سے خطرناک غلطی ڈیٹا کا رساو ہے: ٹیسٹ کی معلومات کو تربیت میں ملانا۔ مثالیں:

  • ایک ہی صارف کا ریکارڈ ٹریننگ اور ٹیسٹنگ (گروپ لیک) دونوں میں آتا ہے۔
  • تربیت میں مستقبل اور ماضی کو ٹائم سیریز میں جانچنے میں استعمال کرنا (دنیاوی رساو)۔
  • تمام ڈیٹا سے اسکیلنگ (نارملائزیشن) پیرامیٹرز کا حساب لگانا اور پھر تقسیم کرنا۔

وقت سے متعلق مسائل کے لیے وقتی تقسیم ضروری ہے: ماضی کے ساتھ تربیت، مستقبل میں ٹیسٹ۔ بے ترتیب تقسیم ایک "مستقبل" فائدہ دیتا ہے جو پیداوار میں کبھی نہیں ہوگا اور میٹرکس کو بڑھاتا ہے۔

ڈیٹا ورژننگ اور تولیدی صلاحیت

"ہم نے اس ماڈل کو کس ڈیٹا کے ساتھ تربیت دی؟" مہینوں بعد سوال کا جواب دینے کے قابل ہونا سنجیدہ ایم ایل انجینئرنگ کی پہچان ہے۔ ڈیٹا ورژننگ ہر ڈیٹا اسنیپ شاٹ کو ایک ID (ہیش یا ورژن ٹیگ) کے ساتھ اسٹور کرتی ہے۔ ٹولز جیسے ڈی وی سی (ڈیٹا ورژن کنٹرول) ورژن ڈیٹا جیسے کوڈ۔

ماڈل کے نتیجے کو دوبارہ پیش کرنے کے لیے، تین چیزوں کو طے کرنا ضروری ہے: ڈیٹا ورژن، کوڈ ورژن، اور بے ترتیب بیج۔ اس تینوں کے بغیر یہ کہنا ممکن نہیں کہ "مجھے وہی نتیجہ ملا"۔ ہم یونٹ 11 میں تولیدی صلاحیت کو گہرا کریں گے۔ لیکن ڈیٹا پائپ لائن میں بیج کو ٹھیک کرنا یہاں سے شروع ہوتا ہے۔

تین چھوٹے مقدمات

کیس 1 - جس دن اسکیما کی توثیق محفوظ کی گئی۔ جب ایک ٹیم نے اپ اسٹریم سسٹم پرائس فیلڈ کو پیسے سے لیرا میں تبدیل کیا تو تمام قیمتیں 100 گنا کم ہوگئیں۔ سکیما کی توثیق نے بیچ کو "قیمت سے باہر" کے طور پر مسترد کر دیا اور ماڈل کو کرپٹ ڈیٹا کے ساتھ تربیت نہیں دی گئی تھی۔ تصدیق کے بغیر، غلطی صرف پروڈکشن میں ہی نظر آئے گی، غلط پیشین گوئیوں کے ساتھ۔

کیس 2 - غلط بھرنے کا تعصب۔ کریڈٹ ماڈل میں، گمشدہ آمدنی کی قدریں اوسط سے بھری ہوئی تھیں۔ لیکن لاپتہ آمدنی بنیادی طور پر کم آمدنی والے گروپ میں تھی؛ اوسطاً اس گروپ کو مصنوعی طور پر "افزودہ" کیا گیا، اور ماڈل نے انہیں غیر منصفانہ طور پر اعلیٰ حد کی پیشکش کی۔ میڈین + لاپتہ پرچم کے ساتھ مسئلہ کو حل کیا.

کیس 3 - وقتی رساو۔ ڈیمانڈ کی پیشن گوئی کرنے والا ماڈل ٹیسٹ سیٹ (95% درستگی) پر بہت اچھا لگ رہا تھا لیکن پیداوار میں کریش ہو گیا۔ کیوں: بے ترتیب تقسیم کی وجہ سے، ماڈل نے مستقبل دیکھا تھا۔ عارضی بائننگ پر سوئچ کرنے سے ٹیسٹ کی درستگی 78% تک گر گئی - لیکن یہ حقیقی کارکردگی تھی اور اسے پیداوار میں رکھا گیا۔

کاپی کرنے کے قابل ٹیمپلیٹس

درج ذیل ڈیٹاسیٹ کو تین سیٹوں میں تقسیم کریں: تربیت/توثیق/ٹیسٹنگ۔ رکاوٹ: یہ ایک ٹائم سیریز ہے۔ TEMPORAL اسپلٹنگ کا استعمال کریں (ماضی میں ٹرین، مستقبل میں ٹیسٹ)۔ بیچ کے رساو کو روکیں: صرف ایک کلسٹر میں ایک ہی `customer_id` رکھیں۔ صرف ٹریننگ سیٹ سے اسکیلنگ کے پیرامیٹرز کا حساب لگائیں، پھر سب پر لاگو کریں۔ پرنٹ کریں کہ کوڈ میں ہر قدم پر کتنی لائنیں رہ گئی ہیں اور ایک دعوی شامل کریں جو کسی لیک کی جانچ پڑتال کرے۔

اس لیبلنگ ٹاسک کے لیے تشریحی رہنما خطوط کا مسودہ لکھیں۔ ٹاسک: [مثلاً گاہک کے جائزے کو مثبت/منفی/غیرجانبدار پر لیبل کریں]بارڈر لائن کیسز کو واضح کریں: طنز، ملا جلا جذبات، پروڈکٹ سے غیر متعلق جائزے کا لیبل کیسے لگائیں؟ 5 مثالیں اور 3 مشکل ایج کیسز دیں جو ٹیگرز میں مستقل مزاجی کو بڑھائیں گے۔

اس ڈیٹا پائپ لائن کے لیے تولیدی صلاحیت کی ایک چیک لسٹ تیار کریں:- ڈیٹا ورژن کو کیسے طے کیا جائے؟- کون سے بے ترتیب بیج کہاں سیٹ کیے جائیں؟- کون سا میٹا ڈیٹا (ڈیٹا ہیش، قطار کی گنتی، تاریخ) کو لاگ کیا جانا چاہیے؟ میرا کوڈ بیس: [language/library]

ڈیٹا لیکیج کے لیے اس کلین اپ کوڈ کو چیک کریں۔ خاص طور پر اس کو دیکھیں: کیا اسکیلنگ/انکوڈنگ پیرامیٹرز کا حساب تقسیم کرنے سے پہلے کیا جاتا ہے؟ کیا کوئی اعداد و شمار تمام اعداد و شمار یا صرف تربیت سے شمار کیے جاتے ہیں؟ کوڈ: [کوڈ]

فیصلہ کی میز: قدر کی حکمت عملی غائب ہے۔

حیثیت

تجویز کردہ نقطہ نظر

کیوں

عددی، ترچھی تقسیم

میڈین کے ساتھ بھریں

اوسط آؤٹ لیرز سے متاثر ہوتا ہے۔

عددی، سڈول

اوسط کے ساتھ بھریں

معلومات کی حفاظت کرتا ہے۔

کمی اہم ہوسکتی ہے۔

فلیگ کالم + بھریں۔

کمی ایک اشارہ ہے۔

کمی کی شرح > 60%

کالم کا اندازہ کریں/مسترد کریں۔

شور بہت زیادہ ہے۔

دوٹوک

"نامعلوم" زمرہ

مصنوعی اکثریت نہیں بناتا

عام غلطیاں

  • توثیق کو چھوڑنا۔ سکیما کنٹرول کے بغیر، کرپٹ ڈیٹا خاموشی سے چھپ جاتا ہے۔
  • تقسیم کرنے سے پہلے پیمانہ کرنا۔ یہ تعلیم میں ٹیسٹ کے اعدادوشمار کو لیک کرتا ہے۔
  • ٹائم سیریز میں بے ترتیب تقسیم کا استعمال۔ یہ جعلی ہائی میٹرکس تیار کرتا ہے۔
  • LLM لیبلز پر اندھا اعتماد کرنا۔ نظامی خرابی پورے ڈیٹا میں پھیل جاتی ہے۔
  • ڈیٹا ورژن کو محفوظ نہیں کرنا۔ آپ نتیجہ دوبارہ پیش نہیں کر سکتے۔
  • اوسط کے ساتھ مکینیکل بھرنا۔ یہ فیلڈ کے معنی کو نظر انداز کرتا ہے، تعصب کا اضافہ کرتا ہے۔

خلاصہ میں

ڈیٹا پائپ لائن ایم ایل سسٹم کی بنیاد ہے اور ماڈل سے زیادہ محنت کا مستحق ہے۔ تصدیق کو سب سے اوپر رکھیں؛ ڈومین کے علم کے ساتھ صفائی اور لیبلنگ کے فیصلے کرنا؛ کمپارٹمنٹ میں رساو (گروپ اور وقتی) کو روکنا؛ ڈیٹا ورژن اور بیج کو ٹھیک کریں۔ AI اس لائن پر کوڈ اور آئیڈیاز تیار کرتا ہے، لیکن یہ آپ پر منحصر ہے کہ کون سے ڈیٹا پر کارروائی کرنی ہے اور کس طرح — کیونکہ یہاں ہر غلط فیصلہ ماڈل میں ایک چھپی ہوئی خامی کے طور پر گزرتا ہے۔

درخواست کا کام

اپنے ڈیٹا سیٹ پر توثیق کی اسکیم (پانڈیرا/عظیم توقعات) لکھیں اور جان بوجھ کر ایک خراب قطار شامل کریں اور دکھائیں کہ یہ پکڑا گیا ہے۔ پھر ڈیٹا کو عارضی طور پر یا بیچ کی سمت میں تقسیم کریں، صرف ٹریننگ سے اسکیلنگ کے پیرامیٹرز کا حساب لگائیں، اور تصدیق کریں کہ اسسٹٹ کے ساتھ کوئی لیکیج نہیں ہے۔ میٹا ڈیٹا فائل میں ڈیٹا ورژن اور قطار کی گنتی لکھیں۔

چیک لسٹ

  • سکیما کی توثیق لائن کے اوپری حصے میں چلتی ہے۔
  • میں نے فیلڈ کے معنی کی بنیاد پر گمشدہ ویلیو حکمت عملی کا انتخاب کیا، میں نے اسے میکانکی طور پر نہیں بھرا۔
  • میں نے لیبل کے معیار (تعمیل) کی پیمائش کی۔ میں نے انسانی چیک کردہ LLM ٹیگز۔
  • میں نے پین میں گروپ اور وقتی رساو کو روکا۔
  • اسکیلنگ/انکوڈنگ کا حساب صرف ٹریننگ سیٹ سے ہوتا ہے۔
  • ڈیٹا ورژن، قطاروں کی تعداد اور ریکارڈ شدہ بیج۔