Not All Tokens Are Worth Caching: Learning Semantic-Aware Eviction for LLM Prefix Caches
यह शोध पत्र SAECache को प्रस्तुत करता है, जो एक सिमेंटिक-एडेप्टिव प्रिफिक्स कैश इविक्शन पॉलिसी है जो मल्टी-क्यू आर्किटेक्चर और ऑनलाइन लर्निंग के माध्यम से विभिन्न टोकन प्रकारों के बदलते पुनरुपयोग मूल्यों (reuse values) का लाभ उठाकर मैन्युअल पैरामीटर ट्यूनिंग की आवश्यकता को समाप्त करते हुए LLM सर्विंग दक्षता में महत्वपूर्ण सुधार करता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक बहुत ही व्यस्त, उच्च श्रेणी की कॉफी शॉप चला रहे हैं (जिसे Large Language Model या LLM कहा जाता है) जो हर दिन लाखों ग्राहकों को सेवा देती है। कॉफी जल्दी बनाने के लिए, आपके पास एक विशेष "मेमोरी शेल्फ" (जिसे GPU Memory कहा जाता है) है जहाँ आप उन पहले से तैयार सामग्रियों और निर्देशों को रखते हैं जिन्हें आपने पहले ही शुरू कर दिया है। इसे Prefix Caching कहा जाता है।
यदि कोई नया ग्राहक एक लैटे का ऑर्डर देता है जो पिछले ऑर्डर से 90% समान है, तो आपको नए बीन्स पीसने या दूध स्टीम करने की आवश्यकता नहीं है; आप बस शेल्फ से बना-बनाया आधार (base) उठा सकते हैं। यह पहली घूँट (First Token) को लगभग तुरंत उपलब्ध करा देता है।
हालाँकि, आपका शेल्फ बहुत छोटा है। आप हर बनी-बनाई चीज़ को हमेशा के लिए नहीं रख सकते। अंततः, आपको नई चीज़ों के लिए जगह बनाने के लिए कुछ चीज़ों को फेंकना ही पड़ेगा। यह Eviction Policy है।
समस्या: "एक ही आकार सबके लिए" वाली गलती
लंबे समय तक, कॉफी शॉप मैनेजर एक सरल नियम का उपयोग करते थे: "जो चीज़ सबसे पुरानी है, उसे पहले फेंको।" (यह LRU पॉलिसी है)।
यह तर्क देता है कि यह एक बुरा विचार है क्योंकि शेल्फ पर रखी सभी चीज़ें समान रूप से मूल्यवान नहीं होती हैं।
- System Prompt: कल्पना कीजिए कि एक "मानक मेनू" (Standard Menu) है जिसे हर ग्राहक देखता है। यह कभी नहीं बदलता। यह अविश्वसनीय रूप से मूल्यवान है क्योंकि हर कोई इसे ऑर्डर करता है।
- Chain-of-Thought: कल्पना कीजिए कि एक ग्राहक की अपनी आंतरिक बातचीत है कि वह लैटे क्यों चाहता है। यह उस एक व्यक्ति और उस एक क्षण के लिए अद्वितीय है। यह अगले ग्राहक के लिए शायद ही कभी उपयोगी होगा।
पुराना नियम "मानक मेनू" और "आंतरिक बातचीत" (Messy Monologue) दोनों के साथ एक जैसा व्यवहार करता था। यदि "आंतरिक बातचीत" "मेनू" से थोड़ी नई थी, तो पुराने नियम के तहत मेनू को हटा दिया जाता था ताकि उस बातचीत के लिए जगह बनाई जा सके। यह एक आपदा है क्योंकि अगले ग्राहक को तुरंत मेनू की आवश्यकता होगी, लेकिन वह बातचीत उनके लिए बेकार है।
समाधान: SAECache (स्मार्ट मैनेजर)
लेखकों ने एक नया सिस्टम बनाया जिसे SAECache कहा जाता है। इसे एक स्मार्ट मैनेजर के रूप में सोचें जो केवल यह नहीं देखता कि किसी चीज़ को आखिरी बार कब छुआ गया था, बल्कि यह भी देखता है कि वह चीज़ वास्तव में क्या है।
यह इस प्रकार काम करता है, सरल उपमाओं का उपयोग करते हुए:
1. चार विशिष्ट बिन (Multi-Queue Architecture)
एक बड़े शेल्फ के बजाय, SAECache शेल्फ को चार अलग-अलग बिनों में व्यवस्थित करता है, जिनमें से प्रत्येक के अपने नियम हैं:
- "कचरा" (Trash) बिन: इसमें वे चीज़ें होती हैं जिनका पुन: उपयोग लगभग कभी नहीं होता (जैसे कि आंतरिक मोनोलॉग या ड्रिंक के अंतिम चरण)। इन्हें सबसे पहले फेंका जाता है।
- "टेम्प्लेट" (Template) बिन: इसमें मानक निर्देश और सिस्टम प्रॉम्प्ट (जैसे मेनू) रखे जाते हैं। इन्हें बहुत सावधानी से रखा जाता है क्योंकि इनका बार-बार उपयोग होता है।
- "चैट" (Chat) बिन: इसमें वे बातचीत रखी जाती हैं जहाँ लोग आपस में बात करते हैं।
- "एजेंट" (Agent) बिन: इसमें जटिल कार्य रखे जाते हैं जहाँ AI काम कर रहा होता है (जैसे कोडिंग या टूल्स का उपयोग करना)।
2. "वैल्यू स्कोर" (Semantic-Aware Weighting)
मैनेजर केवल अनुमान नहीं लगाता कि कौन सा बिन महत्वपूर्ण है। वह सीखता है!
- यदि मैनेजर एक "सिस्टम प्रॉम्प्ट" को फेंकता है और फिर तुरंत उसके लिए फिर से पूछा जाता है, तो सिस्टम सीखता है: "ओह! मैंने कुछ मूल्यवान फेंक दिया। मुझे अगली बार सिस्टम प्रॉम्प्ट को अधिक स्कोर देना चाहिए।"
- यदि यह एक "चेन-ऑफ-थॉट" को फेंकता है और फिर कोई इसके लिए नहीं पूछता, तो यह सीखता है: "अच्छा काम! वह कचरा था। मैं इसे कम स्कोर देना जारी रखूँगा।"
यह स्वचालित रूप से होता है, जैसे एक मैनेजर ग्राहकों द्वारा वास्तव में क्या खरीदा जा रहा है, उसके आधार पर शेल्फ को समायोजित करता है, बिना किसी इंसान को यह बताने की आवश्यकता के कि क्या करना है।
3. "टाइम मशीन" (Adaptive Timing)
यह सिस्टम यह भी सीखता है कि लोग कब वापस आते हैं।
- चैट सत्रों में लंबे अंतराल हो सकते हैं (जैसे ग्राहक का कॉफी ब्रेक लेना)।
- एजेंट सत्र बहुत तेज़ और भागदौड़ वाले हो सकते हैं।
सिस्टम प्रत्येक प्रकार के सत्र की विशिष्ट "धड़कन" (heartbeat) को सीखता है। वह जानता है कि यदि एक चैट सत्र 10 मिनट तक वापस नहीं आता है, तो वह शायद हमेशा के लिए चला गया है। लेकिन यदि एक एजेंट सत्र 10 सेकंड तक वापस नहीं आता है, तो वह शायद अभी सोच ही रहा है। यह ट्रैफ़िक की लय के साथ तालमेल बिठाने के लिए वास्तविक समय में अपने निष्कासन (eviction) नियमों को समायोजित करता है।
परिणाम: तेज़ कॉफी, कम बर्बादी
नए मैनेजर का परीक्षण पुराने "सबसे पुराने-पहले" नियम और अन्य स्मार्ट-लेकिन-कठोर प्रणालियों के विरुद्ध किया गया।
- गति: इस नए सिस्टम ने व्यस्त, मिश्रित वातावरण में कॉफी की पहली घूँट को 1.4 से 2.7 गुना तेज़ बना दिया।
- अनुकूलन क्षमता: पुराने सिस्टम टूट जाते थे जब ग्राहकों के प्रकार बदल जाते थे (उदाहरण के लिए, यदि दुकान में अचानक चैटर्स के बजाय एकल-ऑर्डर वाले ग्राहक बढ़ जाते)। नया सिस्टम तुरंत अनुकूलित हो जाता है।
- दक्षता: इसने "कचरे" (जैसे आंतरिक मोनोलॉग) को जमा न करके और मूल्यवान चीज़ों (जैसे मेनू) को सुरक्षित रखकर मेमोरी की भारी मात्रा में "बर्बादी" को बचाया।
सारांश
संक्षेप में, पेपर कहता है: सभी मेमोरी ब्लॉक्स के साथ एक जैसा व्यवहार न करें। सिर्फ इसलिए कि दो चीज़ों को एक ही समय में छुआ गया था, इसका मतलब यह नहीं है कि वे समान रूप से उपयोगी हैं। कंप्यूटर को डेटा के अर्थ (क्या यह एक मेनू है? क्या यह एक मज़ाक है? क्या यह एक टूल है?) को समझने के लिए सिखाकर और उसे वास्तविक समय में अपनी गलतियों से सीखने देकर, हम AI को बहुत तेज़ और अधिक कुशल बना सकते हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।