Phase 10: LLMs from Scratch

अनुमानित डिकोडिंग और ईगल-3

चरण 7 · पाठ 16 ने गणित साबित कियाः लेवीयतन अस्वीकार नियम सत्यापितकर्ता के वितरण को सही ढंग से संरक्षित करता है। यह सबक 2026 उत्पादन अनुमानात्मक डिकोडिंग के प्रशिक्षण-स्टैक दृष्टिकोण है। ईगल-3 ने ड्राफ्ट मॉडल को सस्ते अनुमान से एक उद्देश्य से निर्मित छोटे नेटवर्क में बदल दिया जो सत्यापितकर्ता के स्वयं के छिपे हुए राज्यों पर प्रशिक्षित है, फिर एक प्रशिक्षण-समय परीक्षण लूप जो अपने ट्रेन और निष्कर्ष वितरण को संरेखित करता है। परिणामः 3x से 6.5x अंत-से-अंत गति, चैट पर प्रति टोकन 0.9 से अधिक स्वीकार दरें, कोई वितरण समझौता नहीं। 2026 में प्रत्येक उत्पादन निष्कर्ष स्टैक इसे डिफ़ॉल्ट रूप से भेजता है।

Type: Build

Languages: Python (stdlib)

Prerequisites: Phase 7 · 16 (speculative decoding math), Phase 10 · 12 (inference optimization)

Time: ~75 minutes

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

  • लेवीयतन प्रमेय को एक वाक्य में बताएं और साबित करें कि अनुमानित लूप सत्यापितकर्ता के लिए समान रूप से वितरित नमूने उत्पन्न करता है।
  • वैनिला स्पेसिफिकेशन डिकोडिंग (लेवीयतन 2023) से ईगल, ईगल-2 और ईगल-3 तक दो साल की प्रगति पर चलें और प्रत्येक चरण में हटाए गए सटीक सीमा का नाम दें।
  • स्वीकार्यता दर से अपेक्षित गति की गणना करें αऔर मसौदा-पर-परीक्षक लागत अनुपात c, और इष्टतम ड्राफ्ट लंबाई चुनें Nप्रत्येक शासन के लिए।
  • पूर्ण अनुमानात्मक लूप को खरोंच से लागू करेंः शेष से ड्राफ्ट, सत्यापित, अस्वीकार-सैंपल, अस्वीकार पर KV कैश को वापस रोल करें, पूर्ण स्वीकृति पर बोनस टोकन जारी करें।

समस्या

70B मॉडल पर ऑटोरेग्रेसिव डिकोडिंग H100 पर प्रति सेकंड 35 टोकन पर चलती है। GPU कहीं भी संतृप्त नहीं है। मेमोरी बैंडविड्थ छत हैः प्रत्येक टोकन HBM से 70B वजन लोड करता है, एक कदम अंकगणित करता है, और एक फ्लोट उत्पन्न करता है। कंप्यूटिंग इकाइयां ज्यादातर निष्क्रिय बैठती हैं।

अनुमानित डिकोडिंग इसे एक आउटपुट समस्या में बदल देता है जिसे आप वास्तव में हल कर सकते हैं।Nटोकन में Nछोटे आगे पास. सत्यापनकर्ता एक बार उपसर्ग पर चलता है प्लस सभीNयदि सत्यापितकर्ता की स्थिति पर वितरण iएक बड़े मॉडल आगे के लिए एक एकल बड़ी मॉडल के रूप में उत्पादन करता है जो कि एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक ही समय में एक एक समय में एक एक समय में एक ही समय में एक समय में एक एक समय में एक समय में एक एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय में एक समय मेंN+1एक के बजाय टोकन स्वीकार किए गए।

महत्वपूर्ण सिद्धांत लेवीयथन, कलमन, मटियास (ICML 2023) हैः आउटपुट वितरण वैसा ही है जैसा कि सत्यापक से सीधे नमूना लेने से उत्पन्न होता है। लगभग नहीं। समान रूप से। यह पूरी वजह है कि उत्पादन में अनुमानित डिकोडिंग स्वीकार्य है। यह गुणवत्ता के बिना शुद्ध विलंबता अनुकूलन है।

चरण 7 · पाठ 16 आपको गणित दिया। यह पाठ आपको प्रशिक्षण स्टैक देता है। एक अच्छा ड्राफ्ट सस्ते ड्राफ्ट की तुलना में 2 गुना अधिक स्पीडअप के लायक है। ईगल, ईगल-2 और ईगल-3 (लि और अन्य, 20242025) ने "ड्राफ्ट = एक ही मॉडल का छोटा संस्करण" को एक सटीक इंजीनियरिंग अनुशासन में बदल दिया। 2026 उत्पादन निष्कर्ष सर्वर डिफ़ॉल्ट रूप से ईगल-3 के लिए हैं।

अवधारणा

अपरिवर्तनीयः लेवीयथन अस्वीकृति नमूना

चलोp(t)कुछ उपसर्ग दिए गए अगले टोकन के लिए ड्राफ्ट का वितरण हो, और q(t)सत्यापित करने वाले के लिए एक ड्राफ्ट टोकन का नमूनाd ~ p. संभावना के साथ स्वीकार करेंmin(1, q(d) / p(d)). अस्वीकार पर, शेष वितरण से नमूना (q - p)_+ / ||(q - p)_+||_1. प्राप्त नमूने के अनुसार वितरित किए जाते हैं qयह सच है चाहे कितना भी बुरा होp यह जितना बुरा है, उतना ही आप अक्सर अस्वीकार करते हैं, लेकिन आउटपुट सटीक रहता है।

स्टैक Nइन कॉल का एक सत्यापनकर्ता के साथ बैक टू बैक पास परprefix + d_1 + ... + d_N. सत्यापितकर्ता वापस करता है q_1, q_2, ..., q_{N+1}एक ही समय में. बाएं से दाएं चलें. पहली अस्वीकृति पर स्थिति पर.j, से नमूनाresidual(q_j, p_j)पूर्ण स्वीकृति पर, एक बोनस टोकन का नमूना q_{N+1}. .

गति को निर्धारित करने वाला क्या है

चलोαप्रति ड्राफ्ट टोकन की अपेक्षित स्वीकृति दर हो।c = cost(draft) / cost(verifier)प्रति सत्यापितकर्ता आगे स्वीकार किए गए टोकन की अपेक्षित संख्या हैः

E[accepted] = (1 - α^(N+1)) / (1 - α)

प्रति स्वीकार किए गए टोकन की कुल दीवार समय की उम्मीद (N * c + 1) / E[accepted]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Nऔर आप सबसे अच्छा स्थान प्राप्त करते हैं.α = 0.8, c = 0.05: इष्टतम N57 के आसपास है, गति 3.2x है।α = 0.95, c = 0.02: इष्टतम N8x10 के आसपास है, गति 5x धक्का।

सबसे बड़ा लीवर हैα. . से जा रहा है α = 0.6(वैनिला ड्राफ्ट) से α = 0.9(एजीएल-3) पर स्थिर N = 5आप प्रति सत्यापित करने वाले 2.2 अपेक्षित स्वीकार टोकन से 4.1 तक आगे बढ़ते हैं।

दो साल की प्रगति

Vanilla speculative (Leviathan, 2023).ड्राफ्ट मॉडल एक ही परिवार से स्वतंत्र रूप से प्रशिक्षित एक छोटे LLM है।α ≈ 0.6, सबसे अच्छा 2x के आसपास गति.

EAGLE-1 (Li et al., 2024).ड्राफ्ट एक छोटा सा ट्रांसफार्मर है आमतौर पर एक या दो परतें जो सत्यापितकर्ता की अंतिम परत छिपी हुई स्थिति को इनपुट के रूप में लेता है और सीधे अगले टोकन की भविष्यवाणी करता है। क्योंकि ड्राफ्ट सत्यापितकर्ता की विशेषता प्रतिनिधित्व देखता है, इसका वितरण सत्यापितकर्ता के बहुत करीब है। α0.70.8 तक बढ़ता है।

EAGLE-2 (Li et al., 2024).एक गतिशील ड्राफ्ट पेड़ जोड़ता हैः बजाय प्रस्ताव एक एकल अनुक्रम के Nटोकन, उम्मीदवारों के एक छोटे से पेड़ का प्रस्ताव, एक आगे पास (वृक्ष ध्यान) में सत्यापनकर्ता के साथ प्रत्येक अंक, और उच्चतम संभावना पथ पर चलें। ड्राफ्ट लंबाई प्रति कदम अनुकूलित हो जाता है। αप्रति स्वीकार पथ टोकन 0.85 से ऊपर चढ़ता है।

EAGLE-3 (Li et al., 2025, NeurIPS).दो और बदलाव. पहले, पूरी तरह से सुविधा पूर्वानुमान हानि छोड़ दें ईगल-1/2 सत्यापनकर्ता के छिपे हुए राज्यों से मेल खाने के लिए ड्राफ्ट को प्रशिक्षित किया, जो कि डेटा की मदद करता है कितना सीमा है। ईगल-3 सीधे टोकन भविष्यवाणी पर ट्रेन करता है। दूसरा, प्रशिक्षण समय परीक्षण (TTT): ड्राफ्ट प्रशिक्षण के दौरान, ड्राफ्ट के अपने पिछले भविष्यवाणियों को कई चरणों पर इनपुट के रूप में वापस खिलाएं, उसी तरह से यह निष्कर्ष पर काम करता है। यह ट्रेन और परीक्षण वितरण को संरेखित करता है और त्रुटि के संचय को रोकता है। मापा गया गतिः चैट पर 6.5x तक, H100 पर SGLang में बैच 64 में 38% गति में सुधार।

KV कैश रिलैक

सत्यापन सत्यापितकर्ता के KV कैश को बढ़ाता है Nएक पास में प्रविष्टियाँ। यदि स्थिति पर अस्वीकार होता है j, कैश सामग्री पिछले स्थिति j-1अब दो आम कार्यान्वयन गलत हैं: स्क्रैच बफर में लिखें और स्वीकृति पर प्रतिबद्ध करें (vLLM, TensorRT-LLM), या एक भौतिक KV कैश प्लस एक तार्किक लंबाई और अस्वीकार पर ट्रंकट रखें। किसी भी तरह से, रोलबैक लागत प्रति परत प्रति सिर है, जो आगे-पास लागत के साथ तुच्छ है।

ईगल-2 पेड़ खोज के लिए, सत्यापक एक गैर-कारणकारी मास्क के साथ ध्यान चलाता है जो पेड़ की टोपोलॉजी का सम्मान करता है। इंजीनियरिंग मुश्किल है लेकिन गणना एक कस्टम मास्क के साथ एक मानक फ्लैश-अंतर्वतन कॉल है।

2026 में वास्तुकला के मसौदे

StrategyDraft typeαSpeedupTraining cost
VanillaSeparate small LLM0.55-0.701.8-2.3×None (reuse existing small model)
MedusaExtra LM heads on verifier0.65-0.752-3×~1B SFT tokens
EAGLE-11-layer transformer on hidden states0.70-0.802.5-3×~60B tokens
EAGLE-2EAGLE-1 + dynamic draft tree0.80-0.883-4×~60B tokens
EAGLE-3Multi-layer feature fusion + TTT0.88-0.923.5-6.5×~60-200B tokens
LookaheadNo draft (Jacobi iteration)N/A1.3-1.6×None

2026 में उत्पादनः vLLM और SGLang उपलब्ध होने पर डीफ़ॉल्ट रूप से EAGLE-3 पर, अन्यथा EAGLE-2 पर। TensorRT-LLM मेटा और NVIDIA सार्वजनिक मॉडल के लिए सबसे तेज़ मेडुसा पथ है।

इसे बनाओ

देखोcode/main.py. यह सभी टुकड़ों के साथ पूरा लेवीयथन अटकल लूप हैः ड्राफ्ट-ऑफ-एन, सत्यापितकर्ता समानांतर पास, प्रति-स्थिति अस्वीकार, अवशिष्ट नमूनाकरण, बोनस टोकन, KV रोलबैक, और अनुभवजन्य सत्यापन कि आउटपुट वितरण प्रत्यक्ष नमूनाकरण से मेल खाता है q. .

चरण 1: अस्वीकार नियम

pythondef accept(q_prob, p_prob, u):
    if p_prob <= 0:
        return True
    return u < min(1.0, q_prob / p_prob)

चरण 2: शेष वितरण

pythondef residual(q, p):
    raw = [max(0.0, qi - pi) for qi, pi in zip(q, p)]
    s = sum(raw)
    if s == 0:
        return list(q)
    return [r / s for r in raw]

चरण 3: एक पूर्ण अनुमानात्मक कदम

spec_stepकार्य प्रारूप N से टोकनp, फिर एक समानांतर में उन सभी की पुष्टि करता है qमूल्यांकन. प्रत्येक प्रारूपित टोकन के लिए यह अस्वीकार नियम लागू करता है, और पहली अस्वीकार पर यह शेष से सुधार का नमूना लेता है। यदि सब कुछ स्वीकार करता है, तो यह एक बोनस टोकन जारी करता है q_{N+1}. .

चरण 4: KV रोलबैक लेखांकन

सिम्युलेटर एक तार्किक ट्रैक करता हैkv_lengthप्रति कार्यकर्ता।kमसौदा, kv_length += k. पद पर अस्वीकार परj, कैश पहले से ही अतीत में लिखा गया है j, लेकिन तार्किक लंबाई निर्धारित है prefix_length + j + 1 एक सुधार टोकन के पास। बाद में ट्रंकट को तार्किक लंबाई तक पढ़ता है।

चरण 5: लेवीयतन चेक

50,000 अनुमानात्मक कदम चलाएं। स्वीकार किए गए टोकन के अनुभवजन्य वितरण की गणना करें। 50,000 प्रत्यक्ष नमूनों की तुलना करें।q. चि-क्वायर सांख्यिकी महत्वपूर्ण मूल्य से बहुत नीचे होनी चाहिए. प्रमेय व्यवहार में पारित होता है.

चरण 6: गति बनाम α

परेशान करके ड्राफ्ट की गुणवत्ता को स्वीप करें pदूर सेqविभिन्न परिमाणों पर।α, फिर प्रति सत्यापनकर्ता कॉल के लिए अपेक्षित टोकन को फ़ंक्शन के रूप में रेखांकित करें αऔर N. कोड में एक तालिका छपी है जिसमें दिखाया गया है कि कैसे ईगल-3 वर्ग के मसौदे की गुणवत्ता (α ≈ 0.9) सत्यापितकर्ता कॉल प्रति 45 टोकन खोलता है।

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

उत्पादन स्तर vllm serveईगल-3 के साथः

bashvllm serve meta-llama/Llama-3.3-70B-Instruct \
  --speculative-config '{
    "model": "yuhuili/EAGLE3-LLaMA3.3-Instruct-70B",
    "num_speculative_tokens": 5,
    "method": "eagle3"
  }'

एच 100 पर बैच 64 पर ईगल-3 के साथ एसजीएलएंगः ईगल-3 पेपर के अनुसार बैच 64 वैनिला डिकोडिंग की तुलना में लगभग 1.38x अधिक आउटपुट।

अनुमानित डिकोडिंग के लिए कब पहुंचना हैः

  • किसी भी इंटरैक्टिव चैट कार्यभार जहां p50 विलंबता पीक आउटपुट से अधिक मायने रखता है।
  • कोड जनरेशन और संरचित आउटपुट (JSON, SQL) । α0.9 से ऊपर है क्योंकि लक्ष्य वितरण अत्यधिक पूर्वानुमान योग्य है।
  • लंबे समय तक उत्पादन (हजारों टोकन) ।

कब नहीं करनाः

  • बहुत छोटे मॉडल (< 3B) । मसौदा सत्यापनकर्ता की तुलना में बहुत सस्ता नहीं है।
  • एक बैच 1 सीपीयू तैनाती. मसौदा मॉडल की मेमोरी ओवरहेड इसके लायक नहीं हो सकता है.
  • बहुत उच्च तापमान रचनात्मक नमूनाकरण जहां αगिर जाता है।

इसे भेजें

यह सबक हमें फल देता हैoutputs/skill-eagle3-tuner.md. एक निष्कर्ष कार्यभार (मॉडल, बैच आकार, लक्षित विलंबता, कार्य प्रोफ़ाइल) को देखते हुए, यह एक अनुमानात्मक डिकोडिंग रणनीति और ट्यूनिंग पैरामीटर (ड्राफ्ट परिवार, N, पेड़ की गहराई, तापमान के प्रति जागरूक स्विचिंग) ।

व्यायाम

  1. दौड़ेंcode/main.py. लेवीयथन वितरण जांच पर चि-क्वायर आंकड़े की पुष्टि करें 50,000 नमूनों पर 95% महत्वपूर्ण मूल्य से नीचे रहता है।
  1. पोंछेंN1 से 10 तक α0.9 पर रखा गया और c0.04 पर आयोजित किया गया था. प्रति सत्यापनकर्ता कॉल और प्रति टोकन वास्तविक दीवार समय के लिए अपेक्षित टोकन का प्लॉट। Nवक्र के आकार की व्याख्या करें।
  1. ईगल-2 पेड़ खोज का अनुकरण करने के लिए कोड को संशोधित करेंः प्रत्येक चरण में, मसौदा आकार का एक पेड़ प्रस्तावित करता है [2, 2, 2](आठ उम्मीदवार पथ) सत्यापितकर्ता एक बार चलाता है, और उच्चतम संभावना स्वीकार पथ जीतता है। गणना αप्रति पाना और सत्यापनकर्ता कॉल प्रति कुल टोकन। समकक्ष गणना पर रैखिक श्रृंखला विनिर्देशों को डिकोड करने की तुलना करें।
  1. दो समवर्ती अनुक्रमों के लिए एक बैच केवी रोलबैक सिम्युलेटर लागू करें। अनुक्रम A में सभी मसौदे स्वीकार किए गए हैं; अनुक्रम B स्थिति 2 में अस्वीकार करता है। दिखाएं कि सही kv_lengthयह क्रमशः अद्यतन किया जाता है और कोई काम व्यर्थ नहीं होता है।
  1. ईएजीएलई-3 पेपर के सेक्शन 4 (प्रशिक्षण-समय परीक्षण) को पढ़ें। दो वाक्य में समझाएं कि टीटीटी के बिना भोले ड्राफ्ट प्रशिक्षण जोखिम पूर्वाग्रह से क्यों पीड़ित है, और क्यों प्रशिक्षण के दौरान ड्राफ्ट को अपनी भविष्यवाणियों को खिलाकर इसे ठीक करता है। इसे अनुसूचित नमूनाकरण साहित्य से जोड़ें।

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

TermWhat people sayWhat it actually means
Leviathan rule"min(1, q over p)"Bernoulli accept/reject with probability min(1, q(d)/p(d)), preserves the verifier distribution exactly when you sample from the residual on rejection
Residual distribution"(q minus p) plus, normalized"(q - p)_+ clamped at zero and renormalized — the correct distribution to sample from on rejection
Acceptance rate α"how often the draft is right"Expected per-token Bernoulli-success probability under the rejection rule; governs all speedup math
EAGLE-1"hidden-state draft"Tiny transformer draft conditioned on the verifier's last-layer hidden state (Li et al., 2024)
EAGLE-2"dynamic draft tree"EAGLE-1 plus a tree of candidate continuations scored with tree attention in one verifier pass
EAGLE-3"training-time test"Drops the feature-prediction loss, trains on direct token prediction with the draft fed its own outputs during training
Training-time test (TTT)"exposure bias fix"Run the draft autoregressively during training so train and test input distributions match — the direct analog of scheduled sampling
KV rollback"undo rejected drafts"Bookkeeping that resets the verifier's KV cache to the accepted-prefix length after a rejection
Bonus token"the free one"When all N drafts accept, sample one extra from q_{N+1} at no additional verifier cost
Tree attention"verify many candidates at once"Attention with a non-causal mask that respects the topology of a draft tree; computes q_i for every node in the tree in one forward pass

आगे पढ़ना

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.