LLM Serving Optimization with Variable Prefill and Decode Lengths
यह शोध पत्र विषम अनुरोध लंबाई (heterogeneous request lengths) के साथ निश्चित KV-कैश बाधाओं (fixed KV-cache constraints) के तहत ऑफलाइन LLM सर्विंग शेड्यूलिंग की NP-हार्ड समस्या को संबोधित करने के लिए सॉर्टेड-F (Sorted-F) एल्गोरिदम का प्रस्ताव देता है, जो एक स्थिर-कारक सन्निकटन गारंटी (constant-factor approximation guarantee) प्राप्त करता है और मानक बेसलाइन की तुलना में एंड-टू-एंड विलंबता (end-to-end latency) को काफी कम करता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक बहुत ही व्यस्त, हाई-टेक किचन (AI सर्वर) के मैनेजर हैं। आपका काम ग्राहकों (यूजर्स) के लिए जितनी जल्दी हो सके उतनी जल्दी भोजन बनाना (जवाब जेनरेट करना) है।
इस किचन में, हर भोजन के दो भाग हैं:
- तैयारी का काम (Prefill): रेसिपी को पढ़ना और सामग्री को काटना। यह तुरंत काउंटर की जगह घेर लेता है।
- पकाना (Decode): वास्तव में व्यंजन को पकाना। यह स्टेप-बाय-स्टेप होता है, और जैसे-जैसे आप पकाते हैं, आप बर्तन को चूल्हे पर रखते रहते हैं, जो जगह घेरता रहता है।
बड़ी समस्या यह है कि आपके किचन में काउंटर की जगह निश्चित है (KV-कैश मेमोरी)। आप हर ऑर्डर को एक साथ काउंटर पर नहीं रख सकते; आपको तय करना होगा कि किसे जगह दी जाए और कब।
पुराना तरीका बनाम नई समस्या
पहले, शोधकर्ता मानते थे कि सभी रेसिपी लगभग एक ही आकार की होती हैं। यदि सभी की तैयारी और पकाने का समय समान होता, तो सबसे अच्छी रणनीति सरल होती: "शॉर्टेस्ट जॉब फर्स्ट" (सबसे छोटा काम पहले)। आप काउंटर खाली करने के लिए जल्दी बनने वाले भोजन पहले पकाते।
लेकिन वास्तविक दुनिया में, ऑर्डर्स बिखरे हुए होते हैं।
- ऑर्डर A: एक छोटी रेसिपी (कम तैयारी) लेकिन इसे पकने में बहुत समय लगता है (लंबा कुकिंग टाइम)। यह कम जगह लेता है लेकिन लंबे समय तक चूल्हे पर बना रहता है।
- ऑर्डर B: एक विशाल रेसिपी (बहुत बड़ी तैयारी) लेकिन यह सेकंडों में पक जाती है (छोटा कुकिंग टाइम)। यह तुरंत काउंटर पर कब्जा कर लेती है लेकिन जल्दी खाली हो जाती है।
पेपर दिखाता है कि यदि आप इस अस्त-व्यस्त वातावरण में पुराने "शॉर्टेस्ट जॉब फर्स्ट" नियम पर टिके रहते हैं, तो आप एक बहुत बड़ी गलती कर सकते हैं। आप ऑर्डर A को चुन सकते हैं क्योंकि यह "छोटा" है, लेकिन यह काउंटर को लंबे समय तक ब्लॉक कर देता है, जिससे आप जल्दी खत्म होने वाले, अधिक जगह घेरने वाले ऑर्डर B को संभालने से रोक देता है। लेखक सिद्ध करते हैं कि यह पुराना तरीका बहुत खराब प्रदर्शन कर सकता है—गणितीय रूप से, इसका प्रदर्शन सबसे अच्छे संभावित शेड्यूल की तुलना में अनंत गुना बदतर हो सकता है।
समाधान: "F-मेट्रिक"
लेखक एक नया शेड्यूलिंग एल्गोरिदम प्रस्तावित करते हैं जिसे Sorted-F कहा जाता है। केवल यह देखने के बजाय कि खाना पकाने में कितना समय लगता है, यह एक नए स्कोर का उपयोग करता है जिसे F-मेट्रिक कहा जाता है।
F-मेट्रिक को एक "थ्रूपुट डेंसिटी" (Throughput Density) स्कोर के रूप में समझें। यह पूछता है: "उपलब्ध काउंटर स्पेस का उपयोग करते हुए हम प्रति इकाई समय में कितने भोजन तैयार कर सकते हैं?"
- यह बैच साइज (हम एक साथ कितने ऑर्डर काउंटर पर फिट कर सकते हैं) और कुकिंग टाइम (वे वहां कितनी देर तक रहते हैं) के बीच संतुलन बनाता है।
- यह उन बैचों को प्राथमिकता देता है जो "कुशल" (efficient) हैं—यानी, वे उपलब्ध स्थान में बहुत सारा काम पैक करते हैं बिना किचन को बहुत लंबे समय तक जाम किए।
यह क्यों काम करता है
लेखक सिद्ध करते हैं कि यह नया तरीका गणितीय रूप से मजबूत है। सबसे खराब स्थितियों में भी, Sorted-F कभी भी पूर्णतः आदर्श शेड्यूल (जिसे गणना करना वास्तविक समय में बहुत जटिल है) से 48 गुना से अधिक खराब नहीं होगा। व्यवहार में, यह उससे कहीं बेहतर प्रदर्शन करता है, अक्सर सैद्धांतिक सर्वश्रेष्ठ के बहुत करीब होता है।
वास्तविक परीक्षण
उन्होंने वास्तविक डेटा पर इसका परीक्षण किया, जिसमें छोटे चैट संदेशों और लंबे दस्तावेज़ सारांशों का मिश्रण था।
- परिणाम: Sorted-F पुराने तरीकों की तुलना में काफी तेज़ था।
- अंतर्दृष्टि: सबसे बड़े लाभ तब हुए जब वर्कलोड मिश्रित था (कुछ छोटे, कुछ लंबे) और किचन लगभग भरा हुआ था। यदि सभी के ऑर्डर समान थे, तो पुराने तरीके ठीक थे। लेकिन जब ऑर्डर्स में बहुत अधिक भिन्नता थी, तो Sorted-F चमक उठा।
व्यावहारिक बदलाव
चूंकि हजारों ऑर्डर्स के लिए सटीक "F-मेट्रिक" बैच की गणना करना कठिन है, इसलिए उन्होंने विभिन्न स्थितियों के लिए सरल, तेज़ संस्करण भी प्रदान किए:
- सटीक विधि (Exact Method): छोटे बैचों के लिए, सटीक स्कोर की गणना करें।
- लोकल स्वैप (Local Swap): मध्यम बैचों के लिए, एक अच्छा अनुमान लगाएं और फिर सुधार के लिए ऑर्डर्स को इधर-उधर बदलें।
- क्वांटाइल ग्रीडी (Quantile Greedy): बहुत बड़े बैचों के लिए, सबसे अच्छे उम्मीदवारों को चुनने के लिए एक त्वरित सांख्यिकीय शॉर्टकट का उपयोग करें।
उन्होंने इस तथ्य को भी संबोधित किया कि हमें हमेशा यह पता नहीं होता कि उत्तर कितना लंबा होगा। उन्होंने एक "सेफ्टी वाल्व" सिस्टम को एकीकृत किया जो एक आशावादी अनुमान के साथ शुरू होता है लेकिन वास्तविक समय में समायोजित होता है यदि कोई उत्तर उम्मीद से लंबा निकलता है, जिससे जगह बनाने के लिए कम कुशल ऑर्डर्स को बाहर निकाला जा सके।
मुख्य निष्कर्ष
यह पेपर कहता है: केवल यह न देखें कि AI का उत्तर लिखने में कितना समय लगता है। यह भी देखें कि लिखते समय वह कितनी मेमोरी का उपयोग करता है। "प्रेप स्पेस" और "कुकिंग टाइम" को F-मेट्रिक के साथ संतुलित करके, AI सर्वर मिश्रित वर्कलोड को बहुत अधिक कुशलता से संभाल सकते हैं, जिससे सभी के लिए प्रतीक्षा समय कम हो जाता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।