কেন Netflix হাতে তৈরি (hand-crafted) ফিচার থেকে সরে এসেছে
তাদের ইতিহাসের বেশিরভাগ সময় জুড়ে, Netflix-এর রিকমেন্ডেশন পাইপলাইন হাজার হাজার ম্যানুয়ালি সংজ্ঞায়িত অ্যাট্রিবিউটের (attributes) ওপর নির্ভর করত—যা হলো নিউমেরিক ভেক্টর (numeric vectors) যা ব্যবহারকারী, টাইটেল এবং তাদের মধ্যকার প্রতিটি মিথস্ক্রিয়া বর্ণনা করে। নতুন কোনো কন্টেন্ট টাইপ—যেমন লাইভ স্পোর্টস, পডকাস্ট বা গেম—সিস্টেমটি রিকমেন্ড করা শুরু করার আগে ইঞ্জিনিয়ারদের সেটিকে নতুন ফিচারের সেটে রূপান্তর করতে সপ্তাহখানেক সময় ব্যয় করতে হতো। এই প্রক্রিয়াটি ছিল ব্যয়বহুল, ভঙ্গুর এবং ক্যাটালগের দ্রুত প্রসারের সাথে তাল মিলিয়ে রাখা কঠিন ছিল।
রেডিমেড লার্জ ল্যাঙ্গুয়েজ মডেলগুলো (LLMs) সরাসরি কার্যকর ছিল না। সেগুলো সবচেয়ে জনপ্রিয় টাইটেলগুলোর দিকে ঝুঁকে পড়ত, মাঝে মাঝে অস্তিত্বহীন আইটেম নিয়ে হ্যালুসিনেশন (hallucination) করত এবং রিকমেন্ডেশনগুলোকে নিরাপদ ও প্রাসঙ্গিক রাখার জন্য প্রয়োজনীয় বিজনেস রুলস মেনে চলতে হিমশিম খেত। তাই Netflix একটি নিজস্ব (bespoke) LLM-ভিত্তিক পাইপলাইন তৈরি করেছে যা প্রোডাকশন সীমাবদ্ধতা মেনে চলার পাশাপাশি একটি ল্যাঙ্গুয়েজ মডেলের শক্তিকেও অক্ষুণ্ণ রাখে।
GenRec-এর ভেতরে: একটি দ্বি-স্তরীয় ট্রেনিং পাইপলাইন
GenRec দুটি স্বতন্ত্র ধাপ নিয়ে গঠিত:
- Base model fine-tuning – Netflix একটি ওপেন-ওয়েট (open-weight) ল্যাঙ্গুয়েজ মডেল থেকে শুরু করে সেটিকে অভ্যন্তরীণ ভিউয়িং ডেটার ওপর ফাইন-টিউন করে। এটি মডেলের মূল আর্কিটেকচার পরিবর্তন না করেই তাকে ক্যাটালগের শব্দভাণ্ডার এবং ব্যবহারকারীর আচরণের ধরন শেখায়।
- Recommendation ranking – প্রশিক্ষণের দ্বিতীয় রাউন্ডটি ফাইন-টিউন করা মডেলটিকে একটি র্যাঙ্কারে (ranker) রূপান্তরিত করে, যা একজন নির্দিষ্ট ব্যবহারকারীর জন্য সম্ভাব্য টাইটেলগুলোর স্কোর নির্ধারণ করে। Netflix এই ধাপটি ঘন ঘন রিফ্রেশ করে যাতে মডেলটি নতুন রিলিজ এবং পরিবর্তনশীল ট্রেন্ডের সাথে আপ-টু-ডেট থাকতে পারে।
লিগ্যাসি সিস্টেম থেকে মূল পার্থক্য হলো কীভাবে ব্যবহারকারীর ইতিহাস মডেলটিতে ইনপুট হিসেবে দেওয়া হয়। ওয়াচ সেশনগুলোকে ডেন্স ভেক্টরে (dense vectors) সংকুচিত করার পরিবর্তে, GenRec প্রতিটি মিথস্ক্রিয়া—যেমন দেখার সময়কাল, থাম্বস-আপ বা থাম্বস-ডাউন, বা দ্রুত ভিডিও ছেড়ে দেওয়া—সহজ ইংরেজি বাক্যে রূপান্তর করে। এরপর মডেলটি পুরো সেশনটিকে একটি ছোট সংলাপ হিসেবে পড়ে এবং কোনো প্রকার এক্সপ্লিসিট ফিচার ইঞ্জিনিয়ারিং ছাড়াই জনরা (genre) পছন্দ বা মুডের সূক্ষ্ম পরিবর্তনগুলো বুঝতে পারে।
পারফরম্যান্স এবং দক্ষতার উন্নতি
চার সপ্তাহের একটি পরীক্ষায়, যেখানে Netflix ট্রাফিকের ১০% অংশকে GenRec-এর আওতায় আনা হয়েছিল, নতুন সিস্টেমটি দুটি মেট্রিক গ্রুপে পরিসংখ্যানগতভাবে উল্লেখযোগ্য উন্নতি দেখিয়েছে:
- Short-term engagement – দৈনিক রিকমেন্ডেশন চালিত প্রাথমিক ক্লিক-থ্রু (click-through) এবং ওয়াচ-টাইম সিগন্যালগুলোতে ০.১১৫% বৃদ্ধি।
- Long-term core metrics – সাবস্ক্রাইবার-রিটেনশন (subscriber-retention) এবং সামগ্রিক সন্তুষ্টির স্কোরে ০.০০৬% বৃদ্ধি, যা ব্যবসার জন্য সবচেয়ে গুরুত্বপূর্ণ।
অফলাইনে, একটি হোল্ড-আউট (held-out) ডেটাসেটে র্যাঙ্কিংয়ের মান প্রোডাকশন বেসলাইনের তুলনায় ১.৬% উন্নত হয়েছে। আরও চমকপ্রদ বিষয় হলো ডেটা দক্ষতা: একই পারফরম্যান্স স্তরে পৌঁছানোর জন্য প্রথাগত পাইপলাইনের তুলনায় দ্বিতীয় ট্রেনিং স্টেজে মাত্র ১/৪০ ভাগ লেবেলযুক্ত উদাহরণের প্রয়োজন হয়েছে।
কম্পিউট বিল নিয়ন্ত্রণে রাখতে, Netflix vLLM ব্যবহার করে মডেলটি চালায়, যা একটি সার্ভিং স্ট্যাক এবং এটি টেক্সট জেনারেট করার পরিবর্তে একটি সিঙ্গেল ফরওয়ার্ড পাসে (single forward pass) প্রতিটি ক্যান্ডিডেটকে স্কোর করে। সিস্টেমটি আক্রমণাত্মক ফিল্টারিংও (aggressive filtering) প্রয়োগ করে যাতে শুধুমাত্র হাই-সিগন্যাল ইভেন্টগুলো মডেলের কনটেক্সট উইন্ডো দখল করে, যা অপ্রয়োজনীয় টোকেন কমায় এবং ল্যাটেন্সি (latency) হ্রাস করে।
"ফিচার" থেকে "কনটেক্সট"-এ পরিবর্তনের অর্থ কী
GenRec একটি বৃহত্তর আন্দোলনের অংশ যেখানে "কনটেক্সট ইঞ্জিনিয়ারিং" (context engineering) হাতে তৈরি ফিচারগুলোর জায়গা দখল করছে। প্রতিটি রিকমেন্ডেশন টাস্কের জন্য আলাদা আর্কিটেকচার ডিজাইন করার পরিবর্তে, ইঞ্জিনিয়াররা সিদ্ধান্ত নেন কোন সিগন্যালগুলো একটি টেক্সট প্রম্পটে অন্তর্ভুক্ত করতে হবে এবং ল্যাঙ্গুয়েজ মডেলকে সেগুলো নিয়ে যুক্তি বা রিজনিং (reasoning) করতে দেন। এই পদ্ধতিটি নতুন কন্টেন্ট টাইপ অন্তর্ভুক্ত করার প্রক্রিয়াকে ত্বরান্বিত করে: একটি পডকাস্ট এপিসোড বা লাইভ-স্ট্রিম করা গেমকে একটি বাক্যে বর্ণনা করা যেতে পারে এবং এটি সাথে সাথে রিকমেন্ডেশন পুলে যোগ দিতে পারে, ফলে মাসের পর মাস ধরে ফিচার-ডেফিনিশন স্প্রিন্ট করার প্রয়োজন হয় না।
অবশিষ্ট বাধাগুলো
LLM-ভিত্তিক রিকমেন্ডারগুলো কোনো জাদুকরী সমাধান (silver bullet) নয়। জনপ্রিয় আইটেমগুলোকে অতিরিক্ত গুরুত্ব দেওয়ার প্রবণতা এখনও ক্যাটালগে পক্ষপাতিত্ব (bias) তৈরি করে এবং শক্তিশালী GPU-এর প্রয়োজনীয়তা অপারেশনাল খরচ বাড়িয়ে দেয়। এমনকি vLLM এবং আক্রমণাত্মক ফিল্টারিং ব্যবহার করলেও, Netflix-এর স্কেলে একটি লার্জ ল্যাঙ্গুয়েজ মডেল সার্ভ করার জন্য ল্যাটেন্সি লক্ষ্যমাত্রা পূরণে অত্যন্ত সতর্ক ইঞ্জিনিয়ারিং প্রয়োজন।
