Mail.ru میل میں مشین لرننگ کا آپریشن

Mail.ru میل میں مشین لرننگ کا آپریشن

Highload++ اور DataFest Minsk 2019 میں میری تقریروں کی بنیاد پر۔

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

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

یہ علاقے کئی اہم مسائل کی وضاحت کرتے ہیں، جن میں سے بہت سے مشین لرننگ کے ذریعے مؤثر طریقے سے حل کیے جا سکتے ہیں۔ یہاں پہلے سے موجود خصوصیات کی مثالیں ہیں جو حکمت عملی کے حصے کے طور پر تیار کی گئی ہیں - ہر سمت کے لیے ایک۔

  • سمارٹ جواب دیں. میل میں سمارٹ جواب کی خصوصیت ہے۔ نیورل نیٹ ورک خط کے متن کا تجزیہ کرتا ہے، اس کے معنی اور مقصد کو سمجھتا ہے، اور اس کے نتیجے میں جواب کے تین سب سے مناسب اختیارات پیش کرتا ہے: مثبت، منفی اور غیر جانبدار۔ اس سے خطوط کا جواب دیتے وقت وقت کی کافی بچت ہوتی ہے، اور اکثر غیر معیاری اور مضحکہ خیز انداز میں جواب دینے میں بھی مدد ملتی ہے۔
  • ای میلز کو گروپ کرناآن لائن اسٹورز میں آرڈرز سے متعلق۔ ہم اکثر آن لائن خریداری کرتے ہیں، اور، ایک اصول کے طور پر، اسٹورز ہر آرڈر کے لیے کئی ای میلز بھیج سکتے ہیں۔ مثال کے طور پر، سب سے بڑی سروس AliExpress سے، ایک آرڈر کے لیے بہت سے خطوط آتے ہیں، اور ہم نے حساب لگایا کہ ٹرمینل کیس میں ان کی تعداد 29 تک پہنچ سکتی ہے۔ اس لیے، Named Entity Recognition ماڈل کا استعمال کرتے ہوئے، ہم آرڈر نمبر نکالتے ہیں۔ اور متن سے دیگر معلومات اور تمام حروف کو ایک دھاگے میں گروپ کریں۔ ہم آرڈر کے بارے میں بنیادی معلومات کو الگ باکس میں بھی ڈسپلے کرتے ہیں، جو اس قسم کے ای میل کے ساتھ کام کرنا آسان بناتا ہے۔

    Mail.ru میل میں مشین لرننگ کا آپریشن

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

مشین لرننگ

عام طور پر ای میل میں مشین لرننگ کے بارے میں تھوڑا سا۔ میل ایک انتہائی بھری ہوئی نظام ہے: 1,5 ملین DAU صارفین کے لیے روزانہ اوسطاً 30 بلین خطوط ہمارے سرورز سے گزرتے ہیں۔ تقریباً 30 مشین لرننگ سسٹم تمام ضروری افعال اور خصوصیات کو سپورٹ کرتے ہیں۔

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

اگلا، ہم لوگوں اور روبوٹ کے خطوط کو الگ کرتے ہیں۔ لوگوں کی ای میلز سب سے اہم ہیں، اس لیے ہم ان کے لیے اسمارٹ جواب جیسی خصوصیات فراہم کرتے ہیں۔ روبوٹس کے خطوط کو دو حصوں میں تقسیم کیا گیا ہے: لین دین - یہ خدمات کی طرف سے اہم خطوط ہیں، مثال کے طور پر، خریداری یا ہوٹل کے تحفظات کی تصدیق، مالیات اور معلوماتی - یہ کاروباری اشتہارات، چھوٹ ہیں۔

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

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

Mail.ru میل میں مشین لرننگ کا آپریشن

استحصال

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

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

اس کے علاوہ، مشین لرننگ کے کاموں کی ایک خاصیت ہوتی ہے: نظام میں کوئی بھی، حتیٰ کہ معمولی، تبدیلی ماڈل کے ساتھ بہت زیادہ کام پیدا کر سکتی ہے: ڈیٹا کے ساتھ کام کرنا، دوبارہ تربیت دینا، تعیناتی، جس میں ہفتوں یا مہینے لگ سکتے ہیں۔ اس لیے، جس ماحول میں آپ کے ماڈلز کام کرتے ہیں اس میں جتنی تیزی سے تبدیلیاں آتی ہیں، انہیں برقرار رکھنے کے لیے اتنی ہی زیادہ محنت درکار ہوتی ہے۔ ایک ٹیم بہت سارے سسٹم بنا سکتی ہے اور اس کے بارے میں خوش ہو سکتی ہے، لیکن پھر اپنے تقریباً تمام وسائل ان کو برقرار رکھنے میں خرچ کر سکتی ہے، بغیر کچھ نیا کرنے کا موقع۔ ہمیں ایک بار اینٹی اسپام ٹیم میں ایسی صورتحال کا سامنا کرنا پڑا۔ اور انہوں نے واضح نتیجہ اخذ کیا کہ سپورٹ کو خودکار ہونے کی ضرورت ہے۔

آٹومیشن

کیا خودکار کیا جا سکتا ہے؟ تقریبا سب کچھ، اصل میں. میں نے چار شعبوں کی نشاندہی کی ہے جو مشین لرننگ کے بنیادی ڈھانچے کی وضاحت کرتے ہیں:

  • ڈیٹا اکٹھا کرنا؛
  • اضافی تربیت؛
  • تعینات
  • جانچ اور نگرانی.

اگر ماحول غیر مستحکم ہے اور مسلسل بدل رہا ہے، تو ماڈل کے ارد گرد کا پورا بنیادی ڈھانچہ خود ماڈل سے کہیں زیادہ اہم نکلا ہے۔ یہ ایک اچھا پرانا لکیری درجہ بندی ہو سکتا ہے، لیکن اگر آپ اسے صحیح خصوصیات فراہم کرتے ہیں اور صارفین سے اچھی رائے حاصل کرتے ہیں، تو یہ تمام گھنٹیوں اور سیٹیوں کے ساتھ اسٹیٹ آف دی آرٹ ماڈلز سے بہت بہتر کام کرے گا۔

فیڈ بیک لوپ

یہ سائیکل ڈیٹا اکٹھا کرنے، اضافی تربیت اور تعیناتی کو یکجا کرتا ہے - درحقیقت پورے ماڈل اپ ڈیٹ سائیکل۔ یہ کیوں ضروری ہے؟ میل میں رجسٹریشن کا شیڈول دیکھیں:

Mail.ru میل میں مشین لرننگ کا آپریشن

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

اتنا دردناک حد تک تکلیف دہ نہ ہونے اور بعد میں ہر چیز کو دوبارہ کرنے کی ضرورت نہ ہونے کے لیے، ہمیں ابتدائی طور پر اس بارے میں سوچنا چاہیے کہ فیڈ بیک لوپ کیسا نظر آئے گا اور اگر ماحول بدل جاتا ہے تو ہم کیا کریں گے۔ آئیے ڈیٹا اکٹھا کرنا شروع کرتے ہیں - یہ ہمارے الگورتھم کا ایندھن ہے۔

ڈیٹا اکٹھا کرنا

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

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

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

تاثرات کا معیار

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

اور آئیے یہ نہ بھولیں کہ بٹنوں پر نہ صرف لوگ کلک کر سکتے ہیں بلکہ ہر قسم کے بوٹس بھی جو براؤزر ہونے کا بہانہ کرتے ہیں۔ لہذا خام رائے سیکھنے کے لئے اچھا نہیں ہے. آپ اس معلومات کے ساتھ کیا کر سکتے ہیں؟

ہم دو طریقے استعمال کرتے ہیں:

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

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

آپ کو سیمی آٹومیٹک یا مینوئل موڈ میں سپورٹ کرنے کے لیے کچھ رپورٹس یا درخواستوں کی بنیاد پر ایک ماڈل بنانے کی بھی ضرورت ہے تاکہ دوسرے صارفین اسی طرح کے مسائل کا شکار نہ ہوں۔

سیکھنے کے لئے ہیورسٹکس

ان heuristics اور بیساکھی کے ساتھ دو مسائل ہیں. پہلا یہ کہ بیساکھیوں کی مسلسل بڑھتی ہوئی تعداد کو برقرار رکھنا مشکل ہے، طویل سفر کے دوران ان کے معیار اور کارکردگی کو چھوڑ دیں۔ دوسرا مسئلہ یہ ہے کہ غلطی بار بار نہیں ہو سکتی، اور ماڈل کو مزید تربیت دینے کے لیے چند کلکس کافی نہیں ہوں گے۔ ایسا لگتا ہے کہ اگر مندرجہ ذیل نقطہ نظر کو لاگو کیا جائے تو ان دو غیر متعلقہ اثرات کو نمایاں طور پر بے اثر کیا جاسکتا ہے۔

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

تو بیساکھیوں کی فوج بہت مفید ہے۔ اصل بات یہ ہے کہ ان کی سروس فوری ہے مستقل نہیں۔

اضافی تربیت

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

  1. ماڈل صرف اضافی تربیت کی حمایت نہیں کر سکتا ہے، لیکن صرف شروع سے سیکھتا ہے.
  2. فطرت کی کتاب میں کہیں بھی یہ نہیں لکھا ہے کہ اضافی تربیت یقینی طور پر پیداوار میں کام کے معیار کو بہتر بنائے گی۔ اکثر اس کے برعکس ہوتا ہے، یعنی صرف بگاڑ ہی ممکن ہے۔
  3. تبدیلیاں غیر متوقع ہو سکتی ہیں۔ یہ ایک لطیف نکتہ ہے جس کی ہم نے خود نشاندہی کی ہے۔ یہاں تک کہ اگر A/B ٹیسٹ میں ایک نیا ماڈل موجودہ ماڈل کے مقابلے میں اسی طرح کے نتائج دکھاتا ہے، تو اس کا مطلب یہ نہیں ہے کہ یہ یکساں طور پر کام کرے گا۔ ان کے کام میں صرف ایک فیصد فرق ہو سکتا ہے، جس سے نئی غلطیاں آ سکتی ہیں یا پرانی واپس آ سکتی ہیں جو پہلے ہی درست ہو چکی ہیں۔ ہم اور صارفین دونوں پہلے ہی جانتے ہیں کہ موجودہ غلطیوں کے ساتھ کیسے جینا ہے، اور جب بڑی تعداد میں نئی ​​غلطیاں پیدا ہوتی ہیں، تو صارف کو یہ بھی سمجھ نہیں آتا کہ کیا ہو رہا ہے، کیونکہ وہ پیش گوئی کے قابل رویے کی توقع رکھتا ہے۔

لہذا، اضافی تربیت میں سب سے اہم چیز یہ یقینی بنانا ہے کہ ماڈل بہتر ہو، یا کم از کم خراب نہ ہو۔

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

Mail.ru میل میں مشین لرننگ کا آپریشن

درحقیقت، ہمارا مقصد پرانے نمونوں، پہلے سے معلوم ماڈلز کو محفوظ کرنا اور نئے حاصل کرنا ہے۔ تسلسل یہاں اہم ہے۔ ماڈل، جسے ہم نے رول آؤٹ کرنے کے لیے اکثر بہت تکلیفیں اٹھائیں، پہلے ہی کام کر رہا ہے، لہذا ہم اس کی کارکردگی پر توجہ مرکوز کر سکتے ہیں۔

میل میں مختلف ماڈل استعمال کیے جاتے ہیں: درخت، لکیری، نیورل نیٹ ورک۔ ہر ایک کے لیے ہم اپنا اضافی تربیتی الگورتھم بناتے ہیں۔ اضافی تربیت کے عمل میں، ہمیں نہ صرف نیا ڈیٹا ملتا ہے بلکہ اکثر نئی خصوصیات بھی ملتی ہیں، جنہیں ہم ذیل کے تمام الگورتھم میں مدنظر رکھیں گے۔

لکیری ماڈلز

ہم کہتے ہیں کہ ہمارے پاس لاجسٹک ریگریشن ہے۔ ہم مندرجہ ذیل اجزاء سے نقصان کا ماڈل بناتے ہیں:

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

چونکہ ہر نقصان کے اجزاء میں گتانک ہوتے ہیں، اس لیے ہم کراس توثیق کے ذریعے یا مصنوعات کی ضروریات کی بنیاد پر اپنے کام کے لیے بہترین اقدار کا انتخاب کر سکتے ہیں۔

Mail.ru میل میں مشین لرننگ کا آپریشن

درخت۔

آئیے فیصلہ کن درختوں کی طرف بڑھتے ہیں۔ ہم نے درختوں کی اضافی تربیت کے لیے درج ذیل الگورتھم مرتب کیا ہے:

  1. پیداوار 100-300 درختوں کا جنگل چلاتی ہے، جسے پرانے ڈیٹا سیٹ پر تربیت دی جاتی ہے۔
  2. آخر میں ہم M = 5 ٹکڑوں کو ہٹاتے ہیں اور 2M = 10 نئے شامل کرتے ہیں، پورے ڈیٹا سیٹ پر تربیت یافتہ، لیکن نئے ڈیٹا کے لیے زیادہ وزن کے ساتھ، جو قدرتی طور پر ماڈل میں بڑھتی ہوئی تبدیلی کی ضمانت دیتا ہے۔

ظاہر ہے، وقت کے ساتھ ساتھ درختوں کی تعداد بہت بڑھ جاتی ہے، اور وقت کو پورا کرنے کے لیے انہیں وقتاً فوقتاً کم کیا جانا چاہیے۔ ایسا کرنے کے لیے، ہم اب ہر جگہ موجود نالج ڈسٹلیشن (KD) کا استعمال کرتے ہیں۔ اس کے آپریشن کے اصول کے بارے میں مختصر طور پر.

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

Mail.ru میل میں مشین لرننگ کا آپریشن

ان دونوں تکنیکوں کا امتزاج (درختوں کو شامل کرنا اور علم کشید کا استعمال کرتے ہوئے وقتاً فوقتاً ان کی تعداد کو کم کرنا) نئے نمونوں کے تعارف اور مکمل تسلسل کو یقینی بناتا ہے۔

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

Mail.ru میل میں مشین لرننگ کا آپریشن

ہم نے دیکھا کہ ماڈل میں جتنی زیادہ سنگین ہیرا پھیری ہوتی ہے، دھاگے کے نمونے کی ضرورت اتنی ہی زیادہ ہوتی ہے۔

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

Mail.ru میل میں مشین لرننگ کا آپریشن

فاسٹ ٹیکسٹ

آئیے فاسٹ ٹیکسٹ کی طرف چلتے ہیں۔ میں آپ کو یاد دلاتا چلوں کہ کسی لفظ کی نمائندگی (Embedding) خود لفظ کی سرایت اور اس کے تمام حرف N-grams، عام طور پر trigrams پر مشتمل ہوتی ہے۔ چونکہ بہت سارے ٹریگرام ہوسکتے ہیں، اس لیے بکٹ ہیشنگ کا استعمال کیا جاتا ہے، یعنی پوری جگہ کو ایک مخصوص ہیش میپ میں تبدیل کرنا۔ نتیجے کے طور پر، وزن کا میٹرکس اندرونی تہہ کے طول و عرض کے ساتھ فی الفاظ + بالٹیوں کی تعداد کے ساتھ حاصل کیا جاتا ہے۔

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

Mail.ru میل میں مشین لرننگ کا آپریشن

سی این این

Convolutional نیٹ ورک کچھ زیادہ پیچیدہ ہیں۔ اگر آخری پرتیں CNN میں مکمل ہو جاتی ہیں، تو یقیناً آپ ہارمونک ریگولرائزیشن کا اطلاق کر سکتے ہیں اور تسلسل کی ضمانت دے سکتے ہیں۔ لیکن اگر پورے نیٹ ورک کی اضافی تربیت کی ضرورت ہو، تو اس طرح کی ریگولرائزیشن کو تمام پرتوں پر لاگو نہیں کیا جا سکتا۔ تاہم، ٹرپلٹ لاس (اصل آرٹیکل).

تین گنا نقصان

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

Mail.ru میل میں مشین لرننگ کا آپریشن

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

ہم نے ٹریننگ سیٹ میں نیا ڈیٹا شامل کیا ہے اور ماڈل کے دوسرے ورژن کو شروع سے تربیت دے رہے ہیں۔ دوسرے مرحلے پر، ہم اپنے نیٹ ورک کو مزید تربیت دیتے ہیں (Finetuning): پہلے آخری تہہ مکمل ہو جاتی ہے، اور پھر پورا نیٹ ورک غیر منجمد ہو جاتا ہے۔ ٹرپلٹس کمپوز کرنے کے عمل میں، ہم تربیت یافتہ ماڈل کا استعمال کرتے ہوئے ایمبیڈنگز کے صرف ایک حصے کا حساب لگاتے ہیں، باقی - پرانے کا استعمال کرتے ہوئے۔ اس طرح، اضافی تربیت کے عمل میں، ہم میٹرک اسپیس v1 اور v2 کی مطابقت کو یقینی بناتے ہیں۔ ہارمونک ریگولرائزیشن کا ایک انوکھا ورژن۔

Mail.ru میل میں مشین لرننگ کا آپریشن

مکمل فن تعمیر

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

Mail.ru میل میں مشین لرننگ کا آپریشن

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

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

تعینات کریں۔

ہم نے ڈیٹا اکٹھا کرنے اور مختلف قسم کے ماڈلز کی اضافی تربیت پر تبادلہ خیال کیا ہے، لہذا ہم پیداواری ماحول میں ان کی تعیناتی کی طرف بڑھ رہے ہیں۔

A/B ٹیسٹنگ

جیسا کہ میں نے پہلے کہا، ڈیٹا اکٹھا کرنے کے عمل میں، ہمیں عام طور پر ایک متعصب نمونہ ملتا ہے، جس سے ماڈل کی پیداواری کارکردگی کا اندازہ لگانا ناممکن ہوتا ہے۔ اس لیے، تعیناتی کرتے وقت، ماڈل کا موازنہ پچھلے ورژن سے کیا جانا چاہیے تاکہ یہ سمجھا جا سکے کہ چیزیں اصل میں کیسے چل رہی ہیں، یعنی A/B ٹیسٹ کروائیں۔ درحقیقت، چارٹس کو رول آؤٹ کرنے اور ان کا تجزیہ کرنے کا عمل کافی معمول کا ہے اور اسے آسانی سے خودکار کیا جا سکتا ہے۔ ہم اپنے ماڈلز کو بتدریج 5%، 30%، 50% اور 100% صارفین تک پہنچاتے ہیں، جبکہ ماڈل کے جوابات اور صارف کے تاثرات پر تمام دستیاب میٹرکس جمع کرتے ہیں۔ کچھ سنگین نتائج کی صورت میں، ہم خود بخود ماڈل کو واپس کر دیتے ہیں، اور دیگر معاملات کے لیے، کافی تعداد میں صارف کے کلکس جمع کرنے کے بعد، ہم فیصد بڑھانے کا فیصلہ کرتے ہیں۔ نتیجے کے طور پر، ہم نئے ماڈل کو 50% صارفین تک مکمل طور پر خود بخود لاتے ہیں، اور پورے سامعین کے لیے رول آؤٹ کو ایک شخص کی طرف سے منظور کیا جائے گا، حالانکہ یہ مرحلہ خودکار ہو سکتا ہے۔

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

اس مسئلے کو حل کرنے کے لیے، ہم نے ایک الگ درجہ بندی کرنے والے کو تربیت دی جو A/B ٹیسٹ کی کامیابی کی پیشین گوئی کرتا ہے۔ ایسا کرنے کے لیے، ہم فیصلہ سازی کے اعدادوشمار، درستگی، یادداشت اور دیگر میٹرکس کو ٹریننگ سیٹ پر، موخر کردہ پر، اور سٹریم سے نمونے پر بطور خصوصیات لیتے ہیں۔ ہم ماڈل کا موازنہ موجودہ پروڈکشن کے ساتھ، ہیورسٹکس کے ساتھ، اور ماڈل کی پیچیدگی کو بھی مدنظر رکھتے ہیں۔ ان تمام خصوصیات کو استعمال کرتے ہوئے، ٹیسٹ کی تاریخ پر تربیت یافتہ ایک درجہ بندی امیدواروں کے ماڈلز کا جائزہ لیتا ہے، ہمارے معاملے میں یہ درختوں کے جنگلات ہیں، اور فیصلہ کرتا ہے کہ A/B ٹیسٹ میں کون سا استعمال کرنا ہے۔

Mail.ru میل میں مشین لرننگ کا آپریشن

نفاذ کے وقت، اس نقطہ نظر نے ہمیں کامیاب A/B ٹیسٹوں کی تعداد میں کئی گنا اضافہ کرنے کی اجازت دی۔

جانچ اور نگرانی

جانچ اور نگرانی، عجیب بات ہے کہ، ہماری صحت کو نقصان نہیں پہنچاتے؛ بلکہ، اس کے برعکس، وہ اسے بہتر بناتے ہیں اور ہمیں غیر ضروری تناؤ سے نجات دلاتے ہیں۔ جانچ آپ کو ناکامی کو روکنے کی اجازت دیتی ہے، اور نگرانی آپ کو بروقت اس کا پتہ لگانے کی اجازت دیتی ہے تاکہ صارفین پر اثرات کو کم کیا جا سکے۔

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

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

Mail.ru میل میں مشین لرننگ کا آپریشن

لہذا، نگرانی کے طور پر ایک سادہ چیز ایک ماڈل کی زندگی میں اہم بن سکتی ہے. معیاری اور واضح میٹرکس کے علاوہ، ہم ماڈل کے جوابات اور اسکورز کی تقسیم کے ساتھ ساتھ اہم فیچر اقدار کی تقسیم پر بھی غور کرتے ہیں۔ KL ڈائیورجینس کا استعمال کرتے ہوئے، ہم موجودہ تقسیم کا تاریخی ایک یا A/B ٹیسٹ میں موجود اقدار کا بقیہ سٹریم کے ساتھ موازنہ کر سکتے ہیں، جو ہمیں ماڈل میں بے ضابطگیوں کو محسوس کرنے اور بروقت تبدیلیوں کو واپس لانے کی اجازت دیتا ہے۔

زیادہ تر معاملات میں، ہم اپنے سسٹمز کے پہلے ورژن کو سادہ ہیورسٹکس یا ماڈلز کا استعمال کرتے ہوئے لانچ کرتے ہیں جنہیں ہم مستقبل میں نگرانی کے طور پر استعمال کرتے ہیں۔ مثال کے طور پر، ہم مخصوص آن لائن اسٹورز کے لیے عام ماڈل کے مقابلے میں NER ماڈل کی نگرانی کرتے ہیں، اور اگر درجہ بندی کی کوریج ان کے مقابلے میں کم ہوتی ہے، تو ہم اس کی وجوہات کو سمجھتے ہیں۔ ہیورسٹکس کا ایک اور مفید استعمال!

کے نتائج

آئیے مضمون کے اہم خیالات پر دوبارہ غور کرتے ہیں۔

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

ٹھیک ہے، مجھے امید ہے کہ اس سے آپ کے ایم ایل سسٹم کو تیزی سے بہتر بنانے، انہیں تیزی سے مارکیٹ میں لانے، اور انہیں زیادہ قابل اعتماد اور کم دباؤ بنانے میں مدد ملے گی۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں