Phase 10: LLMs from Scratch

التشفير المضارب و "إيغل-3"

المرحلة 7 · الدروس 16 أثبتت الرياضيات: قاعدة رفض ليفياثان تحافظ على توزيع المؤكد بالضبط. هذا الدروس هو وجهة نظر التدريب على كومة من 2026 الإنتاج التخفيضات المضاربة. حول EAGLE-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لكل نظام
  • تنفيذ حلقة التكهنات الكاملة من الصفر: رسم، التحقق، رفض-معينة من البقية، ركل الاحتفاظ الكهربائي مرة أخرى عند رفض، إصدار رمز مكافأة عند قبول كامل.

المشكلة

يقوم التشفير السريع على نموذج 70B بتشغيل 35 رمز في الثانية على H100. لا يصل إلى حد كبير أن تكون GPU مشبعة. عرض النطاق في الذاكرة هو السقف: كل رمز يحمل 70B من الوزن من HBM ، ويقوم بخطوة واحدة من الحسابات ، ويجري عمل واحد من العبور. وحدات الحساب تقع في الغالب عديمة الفائدة.

يُحول التشفير المضارب إلى مشكلة تسريع يمكنك حلها فعلاً.Nالـ " توكن " فيNالتحقق يعمل مرة واحدة على المقبلات زائد كلNمسودات إذا كان توزيع المؤكد في الموقف iوفق مشروع (في المعنى الإحصائي سنقوم بتحديد) ، نقبل؛ وإلا، نرفض ونحن نموذج تصحيح من التوزيع المتبقية.N+1قبلت رموز بدلاً من واحدة

النظريه التي تهم هي ليفياثان، كالمين، ماتيا (ICML 2023): توزيع الخروج هو نفسه ما كان قد ينتج عن عينات من المحقق مباشرة. ليس تقريبا. هو نفسه. هذا هو السبب كله لتقديم التشفير المضاربة مقبولة في الإنتاج.

ما أعطاكه المرحلة 7 · الدروس 16 كانت الرياضيات. ما يعطيك هذا الدروس هو كومة التدريب. مسودة جيدة تساوي 2x أكثر تسريع من مسودة رخيصة. إيغل، إيغل-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: مثالي Nهو حوالي 57, السرعة هو 3.2×.α = 0.95, c = 0.02: مثالي Nهو حوالي 8 × 10، السرعة تدفع 5 ×.

أكبر مؤشر واحد هوα- منα = 0.6(مخطط الفانيلا) إلى α = 0.9(إيغل-3) في ثابت N = 5يُحصل على ما يقرب من 2 × أكثر من التوصيل من نفس المحقق.

التقدم على مدى سنتين

Vanilla speculative (Leviathan, 2023).النموذج المسود هو ماجستير في العلوم القانونية أصغر مدربة بشكل مستقل من نفس العائلة.α ≈ 0.6، وتسرع حوالي 2 × في أفضل الأحوال.

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).تغييرين آخرين أولاً، إسقاط الخسارة التنبؤية الميزة بالكامل EAGLE-1/2 تدرب المسودة لتطابق الحالات الخفية للمحقق، والتي تقيّد كمية البيانات التي تساعد. "إيغل-3" تتدرب مباشرة على التنبؤات الرمزية ثانياً، اختبار وقت التدريب (TTT): خلال تدريب مشروع، قم بإعادة التنبؤات السابقة للمشروع على أنه مدخل عبر خطوات متعددة، بنفس الطريقة التي تعمل بها عند الاستنتاج. هذا يُحسِّن توزيع القطار والاختبار ويقفّ على تراكم الأخطاء. سرعة قياسية: تصل إلى 6.5 × على الدردشة، وتحسين نطاق النطاق بنسبة 38% في الحزمة 64 في SGLang على H100.

إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إعادة إ إ إعادة إعادة إ إعادة إعادة إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ إ

التحقق يمتد التخزين الاحتياطي KV للمحققNإدخالات في مرور واحد إذا حدث الرفض في الموقفj، محتويات التخزين السابقةj-1يخطئ الآن. عمليات تنفيذ شائعة: كتابة إلى حافظة خدش والالتزام عند قبول (vLLM ، TensorRT-LLM) ، أو الحفاظ على متخزن KV المادي بالإضافة إلى طول منطقي وتقليص على رفض. في كلتا الحالتين ، تكلفة الردع هي بايتات لكل طبقة لكل رأس ، وهو أمر لا يذكر بجوار تكلفة المرور المضي.

لبحث شجرة EAGLE-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 لديها أسرع مسار Medusa للنماذج العامة Meta و NVIDIA. llama.cpp شحن مشروع الفانيليا لتطبيقات CPU.

بناءها

انظرcode/main.py. هذه هي حلقة التكهنة كاملة ليفياثان مع جميع القطع: مسودة N ، مرسل متوازي المؤكد ، رفض لكل موقع ، أخذ العينات المتبقية ، رمز مكافأة ، إعادة KV ، والتحقق التجريبي من أن توزيع الخروج يطابق العينات المباشرة من q. . .

الخطوة الأولى: قاعدة الرفض

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

الخطوة الثانية: توزيع البقايا

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]

الخطوة الثالثة: خطوة تكهنية كاملة

  • نعمspec_stepمسودات الوظيفة Nالـ " توكن " منp، ثم يُحققُ كُلّهم في مُوازٍ واحدqالتقييم. لكل رمز مسود يطبق قاعدة الرفض، وعلى الرفض الأول يختار التصحيح من البقية. إذا قبلت كل شيء، فإنه ينبعث رمز إضافي من q_{N+1}. . .

الخطوة الرابعة: إدارة الحسابات المترددة للسيارات الكهربائية

المحاكي يتتبع منطقيةkv_lengthعلى كل عامل.kمسوداتkv_length += k. بشأن رفض في الموقفj، الجهاز المخزن قد تم كتابته بالفعلj، لكن الطول المنطقي هو محدد إلى prefix_length + j + 1 واحد ما بعد رمز التصحيح. القراءة التالية تركنت إلى الطول المنطقي.

الخطوة 5: فحص ليفياتان

اجري 50،000 خطوة تخمينية، احسب التوزيع التجريبي للشعارات المقبولة، مقارنة مع 50،000 عينات مباشرة منq. يجب أن تكون إحصاءات المربع من الصفخة أقل بكثير من القيمة الحرجة

الخطوة 6: تسريع مقابل α

سحق جودة المسودة عن طريق إزعاجpبعيداً عنqفي مختلف الطولات.α، ثم رسم الرموز المتوقعة لكل مكالمة المؤكد كعمل من αوN. يُطبق الرمز جدولًا يُظهر كيفية جودة مسودة فئة EAGLE-3 (α ≈ 0.9) يفتح 45 رموز لكل مكالمة للمحقق.

استخدمها

مستوى الإنتاج vllm serveمع "Eagle-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"
  }'

SGLang مع EAGLE-3 في اللحظة 64 على H100: حوالي 1.38 × أكثر من عملية تشفير اللحظة-64 الفانيليا، وفقاً لوحة EAGLE-3.

متى يجب الوصول إلى التشفير المضارب:

  • أي عبء عمل تفاعلي للردشة حيث تأخر p50 مهم أكثر من ذروة النتائج.
  • إنتاج الشفرة والمخرجات المهيكلة (JSON ، SQL). αهو فوق 0.9 لأن التوزيع المستهدف يمكن التنبؤ به بشكل كبير.
  • إنتاج الطويل (آلاف الرموز) ، وتسريع التسجيل المعدل يستمر في الدفع

متى لا يجب:

  • نماذج صغيرة جداً (< 3B) ، مشروع ليس أرخص بكثير من المحقق.
  • عمليات تشغيل محركات التشغيل الصغيرة في المجموعة الأولى، قد لا تستحق تكاليف الذاكرة
  • أخذ العينات الإبداعية في درجة حرارة عالية جداً حيثαانهار.

أرسله

هذا الدرس يُنتجoutputs/skill-eagle3-tuner.md. بالنظر إلى عبء عمل استنتاج (النموذج، حجم اللحظة، تأخر الهدف، ملف المهمة) ، فإنه يوصي باستراتيجية فكّة التفكير ومعايير ضبط (عائلة المسودات، N، عمق الأشجار ، تغيير الحرارة).

التمارين

  1. أركضcode/main.pyتأكيد إحصاءات المربع على تشي على التحقق من التوزيع ليفياثان تبقى تحت قيمة الحرجة بنسبة 95% على 50،000 عينة.
  1. تفتيشNمن 1 إلى 10 مع αتم احتفاظها عند 0.9 و cتمت الاحتفاظ بها عند 0.04. رسم الرموز المتوقعة لكل مكالمة المؤكد والوقت الحائط الفعلي لكل الرموز.Nهذا يقلل من الوقت في الجدار، شرح شكل المنحنى
  1. تعديل الرمز لتحاكي بحث شجرة EAGLE-2: في كل خطوة، يقدم المسودة شجرة من الشكل [2, 2, 2](ثمانية مسارات مرشحة) يبدأ المؤكد مرة واحدة، والمسار المقبول بأعلى احتمال يفوز.αلكل ورقة وكل رموز لكل مكالمة مؤكدة. مقارنة مع تشخيصات التفاصيل في السلسلة الخطية عند حساب متساو.
  1. تنفيذ محاكاة إعادة التدريب KV المكتسبة لسلسلتين متزايدة. تسلسل A لديه جميع المسودات المقبولة؛ تسلسل B يرفض في الموقف 2.kv_lengthيتم تحديثها على التسلسل ولا يتم إضاعة أي عمل
  1. اقرأ قسم 4 (اختبار وقت التدريب) في ورقة EAGLE-3. شرح في جملتين لماذا يعاني التدريب المخطط الباهض دون TTT من تعصب التعرض ، ولماذا تغذية المخطط التنبؤات الخاصة به أثناء التدريب تصحيحه. ربط هذا مع الأدب المخطط للاستعراض في seq2seq.

الشروط الرئيسية

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.