کیوں Netflix نے ہاتھ سے تیار کردہ فیچرز سے کنارہ کشی اختیار کی
اپنی تاریخ کے زیادہ تر حصے میں، Netflix کا ریکمنڈیشن پائپ لائن ہزاروں دستی طور پر متعین کردہ خصوصیات (attributes) پر انحصار کرتا تھا—یعنی وہ عددی ویکٹرز جو صارفین، ٹائٹلز اور ان کے درمیان ہونے والے ہر تعامل (interaction) کی وضاحت کرتے تھے۔ انجینئرز کو کسی نئے مواد کی قسم—جیسے لائیو اسپورٹس، پوڈ کاسٹ، یا گیمز—کو سسٹم کے ذریعے تجویز کرنے کے قابل بنانے کے لیے اسے فیچرز کے ایک نئے سیٹ میں تبدیل کرنے میں ہفتوں لگ جاتے تھے۔ یہ عمل مہنگا، نازک اور کیٹلاگ کی تیز رفتار توسیع کے ساتھ ہم آہنگ رکھنا مشکل تھا۔
دستیاب (off-the-shelf) لارج لینگویج ماڈلز (LLMs) براہ راست کام نہیں کر پائے۔ وہ زیادہ مقبول ٹائٹلز کی طرف مائل ہو جاتے تھے، کبھی کبھار ایسی چیزوں کا تصور (hallucinate) کر لیتے تھے جو موجود ہی نہیں تھیں، اور ان کاروباری اصولوں پر عمل درآمد کرنے میں دشواری کا شکار رہتے تھے جو سفارشات کو محفوظ اور متعلقہ رکھتے ہیں۔ اس لیے Netflix نے ایک مخصوص LLM پر مبنی پائپ لائن تیار کی جو پروڈکشن کی حدود کا احترام کرتے ہوئے لینگویج ماڈل کی خوبیوں کو برقرار رکھتی ہے۔
GenRec کے اندر: دو مرحلہ وار ٹریننگ پائپ لائن
GenRec دو الگ الگ مراحل پر مشتمل ہے:
- Base model fine-tuning – Netflix ایک اوپن ویٹ (open-weight) لینگویج ماڈل سے آغاز کرتا ہے اور اسے اندرونی ویو ڈیٹا (viewing data) پر فائن ٹیون کرتا ہے۔ یہ ماڈل کے بنیادی ڈھانچے (architecture) کو تبدیل کیے بغیر اسے کیٹلاگ کی ذخیرہ الفاظ (vocabulary) اور صارف کے رویے کے پیٹرنز سکھاتا ہے۔
- Recommendation ranking – ٹریننگ کا دوسرا مرحلہ فائن ٹیون شدہ ماڈل کو ایک رینکر (ranker) میں تبدیل کر دیتا ہے جو کسی مخصوص صارف کے لیے ممکنہ ٹائٹلز کو اسکور کرتا ہے۔ Netflix اس مرحلے کو کثرت سے ریفریش کرتا ہے تاکہ ماڈل نئی ریلیز اور بدلتے ہوئے رجحانات کے ساتھ اپ ٹو ڈیٹ رہے۔
پرانے سسٹم سے بنیادی فرق یہ ہے کہ صارف کی ہسٹری کو ماڈل میں کیسے شامل کیا جاتا ہے۔ واچ سیشنز کو ڈینس ویکٹرز (dense vectors) میں کمپریس کرنے کے بجائے، GenRec ہر تعامل—جیسے پلے کا دورانیہ، تھمبز اپ یا تھمبز ڈاؤن، اور جلد ویڈیو چھوڑ دینا—کو سادہ انگریزی جملوں میں تبدیل کر دیتا ہے۔ اس کے بعد ماڈل پورے سیشن کو ایک مختصر مکالمے کے طور پر پڑھتا ہے، اور کسی بھی قسم کی واضح فیچر انجینئرنگ کے بغیر صنف (genre) کی پسند یا موڈ میں ہونے والی معمولی تبدیلیوں کو سمجھ لیتا ہے۔
کارکردگی اور کارکردگی میں اضافہ
چار ہفتوں کے ایک تجربے میں، جس میں Netflix کے 10% ٹریفک کو GenRec کے لیے استعمال کیا گیا، نئے سسٹم نے دو میٹرک فیملیز میں شماریاتی طور پر اہم بہتری دکھائی:
- Short-term engagement – بنیادی کلک تھرو (click-through) اور واچ ٹائم سگنلز میں 0.115% کا اضافہ، جو روزانہ کی سفارشات کو چلانے میں مدد دیتے ہیں۔
- Long-term core metrics – سبسکرائبر ریٹینشن (subscriber-retention) اور مجموعی اطمینان کے اسکورز میں 0.006% کا اضافہ، جو کاروبار کے لیے سب سے زیادہ اہمیت رکھتے ہیں۔
آف لائن، ایک ہولڈ آؤٹ ڈیٹا سیٹ (held-out dataset) پر رینکنگ کے معیار میں پروڈکشن بیس لائن کے مقابلے میں 1.6% بہتری آئی۔ اس سے بھی زیادہ حیران کن ڈیٹا کی کارکردگی ہے: دوسرے ٹریننگ مرحلے کو اسی سطح کی کارکردگی تک پہنچنے کے لیے روایتی پائپ لائن کے مقابلے میں تقریباً 1/40 لیبل شدہ مثالوں کی ضرورت پڑی۔
کمپیوٹ کے اخراجات کو قابو میں رکھنے کے لیے، Netflix ماڈل کو vLLM کے ساتھ چلاتا ہے، جو کہ ایک سرونگ اسٹیک (serving stack) ہے جو ٹیکسٹ تیار کرنے کے بجائے ایک ہی فارورڈ پاس (forward pass) میں ہر امیدوار کو اسکور کرتا ہے۔ سسٹم جارحانہ فلٹرنگ (aggressive filtering) بھی استعمال کرتا ہے تاکہ صرف زیادہ اہمیت والے واقعات (high-signal events) ہی ماڈل کے کانٹیکسٹ ونڈو (context window) میں آئیں، جس سے غیر ضروری ٹوکنز کم ہو جاتے ہیں اور لیٹنسی (latency) میں کمی آتی ہے۔
"فیچرز" سے "کانٹیکسٹ" کی طرف منتقلی کا کیا مطلب ہے
GenRec ایک وسیع تر تحریک کا حصہ ہے جہاں "کانٹیکسٹ انجینئرنگ" (context engineering) ہاتھ سے تیار کردہ فیچرز کی جگہ لے رہی ہے۔ ہر ریکمنڈیشن ٹاسک کے لیے ایک مخصوص آرکیٹیکچر ڈیزائن کرنے کے بجائے، انجینئرز یہ فیصلہ کرتے ہیں کہ ٹیکسٹ پرامپٹ (text prompt) میں کون سے سگنلز شامل کرنے ہیں اور پھر لینگویج ماڈل کو ان پر غور کرنے کے لیے چھوڑ دیتے ہیں۔ یہ طریقہ کار نئے مواد کی اقسام کو شامل کرنے کے عمل کو تیز کرتا ہے: ایک پوڈ کاسٹ ایپی سوڈ یا لائیو اسٹریم گیم کو ایک جملے میں بیان کیا جا سکتا ہے اور وہ فوری طور پر ریکمنڈیشن پول میں شامل ہو سکتا ہے، جس سے مہینوں طویل فیچر ڈیفینشن کا مرحلہ ختم ہو جاتا ہے۔
باقی ماندہ رکاوٹیں
LLM پر مبنی ریکمنڈرز کوئی جادوئی حل (silver bullet) نہیں ہیں۔ مقبول اشیاء پر ضرورت سے زیادہ زور دینے کا ان کا رجحان اب بھی کیٹلاگ میں جانبداری (bias) پیدا کرتا ہے، اور طاقتور GPUs کی ضرورت آپریشنل اخراجات کو بڑھاتی ہے۔ vLLM اور جارحانہ فلٹرنگ کے باوجود، Netflix کے پیمانے پر ایک لارج لینگویج ماڈل کو چلانے کے لیے لیٹنسی کے اہداف کو پورا کرنے کے لیے محتاط انجینئرنگ کی ضرورت ہوتی ہے۔
