నెట్ఫ్లిక్స్ (Netflix) ఎందుకు హ్యాండ్-క్రాఫ్టెడ్ ఫీచర్ల నుండి వైదొలిగింది
తన చరిత్రలో ఎక్కువ కాలం పాటు, Netflix యొక్క రికమెండేషన్ పైప్లైన్ వేల సంఖ్యలో మాన్యువల్గా నిర్వచించిన ఆట్రిబ్యూట్లపై (attributes) ఆధారపడేది—అంటే వినియోగదారులు, టైటిల్స్ మరియు వారి మధ్య జరిగే ప్రతి ఇంటరాక్షన్ను వివరించే నంబరిక్ వెక్టర్స్ (numeric vectors). కొత్త రకమైన కంటెంట్—లైవ్ స్పోర్ట్స్, పాడ్కాస్ట్లు లేదా గేమ్లు—వచ్చినప్పుడు, సిస్టమ్ వాటిని రికమెండ్ చేయడం ప్రారంభించాలంటే, ఇంజనీర్లు ఆ కంటెంట్ను కొత్త ఫీచర్లుగా మార్చడానికి వారాల సమయం వెచ్చించేవారు. ఈ ప్రక్రియ ఖర్చుతో కూడుకున్నది, అస్థిరమైనది మరియు క్యాటలాగ్ వేగంగా విస్తరిస్తున్న కొద్దీ దానితో అనుసంధానమై ఉండటం కష్టతరమైనది.
సాధారణంగా లభించే లార్జ్ లాంగ్వేజ్ మోడల్స్ (LLMs) నేరుగా ఉపయోగించడానికి వీలుగా లేవు. అవి అత్యంత ప్రజాదరణ పొందిన టైటిల్స్ వైపు మొగ్గు చూపడం, అప్పుడప్పుడు లేని అంశాలను సృష్టించడం (hallucinate), మరియు రికమెండేషన్లు సురక్షితంగా మరియు సందర్భోచితంగా ఉండేలా చూసే బిజినెస్ రూల్స్ను అమలు చేయడంలో ఇబ్బంది పడటం వంటివి చేసేవి. అందువల్ల, Netflix ప్రొడక్షన్ పరిమితులను గౌరవిస్తూనే, లాంగ్వేజ్ మోడల్ యొక్క బలాన్ని కాపాడేలా ఒక ప్రత్యేకమైన (bespoke) LLM-ఆధారిత పైప్లైన్ను రూపొందించింది.
GenRec లోపల: రెండు దశల శిక్షణ పైప్లైన్
GenRec రెండు విభిన్న దశలతో కూడి ఉంటుంది:
- Base model fine-tuning – Netflix ఒక ఓపెన్-వెయిట్ లాంగ్వేజ్ మోడల్తో ప్రారంభించి, దానిని అంతర్గత వ్యూయింగ్ డేటా (viewing data) పై ఫైన్-ట్యూన్ చేస్తుంది. ఇది మోడల్ యొక్క కోర్ ఆర్కిటెక్చర్ను మార్చకుండానే, క్యాటలాగ్లోని పదజాలం మరియు వినియోగదారుల ప్రవర్తనా నమూనాలను (user-behavior patterns) మోడల్కు నేర్పిస్తుంది.
- Recommendation ranking – రెండవ దశ శిక్షణ ద్వారా, ఫైన్-ట్యూన్ చేయబడిన మోడల్ను ఒక 'ర్యాంకర్'గా మారుస్తారు, ఇది ఒక నిర్దిష్ట వినియోగదారు కోసం తగిన టైటిల్స్కు స్కోర్లను ఇస్తుంది. కొత్త విడుదలలు మరియు మారుతున్న ట్రెండ్లకు అనుగుణంగా మోడల్ అప్డేట్గా ఉండటానికి Netflix ఈ దశను తరచుగా రిఫ్రెష్ చేస్తుంది.
పాత సిస్టమ్కు మరియు దీనికి మధ్య ఉన్న ప్రధాన వ్యత్యాసం ఏమిటంటే, వినియోగదారుల హిస్టరీని మోడల్కు ఎలా అందిస్తారనేది. వాచ్ సెషన్లను డెన్స్ వెక్టర్స్గా (dense vectors) కుదించకుండా, GenRec ప్రతి ఇంటరాక్షన్ను—ప్లే వ్యవధి, థంబ్స్-అప్ లేదా థంబ్స్-డౌన్, త్వరగా వదిలేయడం వంటి వాటిని—సాధారణ ఇంగ్లీష్ వాక్యాలుగా మారుస్తుంది. ఆ తర్వాత మోడల్ మొత్తం సెషన్ను ఒక చిన్న సంభాషణలా చదువుతుంది, దీనివల్ల ఎటువంటి ఎక్స్ప్లిసిట్ ఫీచర్ ఇంజనీరింగ్ లేకుండానే జానర్ ప్రాధాన్యతలలో లేదా మూడ్లో వచ్చే సూక్ష్మ మార్పులను గుర్తించగలుగుతుంది.
పనితీరు మరియు సామర్థ్య మెరుగుదలలు
Netflix ట్రాఫిక్లో 10% మంది వినియోగదారులకు GenRecను పరిచయం చేస్తూ చేసిన నాలుగు వారాల ప్రయోగంలో, కొత్త సిస్టమ్ రెండు రకాల మెట్రిక్స్లో గణనీయమైన వృద్ధిని చూపింది:
- Short-term engagement – రోజువారీ రికమెండేషన్లను నడిపించే ప్రాథమిక క్లిక్-త్రూ (click-through) మరియు వాచ్-టైమ్ సిగ్నల్స్లో 0.115% పెరుగుదల.
- Long-term core metrics – వ్యాపారానికి అత్యంత ముఖ్యమైన సబ్స్క్రైబర్-రిటెన్షన్ (subscriber-retention) మరియు మొత్తం సంతృప్తి స్కోర్లలో 0.006% పెరుగుదల.
ఆఫ్లైన్లో, ఒక హోల్డ్-అవుట్ డేటాసెట్పై ర్యాంకింగ్ నాణ్యత ప్రొడక్షన్ బేస్లైన్తో పోలిస్తే 1.6% మెరుగుపడింది. అంతకంటే ఆశ్చర్యకరమైన విషయం ఏమిటంటే డేటా సామర్థ్యం: అదే పనితీరు స్థాయిని చేరుకోవడానికి సాంప్రదాయ పైప్లైన్కు అవసరమైన లేబుల్ చేయబడిన ఉదాహరణలలో (labeled examples) కేవలం 1/40 వంతు మాత్రమే రెండవ శిక్షణ దశకు అవసరమైంది.
కంప్యూట్ ఖర్చులను నియంత్రించడానికి, Netflix ఈ మోడల్ను vLLMతో నడుపుతుంది. ఇది టెక్స్ట్ను జనరేట్ చేయడానికి బదులుగా, ప్రతి క్యాండిడేట్కు ఒకే ఫార్వర్డ్ పాస్లో స్కోర్లను ఇచ్చే సర్వింగ్ స్టాక్. సిస్టమ్ అగ్రెసివ్ ఫిల్టరింగ్ను కూడా ఉపయోగిస్తుంది, తద్వారా కేవలం హై-సిగ్నల్ ఈవెంట్లు మాత్రమే మోడల్ యొక్క కాంటెక్స్ట్ విండోలో ఉంటాయి, దీనివల్ల అనవసరమైన టోకెన్లు తగ్గుతాయి మరియు లేటెన్సీ (latency) కూడా తగ్గుతుంది.
“ఫీచర్స్” నుండి “కాంటెక్స్ట్”కు మారడం అంటే ఏమిటి
"కాంటెక్స్ట్ ఇంజనీరింగ్" (context engineering) అనేది హ్యాండ్-క్రాఫ్టెడ్ ఫీచర్ల స్థానాన్ని భర్తీ చేస్తున్న ఒక విస్తృత ఉద్యమంలో GenRec ఒక భాగం. ప్రతి రికమెండేషన్ టాస్క్ కోసం ప్రత్యేకమైన ఆర్కిటెక్చర్ను రూపొందించడానికి బదులుగా, ఇంజనీర్లు ఏ సిగ్నల్స్ను టెక్స్ట్ ప్రాంప్ట్లో చేర్చాలో నిర్ణయించి, వాటిపై లాంగ్వేజ్ మోడల్ విశ్లేషించేలా చేస్తారు. ఈ విధానం కొత్త రకమైన కంటెంట్ను చేర్చడాన్ని వేగవంతం చేస్తుంది: ఒక పాడ్కాస్ట్ ఎపిసోడ్ లేదా లైవ్-స్ట్రీమ్ చేయబడిన గేమ్ను ఒక వాక్యంలో వివరించి వెంటనే రికమెండేషన్ పూల్లో చేర్చవచ్చు, దీనివల్ల నెలల తరబడి సాగే ఫీచర్-డెఫినిషన్ ప్రక్రియను దాటవేయవచ్చు.
మిగిలి ఉన్న అడ్డంకులు
LLM-ఆధారిత రికమెండర్లు అన్ని సమస్యలకు పరిష్కారం (silver bullet) కావు. అవి ప్రజాదరణ పొందిన అంశాలకు ఎక్కువ ప్రాధాన్యత ఇచ్చే ధోరణి వల్ల క్యాటలాగ్లో పక్షపాతం (bias) ఏర్పడే అవకాశం ఉంది, మరియు శక్తివంతమైన GPUs అవసరం వల్ల నిర్వహణ ఖర్చులు పెరుగుతాయి. vLLM మరియు అగ్రెసివ్ ఫిల్టరింగ్తో కూడా, Netflix స్థాయికి తగినట్లుగా లార్జ్ లాంగ్వేజ్ మోడల్ను అందించడానికి లేటెన్సీ లక్ష్యాలను చేరుకోవడానికి జాగ్రత్తగా ఇంజనీరింగ్ చేయాల్సి ఉంటుంది.
