هزینهی بالای سختافزار و تاخیر تولید توکن در مدلهای زبانی بزرگ، چالش اصلی تیمهای مهندسی در ارائهی سرویسهای پایدار و سریع است. تکنیک دیکودینگ حدسی (Speculative Decoding) این بنبست را با یک ترفند عملی حل میکند: یک مدل پیشنویس سبک چند توکن را به سرعت حدس میزند و مدل اصلی آنها را همزمان در یک پاس اعتبارسنجی میکند؛ رویکردی که تاخیر زمانی را شکسته و توان پردازشی را تا 3 برابر افزایش میدهد.
تهیهی کارتهای گرافیک سازمانی گرانقیمت یا اجارهی GPUهای ابری از ایران دشوار، پرهزینه و وابسته به پرداخت ارزی است. در چنین شرایطی، بهرهوری حداکثری از منابع موجود با روشهایی چون کوانتیزهسازی FP8 و ادغام فریمورکهای مدرن مثل vLLM یا SGLang، تنها راهکار عملیاتی پایدار برای پایین نگه داشتن هزینهها و رسیدن به عملکرد رقابتی است.
در این پروژهی نهایی، یاد میگیرید چطور یک سرور استنتاج واقعی را با معماریهای مدرن EAGLE-3 و P-EAGLE بر بستر Kubernetes مستقر کنید، تاخیر دنبالهی p99 را زیر بارهای واقعی بسنجید و با سیاستهای مقیاسبندی خودکار (HPA)، زیرساختی تابآور و مقیاسپذیر بسازید.
دیکودینگ حدسی (Speculative Decoding) — که در آن یک مدل پیشنویس (Draft Model) کمهزینه چند توکن را پیشنهاد میدهد و مدل هدف (Target model) همهی آنها را در یک مرحله اعتبارسنجی میکند — اکنون به یک بهینهسازی (Optimization) کاملاً آماده برای محیط عملیاتی (پروداکشن)، و نه صرفاً یک ترفند تحقیقاتی، تبدیل شده است. EAGLE-3 در vLLM 0.7 روی ترافیک واقعی 2.5 تا 3 برابر نرخ پردازش (Throughput) بیشتری ارائه میدهد. P-EAGLE (توسط AWS در سال 2026) حدس موازی را حتی از این هم فراتر برده است. SpecForge در SGLang سرهای پیشنویس را در مقیاس بالا آموزش داد. هاب Speculators شرکت Red Hat پیشنویسهای هماهنگشده را برای مدلهای متنباز رایج منتشر کرد. TensorRT-LLM نیز دیکودینگ حدسی را به قابلیتی درجهیک روی سختافزارهای NVIDIA تبدیل کرد. استک سرویسدهی پروداکشن در سال 2026، vLLM یا SGLang به همراه پیشنویسهای خانوادهی EAGLE، کوانتیزهسازی (Quantization) با فرمت FP8 یا INT4، و HPA بر مبنای صف انتظار (queue-wait) است. پروژهی نهایی این فصل، سرویسدهی دو مدل متنباز با نرخ پردازش بیش از 2.5 برابر خط مبنا (Baseline) همراه با گزارش کامل تاخیر دنباله (Tail latency) است.
فازهای تمرینشده: P3 · P7 · P10 · P17
زمان: 30 ساعت
صورت مسئله
دیکودینگ حدسی در سال 2026 به ابزاری استاندارد و عمومی تبدیل شد. سرهای پیشنویس EAGLE-3 روی وضعیتهای پنهان (Hidden states) مدل هدف آموزش میبینند و N توکن بعد را پیشبینی میکنند؛ سپس مدل هدف همهی آنها را در یک مرحله تایید میکند. نرخ پذیرش (Acceptance rate) بین 60 تا 80 درصد، به 2 تا 3 برابر نرخ پردازش سرتاسری (End-to-end) تبدیل میشود. vLLM 0.7 این قابلیت را بهصورت نیتیو در دل خود دارد. SGLang به همراه SpecForge پایپلاین (Pipeline) آموزش را در اختیارتان میگذارد. مجموعهی Speculators در Red Hat پیشنویسهای هماهنگشده را برای مدلهای Llama 3.3 70B، Qwen3-Coder-30B MoE و GPT-OSS-120B منتشر میکند.
مهارت اصلی در عملیات سرویسدهی نهفته است، نه خودِ مدل. نرخ پذیرش با جابهجایی توزیع ترافیک (ShareGPT در برابر کد یا دادههای تخصصی حوزهای) تغییر میکند. تاخیر دنباله در صورت رد شدن توکنها بدتر از حالت بدون دیکودینگ حدسی است — بنابراین باید تاخیر صدک 99 (p99) را در چند اندازهی دستهای (Batch size) بسنجید و گزارش کنید، نه صرفاً توکن بر ثانیه در وضعیت پایدار را. هزینهی هر 1 میلیون توکن در مقایسه با APIهای Anthropic و OpenAI، اهرم اعتبار فنی کار شماست.
مفاهیم
دیکودینگ حدسی دو لایه دارد. یک مدل پیشنویس (سرِ EAGLE-3، الگوی ngram یا یک مدل کوچکترِ همراستا با مدل هدف) در هر گام k توکن کاندید پیشنهاد میدهد. مدل هدف همهی k توکن را در یک مرحله بررسی میکند؛ هر پیشوندی که پذیرفته شود، جایگزین مسیر حریصانه (Greedy) میشود. نرخ پذیرش به میزان همراستایی پیشنویس با مدل هدف و همچنین توزیع ورودیها بستگی دارد.
EAGLE-3 در بیشتر ترافیکها از پیشنویسهای ngram جلو میزند. P-EAGLE با حدس موازی، درختهای پیشنویس عمیقتری را بررسی میکند. اما این کار یک بدهبستان دارد: تاخیر p99 هنگام رد شدن پیشنهادها بیشتر است، چون مرحلهی تایید گستردهتر میشود. پیکربندی سرویسدهی برای آشکار ساختن این موضوع، باید تاخیر را در دستههای مختلف اندازهی بچ گزارش کند.
استقرار روی Kubernetes است. vLLM 0.7 به ازای هر GPU یا شارد موازیسازی تنسور، یک رپلیکا اجرا میکند. HPA مقیاسبندی خودکار را به جای CPU بر اساس صف انتظار انجام میدهد. کوانتیزهسازیهای FP8 (Marlin) و INT4 (AWQ) حافظهی مصرفی GPU را درون محدودهی یک کارت H100 یا H200 نگه میدارند. گزارش نهایی سرتاسری شامل نرخ پردازش، نرخ پذیرش، تاخیرهای p50 و p99 در بچهای 1، 8 و 32، و هزینهی هر 1 میلیون توکن است.
معماری
request ingress
|
v
vLLM server (0.7) or SGLang (0.4)
|
+-- draft: EAGLE-3 heads | P-EAGLE parallel | ngram fallback
+-- target: Llama 3.3 70B | Qwen3-Coder-30B | GPT-OSS-120B
| quantized FP8-Marlin or INT4-AWQ
|
v
verify pass: batch k draft tokens through target
|
v (accept prefix; resample for rejected suffix)
v
token stream back to client
|
v
Prometheus metrics: throughput, acceptance rate, queue wait, latency p50/p99
|
v
HPA on queue-wait metric
استک
- سرویسدهی: vLLM 0.7 یا SGLang 0.4
- روشهای حدسی: سرهای پیشنویس EAGLE-3، حدس موازی P-EAGLE، طرح پشتیبان (Fallback) مبتنی بر ngram
- آموزش پیشنویس: SpecForge (در SGLang) یا Speculators شرکت Red Hat
- مدلهای هدف: Llama 3.3 70B، Qwen3-Coder-30B MoE، GPT-OSS-120B
- کوانتیزهسازی: FP8 (Marlin)، INT4 AWQ
- استقرار: Kubernetes به همراه پلاگین دیوایس NVIDIA؛ مقیاسپذیری HPA بر اساس متریک queue-wait
- ارزیابی: ShareGPT، MT-Bench-v2، GSM8K و HumanEval برای سنجش نرخ پذیرش در توزیعهای مختلف
- مرجع مقایسه: دیکودینگ حدسی TensorRT-LLM به عنوان خط مبنای شرکتی
ساخت مرحلهبهمرحله
-
آمادهسازی مدل هدف. Llama 3.3 70B را انتخاب کنید. آن را با Marlin به FP8 کوانتیزه کنید. مدل را تحت vLLM 0.7 روی 1 کارت H100 (یا 2 کارت با موازیسازی تنسور) مستقر کنید.
-
منبع مدل پیشنویس. یک سرِ پیشنویس هماهنگشدهی EAGLE-3 را از Speculators در Red Hat دریافت کنید (یا خودتان با SpecForge آموزش دهید). آن را در تنظیمات دیکودینگ حدسی vLLM بارگذاری کنید.
-
ارقام خط مبنا. قبل از فعالسازی حدس: توکن بر ثانیه در بچهای 1، 8 و 32، تاخیرهای p50 و p99 و میزان استفاده از GPU را اندازه بگیرید. اعداد را منتشر کنید.
-
فعالسازی EAGLE-3. سوییچ تنظیمات را بزنید؛ همان بنچمارک را تکرار کنید. میزان شتاب، نرخ پذیرش و اختلاف تاخیر دنبالهی p99 را گزارش دهید.
-
استفاده از P-EAGLE. حدس موازی را فعال کنید؛ درخت پیشنویس عمیقتر را در مقایسه با EAGLE-3 متوالی بسنجید. نقطهی عطفی را که P-EAGLE در آن به جای افت کارایی، باعث بهبود میشود گزارش کنید.
-
ترافیک حوزههای مختلف. دادههای ShareGPT، HumanEval و ترافیک تخصصی حوزهی خود را از سرور یکسانی عبور دهید. نرخ پذیرش را به ازای هر توزیع اندازه بگیرید. زمانهایی را که پیشنویسها دچار افت عملکرد میشوند شناسایی کنید.
-
مدل هدف دوم. همین پایپلاین را برای Qwen3-Coder-30B MoE اجرا کنید. پیشنویس برای مدلهای MoE به دلیل نویز ناشی از مسیریابی (Routing) چالشبرانگیزتر است. نتایج را گزارش دهید.
-
تنظیم HPA در کوبرنتیز. سرویس را روی Kubernetes با HPA حساس به
queue_wait_msمستقر کنید. نشان دهید که با 3 برابر شدن بار ترافیک، سیستم بهخوبی به صورت افقی مقیاس پیدا میکند. -
مقایسهی هزینه. هزینهی هر 1 میلیون توکن را در همان ارزیابی نسبت به Claude Sonnet 4.7 شرکت Anthropic و GPT-5.4 شرکت OpenAI محاسبه و منتشر کنید.
استفاده از سیستم
$ curl https://infer.example.com/v1/chat/completions -d '{"messages":[...]}'
[serve] vLLM 0.7, Llama 3.3 70B FP8, EAGLE-3 active
[decode] bs=8, accepted_tokens_per_step=3.2, acceptance_rate=0.76
[latency] first-token 42ms, full-response 980ms (620 tokens)
[cost] $0.34 per 1M output tokens at sustained throughput
تحویل نهایی
فایل outputs/skill-inference-server.md ساختار خروجی مورد انتظار را توضیح میدهد: یک استک سرویسدهی ارزیابیشده با دیکودینگ حدسی، گزارش کامل بنچمارک، و استقرار آماده روی Kubernetes.
| وزن | معیار | نحوهی ارزیابی |
|---|---|---|
| 25 | شتاب واقعی نسبت به خط مبنا | افزایش بیش از 2.5 برابری نرخ پردازش با کیفیت یکسان روی دو مدل |
| 20 | نرخ پذیرش در ترافیک واقعی | ارائهی گزارش نرخ پذیرش به تفکیک توزیع دادهها |
| 20 | انضباط در تاخیر دنبالهی P99 | تاخیر p99 در بچهای 1، 8 و 32 با و بدون دیکودینگ حدسی |
| 20 | عملیات (Ops) | استقرار کوبرنتیز، تنظیم HPA بر اساس queue-wait، بازاستقرار (Rollout) نرم و بدون اختلال <!-- REVIEW: واژهی Rollout در اینجا به معنی بهروزرسانی تدریجی پادها در کوبرنتیز است و به مسیر شبیهسازی مربوط نیست. --> |
| 15 | گزارش فنی و متدولوژی | توضیح شفاف تغییرات اعمالشده و دلایل آنها |
| 100 |
تمرینها
-
افت نرخ پذیرش را زمانی که پیشنویس یک نسخه از مدل هدف عقبتر است بسنجید (مثلاً اختلاف نسخهی Llama 3.3 به 3.4). یک سیستم هشدار مانیتورینگ برای آن بسازید.
-
یک طرح پشتیبان مبتنی بر ngram پیاده کنید: اگر نرخ پذیرش EAGLE-3 از یک آستانه (Threshold) کمتر شد، سیستم به پیشنویسهای ngram سوییچ کند. بهبود قابلیت اطمینان سیستم را گزارش دهید.
-
یک آزمایش کنترلشده برای MoE اجرا کنید: همان مدل Qwen3-Coder-30B را یک بار با تزریق نویز در مسیریابی و یک بار بدون آن اجرا کنید. میزان حساسیت نرخ پذیرش مدل پیشنویس را بسنجید.
-
آزمایش را روی کارت H200 (با حافظهی 141 GB) توسعه دهید. فضای آزاد دریافتشده برای حجم مدل به ازای هر رپلیکا را گزارش کنید و مشخص کنید آیا میتوان مدل Llama 3.3 70B را بدون کوانتیزهسازی سرویس داد یا خیر.
-
دیکودینگ حدسی TensorRT-LLM را روی همان سختافزار H100 بنچمارک کنید. نقاط برتری آن در برابر vLLM را گزارش دهید.
اصطلاحات کلیدی
| اصطلاح | در گفتار عامیانه | معنای دقیق فنی |
|---|---|---|
| Draft model | مدل حدسزننده ("Speculator") | مدل کوچکی که N توکن را برای تایید مدل هدف پیشنهاد میدهد |
| EAGLE-3 | "معماری پیشنویس 2026" | سرِ پیشنویسی که روی وضعیتهای پنهان مدل هدف آموزش میبیند؛ نرخ پذیرش حدود 75% |
| P-EAGLE | "دیکودینگ حدسی موازی" | درختی از شاخههای پیشنویس که همگی در یک مرحله توسط مدل هدف بررسی و تایید میشوند |
| Acceptance rate | نرخ اصابت (Hit Rate) | کسری از توکنهای پیشنویس که بدون نیاز به نمونهبرداری مجدد پذیرفته میشوند |
| Quantization | "FP8 / INT4" | وزنهای با دقت کمتر برای جا دادن مدلهای بزرگتر در حافظهی GPU |
| Queue wait | "متریک HPA" | مدت زمانی که یک درخواست در صف انتظار میماند تا پردازش استنتاج شروع شود |
| Speculators hub | "پیشنویسهای هماهنگ" | هاب Neural Magic شرکت Red Hat شامل پیشنویسهای EAGLE برای مدلهای متنباز رایج |
منابع برای مطالعهی بیشتر
- مستندات EAGLE و P-EAGLE در vLLM — استک مرجع سرویسدهی
- P-EAGLE (توسط AWS در سال 2026) — مقالهی دیکودینگ حدسی موازی و راهنمای یکپارچهسازی
- ابزار SpecForge در SGLang — پایپلاین آموزش سرهای پیشنویس
- مخزن Speculators شرکت Red Hat — هاب پیشنویسهای هماهنگشده
- دیکودینگ حدسی در TensorRT-LLM — گزینهی جایگزین از شرکت سازنده
- معماری سرویسدهی Fireworks.ai — مرجع تجاری
- مقالهی EAGLE-3 (در arXiv:2503.01840) — مقالهی معرفی این متدولوژی
- مخزن vLLM — کدها و بنچمارکها
