Phase 17: Infrastructure & Production

उत्पादन में अनुमानित डिकोडिंग

अनुमानित डिकोडिंग लक्ष्य मॉडल के साथ एक त्वरित ड्राफ्ट मॉडल को जोड़ती है। मसौदा में K टोकन प्रस्तावित हैं; लक्ष्य एक ही फॉरवर्ड में सत्यापित होता है; स्वीकार किए गए टोकन मुफ्त हैं। 2026 में, EAGLE-3 उत्पादन-ग्रेड संस्करण है यह कच्चे टोकन के बजाय लक्ष्य मॉडल की छिपी हुई स्थितियों पर एक ड्राफ्ट हेड को प्रशिक्षित करता है, जिससे सामान्य चैट पर स्वीकृति दर अल्फा 0.6-0.8 बैंड में धकेल दी जाती है। सही सवाल यह नहीं है कि "ड्राफ्ट कितनी तेज़ है" बल्कि "मेरे ट्रैफ़िक पर अल्फा क्या है?" अगर अल्फा ~ 0.55 से नीचे गिर जाता है, तो उच्च समवर्तीता पर अनुमानित डिकोडिंग शुद्ध नकारात्मक है क्योंकि प्रत्येक अस्वीकृत ड्राफ्ट को एक दूसरा लक्ष्य आगे पारित करने की लागत होती है। यह सबक आपको पहले अल्फा को मापने और दूसरे पर ध्वज को फ्लिप करने सिखाता है।

Type: Learn

Languages: Python (stdlib, toy acceptance-rate simulator)

Prerequisites: Phase 17 · 04 (Serving Engine Internals), Phase 10 · 18 (Multi-Token Prediction)

Time: ~60 minutes

सीखने के लक्ष्य

  • अनुमानित डिकोडिंग की तीन पीढ़ियों का नाम बताइए और बताएं कि ईगल-3 में ईगल-2 और क्लासिक ड्राफ्ट मॉडल से क्या बदलाव हैं।
  • स्वीकार्यता दर अल्फा को परिभाषित करें, अल्फा और के (ड्राफ्ट लंबाई) से अपेक्षित गति गणना करें, और अपने लक्ष्य समवर्ती के लिए ब्रेक-ईव अल्फा की पहचान करें।
  • बताएं कि vLLM 2026 में अनुमानित डिकोडिंग ऑप्ट-इन (डीफ़ॉल्ट नहीं) क्यों है और अल्फा माप किए बिना इसे चालू करना उत्पादन विरोधी पैटर्न क्यों है।
  • एक माप योजना लिखेंः कौन सा बेंचमार्क, कौन सा वितरण, कौन सा समवर्ती बिंदु, कौन सा मीट्रिक पर प्रवेश करना है।

समस्या

डिकोडिंग मेमोरी-बाउंड है। Llama 3.3 70B FP8 चलाने वाले H100 पर, प्रत्येक डिकोड किए गए टोकन ~ 140 GB / s वजन को पढ़ता है और एक टोकन जारी करता है। डीकोडिंग के दौरान GPU गणना लगभग निष्क्रिय है।

अनुमानित डिकोडिंग अंतर का लाभ उठाती है। एक सस्ते ड्राफ्ट मॉडल के साथ K उम्मीदवार टोकन उत्पन्न करें, फिर लक्ष्य मॉडल से एक एकल फॉरवर्ड पास में सभी K को सत्यापित करने के लिए कहें। प्रत्येक सत्यापित टोकन प्रभावी रूप से मुफ्त है (के-फॉरवर्ड के बैच में कटौती लक्ष्य को वैसे भी करना होगा) ।

क्लासिक ड्राफ्ट मॉडल दृष्टिकोण उसी परिवार के एक छोटे मॉडल का उपयोग करता है (Llama 3.2 1B के लिए Llama 3.3 70B के लिए ड्राफ्टिंग) । यह काम करता है लेकिन स्वीकृति दर मध्यम है छोटे मॉडल वितरण लक्ष्य से भिन्न होता है। ईगल, फिर ईगल-2, फिर ईगल-3 लक्ष्य मॉडल के आंतरिक राज्यों पर सीधे एक हल्के ड्राफ्ट सिर को प्रशिक्षित करता है, इसलिए ड्राफ्ट का वितरण लक्ष्य को बहुत अधिक करीब से ट्रैक करता है। यही कारण है कि अल्फा 0.4 से ड्राफ्ट मॉडल के साथ 0.6-0.8 तक जाता है।

पकड़ः ईगल-3 vLLM 2026 में ऑप्ट-इन है।speculative_configजो टीमें इसे अपने वास्तविक ट्रैफ़िक पर अल्फा मापने के बिना चालू करती हैं, वे अक्सर देखती हैं कि टेल लेटेन्सी खराब होती है, बेहतर नहीं होती है।

अवधारणा

क्या अनुमानित डिकोडिंग वास्तव में खरीदता है

बिना स्पेसिफिकेशन डिकोड के, प्रति टोकन लागत एक लक्ष्य आगे है। ड्राफ्ट लंबाई के साथ स्पेसिफिकेशन डिकोड और स्वीकृति अल्फा, प्रति लक्ष्य आगे के अपेक्षित टोकन 1 + K alpha. . गति है(1 + K alpha) / (1 + epsilon)जहां epsilon के लिए ड्राफ्ट प्लस सत्यापन ओवरहेड है। के लिए =5, अल्फा =0.7: (1 + 5*0.7) / (1 + 0.1) = 4.5 / 1.1 = 4.1xवास्तविक दुनिया के संख्याओं 2-3 गुना के आसपास क्लस्टर क्योंकि अल्फा उत्पादन यातायात पर शायद ही कभी इतना उच्च है और epsilon उच्च बैच आकार में बढ़ता है।

क्यों अल्फा एकमात्र मीट्रिक है जो मायने रखता है

अस्वीकृत टोकन गायब नहीं होते वे पहले अस्वीकृत टोकन के लिए दूसरे लक्ष्य को आगे बढ़ाते हैं। एक कार्यभार पर जहां अल्फा 0.4 तक गिरता है, आप ड्राफ्ट ओवरहेड प्लस सत्यापन प्लस पुनः रोल भुगतान करते हैं। उच्च समवर्ती (कहें 256 समवर्ती) पर, डिकोड बैच पहले से ही पर्याप्त बड़ा है कि "केवल लक्ष्य" और "सत्यापित के साथ लक्ष्य" के बीच मेमोरी-बैंडविड्थ अंतर कम हो जाता है। 2026 हार्डवेयर पर अल्फा 0.55 से नीचे, विनिर्देश डिकोड शुद्ध नकारात्मक है।

अल्फा वर्कलोड के आधार पर भिन्न होता है। ShareGPT-style general chat पर, ShareGPT पर प्रशिक्षित EAGLE-3 0.6-0.8 तक पहुंचता है। डोमेन-विशिष्ट ट्रैफ़िक (कोड, चिकित्सा, कानूनी) पर सामान्य डेटा पर प्रशिक्षित ड्राफ्ट हेड 0.4-0.6 तक गिरता है। डोमेन-विशिष्ट ड्राफ्ट हेड को प्रशिक्षित करना लक्ष्य फाइनट्यूनिंग की तुलना में हल्का, त्वरित प्रशिक्षण कार्य है।

एक नज़र में ईगल पीढ़ी

  • Classic draft model: एक ही परिवार के छोटे मॉडल। अल्फा 0.3-0.5। बुनियादी ढांचा सरल दो मॉडल लोड, ड्राफ्ट रन K आगे प्रति लक्ष्य आगे।
  • EAGLE-1 (2024): लक्ष्य छिपे हुए राज्यों (अंतिम परत) पर प्रशिक्षित एकल ड्राफ्ट सिर। अल्फा ~ 0.5-0.6। लक्ष्य के ऊपर छोटे पैरामीटर ओवरहेड।
  • EAGLE-2 (2025): अनुकूलन ड्राफ्ट लंबाई और पेड़ आधारित ड्राफ्ट (एक लक्ष्य पास में कई शाखाओं की जांच करें) अल्फा ~ 0.6-0.7। अधिक जटिल ड्राफ्ट शेड्यूलर।
  • EAGLE-3 (2025-2026): मसौदा सिर कई लक्ष्य परतों पर प्रशिक्षित (न केवल अंतिम), बेहतर संरेखण। अल्फा ~ 0.6-0.8 सामान्य चैट पर।

2026 उत्पादन नुस्खा

  1. लक्षित मॉडल सादा जहाज। लक्ष्य समवर्तीता पर बेसलाइन टीटीएफटी, आईटीएल, पारगमन मापें।
  2. vLLM के माध्यम से EAGLE-3 मसौदा को सक्षम करें speculative_config. बेंचमार्क को फिर से चलाएं.
  3. लॉग स्वीकृति दर अल्फा. vLLM V1 यह रिपोर्ट करता है spec_decode_metrics.accepted_tokens_per_requestअल्फा प्राप्त करने के लिए अनुरोधित ड्राफ्ट लंबाई से विभाजित करें।
  4. यदि उत्पादन यातायात वितरण पर अल्फा < 0.55 है, तो विशिष्टता को डीकोड करना अक्षम करें या डोमेन-विशिष्ट EAGLE-3 ड्राफ्ट को प्रशिक्षित करें।
  5. उत्पादन समवर्ती, फिर से चलाओ। पुष्टि P99 ITL बुरा नहीं हुआ।

उत्पादन की बाधाः P99 पूंछ

सामान्य रूप से, आईटीएल विशिष्टता डिकोड के साथ गिरता है। यदि आप ट्यून नहीं करते हैं तो पी 99 खराब हो सकता है। अस्वीकृत ड्राफ्ट दो-पास अनुक्रम (ड्राफ्ट + सत्यापित-विफल + पुनः रोल) को ट्रिगर करते हैं। पूर्ण बैच के तहत, वे दो पास क्रमबद्ध होते हैं। पी 99 आईटीएल देखें, पी 50 नहीं।

जहां ईगल-3 पहले से ही तैनात है

गूगल ने 2025 में एआई ओवरव्यू में अनुमानित डिकोडिंग (एक ही गुणवत्ता, तेजी से प्रतिक्रिया) तैनात की। vLLM V1 जहाज speculative_configSGLang EAGLE-3 को प्रीफिक्स-भारी कार्यभार के लिए अनुशंसित मसौदा पथ के रूप में समर्थन करता है।

एक पंक्ति में गणित को तोड़-तोड़

अपेक्षित गति: S(alpha, K) = (1 + K*alpha) / (1 + verify_overhead). सेट करनाS = 1अल्फा के लिए हल करता हैः alpha_breakeven = verify_overhead / K. सामान्य सत्यापन_ओवरहेड के लिए ~0.15 और K=5: alpha_breakeven = 0.03लेकिन यह कच्चे डिकोड गणित है। उच्च समवर्ती पर सत्यापित ओवरहेड बढ़ता है और डिकोड बैच पहले से ही अनुक्रमों के माध्यम से स्मृति रीड्स को कम करता है, इसलिए प्रभावी अल्फा_ब्रेकईव अभ्यास में ~0.45-0.55 तक बढ़ जाता है।

अनुमानित डिकोडिंग का उपयोग कब नहीं करना चाहिए

  • बैच-1 ऑफ़लाइन पीढ़ी जहां विलंबता कोई फर्क नहीं पड़ता. सादे लक्ष्य का उपयोग करें.
  • बहुत कम आउटपुट (50 टोकन से कम) । ड्राफ्ट ओवरहेड और सत्यापन लागत प्रमुख है।
  • डोमेन प्रशिक्षित ड्राफ्ट प्रमुख के बिना विशेष डोमेन. अल्फा बहुत कम है.
  • मान लीजिए कि प्रत्येक फीचर जोड़ी को शामिल किया गया है. अपने संस्करण के लिए vLLM संगतता मैट्रिक्स की जाँच करेंः v0.18.0 टुकड़े प्रीफिल के साथ संगत अनुमानित डिकोडिंग चिह्नित करता है।

इसका प्रयोग करें

code/main.pyयह अल्फा मानों और ड्राफ्ट लंबाई के दायरे पर एक अनुमानित डिकोडिंग के साथ और बिना एक डिकोडिंग लूप का अनुकरण करता है। यह ब्रेक-ईव अल्फा, मापा गया स्पीडअप और पूंछ व्यवहार प्रिंट करता है। यह देखने के लिए इसे कई (अल्फा, K) संयोजनों पर चलाएं कि अनुमानित डिकोडिंग कहां भुगतान करना बंद कर देता है।

इसे भेजें

यह सबक हमें फल देता हैoutputs/skill-eagle3-rollout.md. एक लक्ष्य मॉडल, यातायात वितरण विवरण और समवर्ती लक्ष्य को देखते हुए, यह एक चरणबद्ध EAGLE-3 रोलआउट योजना बेंचमार्क बेसलाइन उत्पन्न करता है, कॉन्फ़िग, माप अल्फा, गेट पर अल्फा >= 0.55, P99 ITL देखें सक्षम करें।

व्यायाम

  1. दौड़ेंcode/main.py. K=5 पर आप 2x गति के लिए क्या अल्फा की जरूरत है? 3x गति के लिए? कितना संवेदनशील है कि सत्यापित करने के लिए_ओवरहेड?
  2. कल्पना कीजिए उत्पादन यातायात 70% सामान्य चैट, 30% कोड विभाजित करता है। सामान्य चैट शेयरजीपीटी पर प्रशिक्षित ईजीएलई -3 के साथ अल्फा 0.7 पर पहुंचता है; कोड अल्फा 0.4 पर पहुंचता है। मिश्रित अल्फा क्या है और क्या स्पेसिफिकेशन डिकोड नेट-पॉजिटिव है?
  3. VLLM पढ़ें speculative_configदस्तावेज. तीन मोड (ड्राफ्ट मॉडल, ईजीएलई, एन-ग्राम) का नाम दें और जांचें कि प्रत्येक संस्करण आपके वीएलएलएम संस्करण में किस सुविधाओं के साथ बना है।
  4. आप देखते हैं कि ईजीएलई-3 को सक्षम करने के बाद औसत आईटीएल 25% गिर गया है लेकिन पी 99 आईटीएल 15% बढ़ गया है। निदान करें और एक कम करने का प्रस्ताव करें।
  5. Llama 3.3 70B के लिए EAGLE-3 ड्राफ्ट हेड की मेमोरी लागत की गणना करें। यह क्लासिक ड्राफ्ट के रूप में Llama 3.2 1B चलाने के साथ कैसे तुलना करता है?

प्रमुख शर्तें

TermWhat people sayWhat it actually means
Speculative decoding"draft plus verify"Propose K tokens with a cheap model, verify all K in one target forward
Acceptance rate alpha"spec accept rate"Fraction of draft tokens accepted by the target; the only metric that matters
Draft length K"spec k"How many tokens the draft proposes per target forward; typical 4-8
Verify overhead epsilon"spec overhead"Extra cost to verify-and-reroll vs a plain target forward; grows with batch
EAGLE-3"latest EAGLE"2025-2026 variant; trains draft head on multiple target layers; alpha 0.6-0.8 on general chat
speculative_config"vLLM spec config"The explicit opt-in in vLLM V1; no default means no acceleration
N-gram spec decode"N-gram draft"GPU-side draft using N-gram lookups in the prompt; chunked-prefill-compatible
Break-even alpha"no-op alpha"Alpha at which spec decode gives zero speedup; watch this at production concurrency
Rejected-draft two-pass"reroll cost"Two target forwards when drafts reject; drives P99 tail

आगे पढ़ना

This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.

Browse the complete course catalog or open this lesson on GitHub.