xGR: Efficient Generative Recommendation Serving at Scale
यह शोध पत्र xGR प्रस्तुत करता है, जो एक विशेष सर्विंग सिस्टम है जो सख्त कम-विलंबता (low-latency) बाधाओं के तहत काफी उच्च थ्रूपुट प्राप्त करने के लिए एकीकृत चरणबद्ध गणना (unified staged computation), प्रारंभिक सॉर्टिंग समाप्ति (early sorting termination) और बहु-स्तरीय पाइपलाइन समानांतरता (multi-level pipeline parallelism) के माध्यम से जनरेटिव अनुशंसा वर्कलोड को अनुकूलित करता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक विशाल, उच्च-गति वाली डिजिटल लाइब्रेरी (एक रिकमेंडेशन सिस्टम) चला रहे हैं जो एक ही समय में लाखों लोगों को अगली किताब, फिल्म या उत्पाद का सुझाव देती है। वर्षों तक, इस लाइब्रेरी ने एक "फिल्टरिंग" विधि का उपयोग किया: यह किताबों के एक बड़े ढेर को देखती थी, चरणों में खराब किताबों को बाहर निकालती थी, और अंत में आपको एक छोटी सूची दिखाती थी।
हाल ही में, एक नई विधि जिसे जेनरेटिव रिकमेंडेशन (GR) कहा जाता है, आई है। फिल्टर करने के बजाय, यह एक रचनात्मक लेखक की तरह काम करती है जिसने आपके पूरे जीवन की कहानी (आपके क्लिक और व्यू का इतिहास) पढ़ ली है और फिर आपके लिए शून्य से एक आदर्श सुझाव लिखती है।
समस्या यह है कि जब हजारों लोग एक ही सेकंड में किताबें मांग रहे हों, तो यह नया "लेखक" अविश्वसनीय रूप से धीमा हो जाता है। xGR नामक एक नया सिस्टम पेश किया गया है, जिसे इस तरह डिज़ाइन किया गया है कि यह इस लेखक को इतना तेज़ बना सके कि वह बिना किसी परेशानी के भीड़ भरे समय (रश ऑवर) को संभाल सके।
यहाँ बताया गया है कि कैसे xGR तीन मुख्य सिरदर्दों को हल करता है, जिन्हें सरल उपमाओं (analogies) के माध्यम से समझाया गया है:
1. "साझा कहानी" की समस्या (मेमोरी की बर्बादी को हल करना)
समस्या: कल्पना करें कि 128 अलग-अलग लोग (जिन्हें "बीम्स" कहा जाता है) लेखक से एक ही कहानी को आगे बढ़ाने के लिए कह रहे हैं। पुराने सिस्टम में, लेखक प्रत्येक व्यक्ति के लिए एक बार में कहानी के पहले 1,000 पन्ने 128 अलग-अलग बार पढ़ता था। यह एक लाइब्रेरियन की तरह है जो एक ही किताब उठाने के लिए 128 बार उसी शेल्फ की ओर दौड़ता है, जिससे गलियारे जाम हो जाते हैं।
xGR का समाधान: xGR महसूस करता है कि हर कोई कहानी के उसी पहले भाग को पढ़ रहा है। यह एक "साझा रीडिंग रूम" (Shared Reading Room) बनाता है जहाँ वह पहला भाग केवल एक बार लोड किया जाता है। फिर, यह प्रत्येक व्यक्ति के लिए आवश्यक अद्वितीय अंत (unique endings) के लिए अलग-अलग, छोटे डेस्क सेट करता है।
- परिणाम: लाइब्रेरियन इधर-उधर दौड़ना बंद कर देता है। सिस्टम मेमोरी और समय की भारी बचत करता है, जिससे यह एक साथ अधिक लोगों को संभालने में सक्षम होता है।
2. "छंटनी की अराजकता" की समस्या (खोज की सुस्ती को हल करना)
समस्या: सबसे अच्छा सुझाव खोजने के लिए, लेखक कई संभावित अंत उत्पन्न करता है और उन्हें चुनने के लिए उनमें से छंटनी करता है। पुराने तरीके में, लेखक हर संभव अंत उत्पन्न करेगा, यहाँ तक कि वे भी जो मौजूद ही नहीं हैं (जैसे कि "12345" नामक एक किताब जो कि एक वास्तविक उत्पाद नहीं है), और फिर उन्हें फेंकने में समय बर्बाद करेगा। यह एक शेफ की तरह है जो 1,000 भोजन बनाता है, केवल यह महसूस करने के बाद कि 500 भोजन प्लास्टिक के बने हैं, और फिर उस प्लास्टिक को साफ करने में समय बिताता है।
xGR का समाधान:
- "वैलिड पाथ" (Valid Path) फ़िल्टर: लेखक के खाना बनाना शुरू करने से पहले ही, xGR उन्हें केवल वास्तविक सामग्री (असली उत्पाद) की एक सूची दे देता है। वे गलती से प्लास्टिक का भोजन नहीं बना सकते।
- "अर्ली स्टॉप" (Early Stop) नियम: लेखक भोजनों की छंटनी शुरू करता है। जैसे ही उसे एक ऐसा भोजन मिलता है जो उसके द्वारा पहले से खोजे गए सबसे अच्छे भोजन से स्पष्ट रूप से खराब है, वह तुरंत उस विशिष्ट विकल्प की जाँच करना बंद कर देता है। वह खराब विकल्पों की छंटनी पूरी करने में समय बर्बाद नहीं करता।
- परिणाम: शेफ नकली सामग्री पर समय बर्बाद करना बंद कर देता है और खराब व्यंजनों को बीच में ही चेक करना बंद कर देता है।
3. "असेंबली लाइन" की समस्या (शेड्यूलिंग देरी को हल करना)
समस्या: पुराने सिस्टम में, मैनेजर (शेड्यूलर) सामग्री तैयार करता था, उसे शेफ को सौंपता था, शेफ के खत्म करने का इंतज़ार करता था, और फिर अगले बैच की तैयारी करता था। हर कोई इंतज़ार करता रहता था। साथ ही, रसोई इतनी छोटी थी कि एक समय में केवल एक ही शेफ काम कर सकता था, भले ही कई शेफ उपलब्ध हों।
xGR का समाधान: xGR रसोई को एक हाई-स्पीड असेंबली लाइन में बदल देता है।
- ओवरलैपिंग वर्क (Overlapping Work): जबकि शेफ वर्तमान व्यंजन पका रहा होता है, मैनेजर पहले से ही अगले व्यंजन के लिए सामग्री तैयार कर रहा होता है। ये दोनों काम एक साथ होते हैं।
- मल्टी-स्ट्रीम कुकिंग (Multi-Stream Cooking): एक बड़े ऑर्डर पर एक शेफ के काम करने के बजाय, xGR काम को इस तरह विभाजित करता है कि कई शेफ एक-दूसरे से टकराए बिना एक साथ विभिन्न ऑर्डर्स के अलग-अलग हिस्सों को पका सकें।
- परिणाम: रसोई कभी रुकती नहीं है। ऑर्डर्स के बीच कोई प्रतीक्षा समय नहीं होता।
निष्कर्ष
पेपर ने एक बड़े ई-कॉमर्स प्लेटफॉर्म के वास्तविक डेटा पर xGR का परीक्षण किया। उन्होंने पाया कि सख्त समय सीमाओं के तहत (जहाँ सिस्टम को 200 मिलीसेकंड के भीतर जवाब देना होता है), xGR मौजूदा सर्वोत्तम सिस्टमों की तुलना में कम से कम 2.89 गुना तेज़ था।
इसने यह हासिल नहीं किया कि कंप्यूटर चिप्स को तेज़ बनाया गया, बल्कि यह करके किया कि काम कैसे किया जाता है: कहानी के साझा हिस्सों को साझा करके, असंभव विकल्पों को जल्दी से हटाकर, और यह सुनिश्चित करके कि किचन स्टाफ कभी खाली न बैठे। यह सिस्टम को व्यस्त खरीदारी के घंटों के दौरान भी करोड़ों उपयोगकर्ताओं को सुचारू रूप से सेवा देने में सक्षम बनाता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।