Phase 10: LLMs from Scratch

رمزنگاریات حدس زده و EAGLE-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

اهداف یادگیری

  • نظریه لاویاتان را در یک جمله بیان کنید و ثابت کنید که حلقه ی حدس و گمان نمونه هایی را تولید می کند که به طور یکسان به تأیید کننده توزیع می شوند.
  • از دو سال پیش از کدگذاری مشخصات وانیل (Leviathan 2023) تا EAGLE، EAGLE-2 و EAGLE-3 به مرور و نام محدودیت دقیق هر مرحله حذف شده را ذکر کنید.
  • سرعت انتظار می رود را از نرخ پذیرش محاسبه کنید αو نسبت هزینه های طرح به بررسی کننده c، و طول مطلوبي را انتخاب کنNبرای هر رژیم
  • از ابتدا کل حلقه ی حدس زدنی را اجرا کنید: طرح، تایید، رد نمونه از باقی مانده، کاش KV را در زمان رد بازگردانید، توکن پاداش را در زمان پذیرش کامل صادر کنید.

مشکل

کدگذاری خودکار در یک مدل 70B ممکن است در هر ثانیه 35 توکن در H100 اجرا شود. GPU تقریباً بی ثمر نیست. عرض باند حافظه سقف است: هر توکن وزن 70B از HBM را بار می گیرد، یک مرحله حساب را انجام می دهد و یک شناور تولید می کند. واحدهای محاسباتی عمدتاً بیکار هستند.

این یک مشکل قابل حل است. یک طرح ارزان پیشنهاد می کندNتوکن ها در N.پایز های کوچک پیش رو .بررسيگر یک بار بر روی پیشگویی افزون به تمامNطرح ها. اگر توزیع تایید کننده در موقعیت iبا طرح موافق است (در یک مفهوم آماری ما دقیق تر می شود) ما قبول می کنیم؛ اگر نه، ما رد و نمونه اصلاح از توزیع باقی مانده.N+1توکن ها را به جای یک نفر قبول کرد.

نظریه ای که اهمیت دارد، لاویاتان، کالمان، متیاس (ICML 2023) است: توزیع خروجی مشابه آنچه نمونه گیری از تایید کننده مستقیماً تولید می کند. تقریباً نیست. یکسان است. این تمام دلیل آن است که کدگذاری حدس زده در تولید قابل قبول است.

آنچه که مرحله 7 · درس 16 به شما داده بود ریاضیات است. آنچه که این درس به شما می دهد است که یک استیک آموزش است. یک طرح خوب ارزش 2x بیشتر از یک طرح ارزان سرعت است. EAGLE، EAGLE-2 و EAGLE-3 (Li و همکاران، 20242025) تبدیل شده است "تاریخ = نسخه کوچکتر از همان مدل" به یک رشته مهندسی دقیق. 2026 سرورهای نتیجه گیری تولید به طور پیش فرض به EAGLE-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(Eagle-3) در ثابتN = 5شما را از 2.2 توکن های پذیرفته شده انتظار می رود به هر تایید کننده به 4.1. تقریبا 2x تولید بیشتر از همان تایید کننده.

پیشرفت دو ساله

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).دو تا تغییر دیگه اول، از دست دادن پیش بینی ویژگی ها کاملاً حذف کنید EAGLE-1/2 مسود را برای مطابقت با حالت های پنهان تأیید کننده آموزش داده است، که مقدار داده ها را محدود می کند. اگل-3 به طور مستقیم با توکن پیش بینی می کنه دوم، آزمون زمان آموزش (TTT): در طول آموزش طرح، پیش بینی های قبلی طرح را به عنوان ورودی در مراحل متعدد به عنوان همان شیوه ای که در نتیجه گیری عمل می کند، بازگردانید. این امر توزیع قطار و آزمایش را هماهنگ می کند و باعث توقف جمع آوری خطا می شود. سرعت اندازه گیری شده: تا 6.5x در چت، 38٪ بهبود در تولید در دسته 64 در SGLang در H100.

بازپرداخت KV cache

تایید کش 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 draft vanilla را ارسال می کند.

آن را بسازید

ببین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}. .

مرحله 4: حسابداری KV

شبیه ساز یک منطق رو ردیابی می کنهkv_lengthدر مورد پذیرشkطرح هاkv_length += k. در مورد رد در مقامj، حافظه کش قبلاً نوشته شدهj، اما طول منطقی به prefix_length + j + 1 یک عبور از نشانه اصلاح. بعدی می خواند به طول منطقی.

مرحله پنجم: چک لاویاتان

50 هزار مرحله حدس زدنی رو اجرا کنین و توزیع تجربی توکن های قبول شده رو محاسبه کنین و با 50 هزار نمونه مستقیم از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.38x بیشتر از دسته 64 وانیل کدگذاری، به عنوان EAGLE-3 کاغذ.

چه وقت برای کشف رمزگذاری مفروضاتی:

  • هر بار کاری چت تعاملی که در آن تاخیر p50 مهم تر از تولید ذروه است.
  • تولید کد و تولید ساختار یافته (JSON، SQL). αبالاتر از 0.9 است چون توزیع هدف بسیار قابل پیش بینی است.
  • نسل طولانی (هزار ها توکن) سرعت افزونه امورتیزه همچنان پرداخت می کند.

چه وقت:

  • مدل های بسیار کوچک (< 3B) ، طرح خیلی ارزان تر از تایید کننده نیست.
  • .توسعه هاي کوچک پردازنده هاي دسته 1 . حافظه ي مدل طرح شايد ارزشش رو نداشته باشه
  • نمونه گیری خلاقانه در دمای بسیار بالا کهαسقوط می کند.

-باده

این درس به ما کمک می کندoutputs/skill-eagle3-tuner.md. با توجه به یک کار فرض (نمونه، اندازه دسته، تاخیر هدف، پروفایل کار) ، آن را توصیه می کند یک استراتژی تخفیف و تنظیم پارامترهای (خزانۀ طرح، N، عمق درخت، تغییر دما آگاهانه)

تمرینات

  1. فرار کنcode/main.py.حسابات چِ- مربع در چک توزیع لاویاتان زیر 95 درصد ارزش انتقادی در 50 هزار نمونه باقی مانده است
  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.