D-cut: Adaptive Verification Depth Pruning for Batched Speculative Decoding
D-Cut एक एडेप्टिव वेरिफिकेशन डेप्थ प्रूनिंग विधि है जो बैचड स्पेक्युलेटिव डिकोडिंग के लिए ड्राफ्ट कॉन्फिडेंस और रनटाइम कॉस्ट मॉडल्स के आधार पर समवर्ती अनुरोधों (कन्करेंट रिक्वेस्ट्स) के बीच वेरिफिकेशन बजट को गतिशील रूप से आवंटित करती है, जो अस्वीकृत टोकन पर होने वाली गणना की बर्बादी को रोकते हुए उच्च सह-अस्तित्व (हाई कन्करेंसी) के तहत इन्फरेंस स्पीडअप में महत्वपूर्ण सुधार करती है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक विशाल, हाई-स्पीड लाइब्रेरी चला रहे हैं जहाँ एक अकेला, अविश्वसनीय रूप से बुद्धिमान लाइब्रेरियन (AI) एक साथ हजारों लोगों के सवालों के जवाब देता है। यह लाइब्रेरियन बहुत प्रतिभाशाली है लेकिन एक बहुत ही विशिष्ट तरीके से काम करता है: वह केवल एक बार में एक शब्द ही लिख सकता है। एक जटिल सवाल का जवाब देने के लिए, उसे रुकना पड़ता है, सोचना पड़ता है, एक शब्द लिखना होता है, फिर से रुकना पड़ता है, सोचना पड़ता है, अगला शब्द लिखना होता है, और इसी तरह। यह "एक बार में एक शब्द" वाला नियम ही लाइब्रेरी में बैकअप होने का मुख्य कारण है; लाइब्रेरियन अपना अधिकांश समय बस अगले शब्द को शेल्फ से उठाने के इंतजार में बिता देता है।
काम को तेज करने के लिए, इंजीनियरों ने एक चतुर ट्रिक निकाली जिसे "स्पेक्युलेटिव डिकोडिंग" (speculative decoding) कहा जाता है। लाइब्रेरियन को एक बार में एक शब्द लिखने के बजाय, एक तेज़, थोड़ा कम बुद्धिमान सहायक (ड्राफ्टर/drafter) को कुछ शब्दों का अनुमान लगाने के लिए काम पर रखा जाता है। लाइब्रेरियन फिर इन अनुमानों की जल्दी से जांच करता है। यदि अनुमान सही हैं, तो वह उन सभी को एक साथ स्वीकार कर लेता है, जिससे "सोचना-रुकना-लिखना" वाला चक्र बच जाता है। यह ऐसा है जैसे सहायक चिल्लाकर कहता है, "'द', 'क्विक', और 'ब्राउन' अगले तीन शब्द होंगे!" और लाइब्रेरियन कहता है, "हाँ, तुम सही हो!" और आगे बढ़ जाता है। जब लाइब्रेरी शांत होती है, तो यह बहुत अच्छा काम करता है। लेकिन क्या होता है जब लाइब्रेरी में एक साथ 64 लोग चिल्ला रहे हों? सहायक सभी के लिए अनुमानों की एक लंबी सूची चिल्ला सकता है, लेकिन लाइब्रेरियन उन सभी को चेक करने की कोशिश में अभिभूत (overwhelmed) हो जाता है। यदि अनुमान गलत हैं, तो लाइब्रेरियन उन शब्दों को चेक करने में कीमती समय बर्बाद करता है जिन्हें फेंक दिया जाना था, जिससे पूरी लाइब्रेरी धीमी हो जाती है। यही वह पहेली है जिसे यह पेपर हल करता है: भीड़ बढ़ने पर भी स्पीड बूस्ट को कैसे बनाए रखें।
समस्या: बहुत अधिक अनुमान, पर्याप्त समय नहीं
टेन्सेंट हुनयुआन (Tencent Hunyuan) के शोधकर्ताओं ने सिस्टम में एक गड़बड़ी देखी। हाल ही में, नए सहायकों (जैसे कि 'डीफ्लैश' नाम का एक सहायक) को अनुमानों की लंबी सूचियाँ चिल्लाने में बहुत महारत हासिल हो गई है—मान लीजिए, एक बार में 15 शब्द। जब लाइब्रेरी खाली थी, तो यह एक सुपरपावर था; लाइब्रेरियन उनमें से अधिकांश को स्वीकार कर लेता था, और लाइब्रेरी सवालों को तेजी से निपटा लेती थी।
लेकिन जैसे-जैसे भीड़ बढ़ी (जब "बैच साइज" या एक साथ आने वाले अनुरोधों की संख्या बढ़ी), सिस्टम क्रैश होने लगा। सहायक अनुमानों की लंबी सूचियाँ चिल्लाता रहा, लेकिन लाइब्रेरियन, जो अब काम के बोझ से दबा हुआ था, उन सभी को जल्दी से चेक नहीं कर सका। बदतर यह कि, वे कई लंबी सूचियाँ गलत थीं। लाइब्रेरियन ने अपनी सारी ऊर्जा उन शब्दों को चेक करने में लगा दी जो अंततः बेकार निकले, और उन्हें खारिज कर दिया। यह एक व्यस्त कॉन्सर्ट में सुरक्षा गार्ड की तरह था जो कतार में खड़े 15 लोगों के आईडी चेक करता है, केवल यह महसूस करने के लिए कि उनमें से 10 नकली थे, जिससे वह समय बर्बाद हो गया जो असली प्रशंसकों को अंदर आने देने में लगाया जा सकता था। शोधकर्ताओं ने पाया कि उच्च भीड़ के समय, यह "लंबा अनुमान" लगाने वाला तरीका वास्तव में केवल एक बार में एक शब्द काम करने वाले मानक तरीके से भी धीमा हो गया।
समाधान: डी-कट (D-cut - द स्मार्ट बाउंसर)
इसे ठीक करने के लिए, टीम ने डी-कट (D-cut) नामक एक नई रणनीति प्रस्तावित की। डी-कट को एक सुपर-स्मार्ट बाउंसर के रूप में सोचें जो सहायक और लाइब्रेरियन के बीच खड़ा है।
सहायक को सभी के लिए अनुमानों की एक लंबी, निश्चित सूची चिल्लाने देने और फिर लाइब्रेरियन द्वारा उन सभी को चेक कराने के बजाय, डी-कट भीड़ और अनुमानों को वास्तविक समय (real-time) में देखता है। यह दो सरल प्रश्न पूछता है:
- सहायक कितना आश्वस्त (confident) है? यदि सहायक उच्च आत्मविश्वास के साथ चिल्ला रहा है, तो बाउंसर उन अनुमानों को जाने देता है। यदि सहायक हिचकिचा रहा है या अनिश्चित है, तो बाउंसर सूची को छोटा कर देता है।
- लाइब्रेरियन कितना थका हुआ है? बाउंसर लाइब्रेरियन के वर्तमान कार्यभार की जांच करता है। यदि लाइब्रेरियन काम से दबा हुआ है (जैसे कि एक व्यस्त GPU चिप पर), तो बाउंसर अधिक सख्त हो जाता है और अधिक अनुमानों को काट देता है। यदि लाइब्रेरियन तरोताजा और शक्तिशाली है (जैसे कि एक अलग, तेज़ चिप पर), तो बाउंसर अधिक अनुमानों को जाने देता है।
डी-कट केवल एक व्यक्ति के लिए सूची को नहीं काटता; यह अनुरोधों के पूरे बैच को देखता है। यह समझता है कि कुछ लोगों के लिए सहायक एक जीनियस है, जबकि दूसरों के लिए सहायक बेतरतीब ढंग से अनुमान लगा रहा है। इसलिए, डी-कट "सत्यापन बजट" (वह समय जो लाइब्रेरियन को चेक करने के लिए मिलता है) को लेता है और उसे उन लोगों को देता जिनके सही होने की संभावना सबसे अधिक है। यह अनिश्चित अनुरोधों के कम-आत्मविश्वास वाले, लंबे अनुमानों को छाँट (prune) देता है और लाइब्रेरियन की ऊर्जा को उच्च-आत्मविश्वास वाले हिस्सों पर केंद्रित करता है।
यह असल दुनिया में कैसे काम करता है
शोधकर्ताओं ने विभिन्न AI मॉडलों पर, छोटे से लेकर विशाल तक, और विभिन्न प्रकार के कंप्यूटर चिप्स पर इस विचार का परीक्षण किया। उन्होंने पाया कि व्यस्त समय के लिए डी-कट एक गेम-चेंजर था:
- उच्च भीड़ में बचाव करना: जब अनुरोधों की संख्या अधिक थी (जैसे एक साथ 64 लोग), तो पुराना तरीका (डीफ्लैश) अक्सर इतना धीमा हो गया कि यह वास्तव में मानक "एक बार में एक शब्द" वाले तरीके से भी धीमा था। डी-कट ने इसे ठीक कर दिया। इसने भीड़ होने पर भी स्पीडअप को जीवित रखा।
- आंकड़े: उनके परीक्षणों में, डी-कट ने उच्च लोड के तहत औसत गति को मानक विधि की तुलना में 1.26 गुना से बढ़ाकर 1.65 गुना कर दिया। कुछ विशिष्ट, बहुत बड़े मॉडलों पर, यह 3.0 गुना तक भी पहुँच गया।
- हार्डवेयर के अनुकूल होना: डी-कट की सबसे शानदार विशेषताओं में से एक यह है कि यह भीड़ आने से पहले ही सीख लेता है कि लाइब्रेरियन कितना तेज़ है। यह कंप्यूटर चिप (जैसे H20 या H800 GPU) का प्रोफाइल बनाता है कि एक शब्द को चेक करना कितना महंगा है। यदि एक शब्द को चेक करना महंगा है (जैसे कि एक धीमी चिप पर), तो डी-कट अधिक आक्रामक रूप से कटौती करता है। यदि यह सस्ता है, तो यह कम कटौती करता है। इसका मतलब है कि इसे हर नए कंप्यूटर के लिए ट्यून करने के लिए किसी इंसान की जरूरत नहीं है; यह इसे स्वचालित रूप से समझ लेता है।
यह क्या नहीं करता (और यह क्या खारिज करता है)
यह जानना महत्वपूर्ण है कि डी-कट क्या नहीं है। यह सहायक को स्मार्ट बनाने या लाइब्रेरियन के सोचने के तरीके को बदलने की कोशिश नहीं करता है। यह AI द्वारा दिए जाने वाले अंतिम उत्तरों को नहीं बदलता है; आउटपुट बिल्कुल वैसा ही रहता है जैसा कि लाइब्रेरियन ने सब कुछ चेक किया होता, बस यह बहुत तेज़ी से पहुँचता है।
पेपर स्पष्ट रूप से इस विचार के विरुद्ध तर्क देता है कि "लंबा होना हमेशा बेहतर होता है।" उन्होंने दिखाया कि भीड़ बढ़ने पर अनुमानों की लंबी सूचियाँ (जैसे डीफ्लैश में 15-शब्दों के ब्लॉक) बनाना एक बुरा विचार है। "एक ही आकार सबके लिए" (one size fits all) वाला दृष्टिकोण, जिसमें सभी के लिए अनुमानों की समान संख्या की जाँच की जाती है, विफल हो जाता है क्योंकि हर किसी को समान जाँच की आवश्यकता नहीं होती है। डी-कट साबित करता है कि व्यापक होने के बजाय चयनात्मक होना बेहतर है।
निष्कर्ष
शोधकर्ताओं ने केवल यह सुझाव नहीं दिया कि यह काम कर सकता है; उन्होंने इसे मापा। उन्होंने हजारों अनुरोधों के साथ वास्तविक सर्वरों पर सिमुलेशन और वास्तविक दुनिया के परीक्षण चलाए। परिणामों ने दिखाया कि एक स्मार्ट, एडेप्टिव बाउंसर बनकर जो कम-आत्मविश्वास वाले अनुमानों को काटता है और उच्च-आत्मविश्वास वाले अनुमानों पर ध्यान केंद्रित करता है, डी-कट AI लाइब्रेरी को भीड़ होने पर भी तेज़ रखता है। यह एक ऐसे सिस्टम को जो अन्यथा धीमा हो जाता, उसे कुशल बनाए रखता है, यह साबित करते हुए कि कभी-कभी, तेज़ जाने का सबसे अच्छा तरीका उन चीजों को चेक करना बंद करना है जिन्हें आप जानते हैं कि वे गलत हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।