अक्सर माना जाता है कि स्पेकुलेटिव डिकोडिंग तेज़ है क्योंकि यह प्रति टोकन कम काम करती है। यह सच नहीं है। एक ही अनुक्रम के लिए कुल फ्लोटिंग पॉइंट ऑपरेशन (FLOPs) वास्तव में बढ़ जाते हैं। तेज़ी GPU द्वारा किए जाने वाले कार्य के प्रकार को बदलने से आती है।
एक-एक टोकन करके डिकोडिंग आमतौर पर मेमोरी-बाउंड होती है। हर टोकन के लिए, GPU को ग्लोबल मेमोरी से सभी सक्रिय मॉडल पैरामीटर, जैसे Qwen3.5-27B के 27B पैरामीटर, स्ट्रीम करने होते हैं। इस दौरान कंप्यूट का बड़ा हिस्सा निष्क्रिय रहता है। हज़ारों टोकन की बड़ी बैच डिकोडिंग इसके विपरीत है: यह कंप्यूट-बाउंड है, जिसमें GPU टेंसर ऑपरेशन में व्यस्त रहता है।
स्पेकुलेटिव डिकोडिंग एक छोटे ड्राफ्ट मॉडल का उपयोग करती है जो संभावित टोकन का एक क्रम प्रस्तावित करता है, जिसे फिर बड़ा मॉडल एक ही फॉरवर्ड पास में सत्यापित करता है। कम बैच आकार पर, यह अन्यथा बर्बाद होने वाले कंप्यूट को प्रगति में बदल देता है। पाँच अनुक्रमों को हर बार एक टोकन आगे बढ़ाने के बजाय, एक ही अनुक्रम एक बार में पाँच टोकन आगे बढ़ा सकता है, कुल कार्य समान रहता है।
इस तकनीक की सीमाएँ हैं। यदि स्वीकृति दर 100% से कम है, तो हर अस्वीकृत टोकन बर्बाद कार्य है। उच्च थ्रूपुट पर, जब GPU पहले से कंप्यूट-बाउंड हो, तो स्पेकुलेशन बिना लाभ के लागत जोड़ता है, इसीलिए vLLM इसे बंद करने के लिए --speculative-disable-by-batch-size सेटिंग प्रदान करता है।
स्रोत: Hacker News · HeadlinesBriefing द्वारा सारांशित