چیتشیت
اینفرنس ناهمگام، Hogwild و تفکیکشده
Async, Hogwild and Disaggregated Inference
اشتراکگذاری، تقسیم، مسیریابی و تخلیهی کش کلید-مقدار. فرمولها، نقاط تلاقی و مواردی که هر روش شکست میخورد.
فهرست مطالب
ایدههای اصلی
مفهومها- پیشپرکنی (Prefill)
- یک گذر رو به جلو روی کل پرامپت. متکی به توان پردازشی.
- رمزگشایی (Decode)
- یک توکن در هر گام. خواندن تمام وزنها. محدود به پهنای باند حافظه.
- !Hogwild
- نوشتن N کپی از یک LLM در یک کش کلید-مقدار مشترک.
- هماهنگی خودجوش
- مدلهای استدلالی کار را بدون فاینتیونینگ تقسیم میکنند.
- RoPE
- موقعیتها از نوع دوران هستند، بنابراین ورودیهای کش مشترک معتبر میمانند.
- تفکیک (Disaggregation)
- استخر پیشپرکنی و استخر رمزگشایی. انتقال کش کلید-مقدار بین آنها.
- مسیریابی آگاه از کش
- ارسال درخواست به نمونهای (replica) که پیشوند آن را نگه میدارد.
- تخلیهی کش کلید-مقدار
- خروج کش کلید-مقدار از پردازندهی گرافیکی به پردازندهی اصلی و سپس دیسک.
مقایسهی پهلوبهپهلوی چهار روش
مقایسه| فاکتور | Hogwild! | تفکیک | مسیریابی آگاه از کش | LMCache |
|---|---|---|---|---|
| عملکرد | N ورکر، یک کش کلید-مقدار مشترک | پیشپرکنی و رمزگشایی در استخرهای مجزا | مسیریابی بر اساس تطابق هش پیشوند | کش کلید-مقدار بینموتوری روی پردازندهی اصلی + دیسک |
| برتری در حالت | استدلال طولانی، p بالا | پرامپتهای بیش از 512 توکن + خروجیهای بیش از 200 توکن | تکرار پیشوندها در بین نمونهها | بزرگتر شدن کش کلید-مقدار از HBM |
| شکست در حالت | چت تعاملی کوتاه | کلاستر کوچک (کمتر از 4 پردازندهی گرافیکی) | غلبهی RTT بینمنطقهای بر صرفهجویی پیشپرکنی | کانتکستهای کوتاه (کمتر از 1K توکن) |
| عدد شاخص | 1.8 برابر در p = 0.7 و N = 4 | حدود 6 برابر در DeepSeek-R1 روی GB200 NVL72 | اصابت حدود 80 میلیثانیه در برابر عدم اصابت حدود 800 میلیثانیه | 3 تا 5 درصد سربار در فشار پایین |
| وضعیت | پژوهشی، آوریل 2026 | نسخهی Dynamo 1.0 GA و llm-d 0.5 | مسیریاب vLLM و مسیریاب llm-d | مسیر ناهمگام vLLM 0.11.0 |
پشتهی سرو تفکیکشده
معمارییک گام !Hogwild
گامبهگام- پرامپتبه هر ورکر اعلام میکند که یکی از N نمونه است و از انجام کار تکراری خودداری کند.
- ورکرکل کش مشترک، شامل توکنهای سایر ورکرها را میخواند.
- ورکرکارهای انجامشده را میبیند و زیرهدف متفاوتی را انتخاب میکند.
- ورکریک توکن را در موقعیت بعدی کش مینویسد.
- کشترتیب بر اساس زمان رسیدن نوشتن تعیین میشود. ایندکس مجزا برای هر ورکر وجود ندارد.
- سایر ورکرهاتوکن را بلافاصله در گام بعدی خود میبینند.
مدلهای هزینه در کد
کدpython
def expected_speedup(T_serial: int, p: float, c: int, N: int,
steps_per_worker: int) -> float:
parallel = T_serial * ((1 - p) + p / N) + c * N # قانون امدال بهعلاوهی هماهنگی
return T_serial / parallel
def ms_disaggregated(prompt: int, output: int, use_rdma: bool = True) -> float:
prefill_ms = prompt / PREFILL_TOK_PER_MS
kv_bytes = prompt * KV_BYTES_PER_TOKEN_70B_FP8
transport = NIXL_RDMA_GB_S if use_rdma else NIXL_TCP_GB_S
transfer_ms = (kv_bytes / 1e9) / transport * 1000 # هزینهی سربار انتقال
decode_ms = output / DECODE_TOK_PER_MS_DECODE_GPU # استخر رمزگشایی سریعتر
return prefill_ms + transfer_ms + decode_ms
اجرای شبیهسازها
کار و کد| وظیفه | کد |
|---|---|
| خط مبنای !Hogwild، یک ورکر | run_hogwild(n_workers=1, step_budget=200, target_per_category=100, coordination_weight=0.8) |
| !Hogwild با دو ورکر | run_hogwild(n_workers=2, step_budget=200, target_per_category=100, coordination_weight=0.8) |
| بررسی بازهی هماهنگی | for cw in (0.0, 0.2, 0.5, 0.8, 1.0): |
| مقایسهی سه مسیریاب | for strategy in ("ROUND_ROBIN", "REGIONAL", "GLOBAL"): |
| زمان درخواست هممکان (colocated) | ms_colocated(prompt, output) |
| تفکیکشده روی TCP | ms_disaggregated(prompt, output, use_rdma=False) |
| مقایسهی پیکربندیهای تخلیه | for cfg in ("NATIVE_ONLY", "CPU_OFFLOAD", "LMCACHE"): |
ثابتها در شبیهسازها
پیشفرضها| تنظیم | پیشفرض | نکته |
|---|---|---|
CACHE_HIT_MS | 80 | TTFT با پیشوند مقیم در حافظه |
CACHE_MISS_MS | 800 | TTFT با پیشپرکنی سرد |
REPLICAS_PER_REGION | 4 | سه منطقه |
PREFILL_TOK_PER_MS | 40.0 | به ازای هر پردازندهی گرافیکی |
KV_BYTES_PER_TOKEN_70B_FP8 | 125_000 | اندازهی کش کلید-مقدار به ازای هر توکن |
NIXL_RDMA_GB_S | 100 | نرخ انتقال RDMA |
NIXL_TCP_GB_S | 10 | نرخ طرح پشتیبان TCP |
KV_BLOCK_TOKENS | 16 | تعداد توکن در هر بلوک کش کلید-مقدار |
عیبیابی
عیبیابیافت نرخ اصابت پیشوند به 8%
- علت
- موازنهکنندهی بار نوبتگردشی (ALB)
- راهحل
- مسیریاب آگاه از کش مبتنی بر هش پیشوند
عدم راهاندازی نمونه پس از تغییر مسیر خودکار هنگام خرابی
- علت
- نبود پیکربندی توکنایزر یا کوانتیزهسازی
- راهحل
- مانیفست بازیابی فاجعه سهفایلی
کندتر بودن حالت تفکیکشده
- علت
- پرامپتهای کوتاه، هزینهی سربار انتقال
- راهحل
- هممکان کردن پرامپتهای کمتر از 512 توکن
پیشپرکنی مجدد همان پرامپت 2K
- علت
- پیشدستی در 100% پر شدن HBM
- راهحل
- استفاده از LMCache یا تخلیه روی پردازندهی اصلی بومی
افزایش TTFT به دلیل مسیریابی بینمنطقهای
- علت
- بازگشتپذیری 440 میلیثانیهای
- راهحل
- منطقهای نگه داشتن مسیریابی
پاسخ به درخواست اروپا در us-east-1
- علت
- نادیده گرفتن محل اقامت داده توسط مسیریاب
- راهحل
- افرازبندی مسیریابها بر اساس محل اقامت داده
شتاب کمتر از 1 در !Hogwild
- علت
- تکرار کارها توسط ورکرها
- راهحل
- استفاده از یک مدل استدلالی
بهرهی کمتر از 1.3 برابر در !Hogwild
- علت
- غلبهی سربار هماهنگی
- راهحل
- بازگشت به تکورکر
در چه شرایطی استفاده کنیم
نکتهها- استفاده از Dynamo برای هماهنگکنندهی مدیریتشده در بالای پشته.
- استفاده از llm-d برای جزء سازندهی بومی کوبرنتیز.
- استفاده از تخلیه روی پردازندهی اصلی بومی هنگام فشار HBM روی یک موتور.
- استفاده از LMCache هنگام اشتراکگذاری پیشوندها میان چندین موتور.
- استفاده از !Hogwild فقط روی یک نود. استفاده بیننودی فاجعهی تاخیر است.
- افزایش !Hogwild به 4=N تنها در صورتی که دو ورکر بیش از 1.5 برابر شتاب دهند.
پرسش و پاسخ
پرسش و پاسخ- هزینهی انتقال کش کلید-مقدار؟
- 20 تا 80 میلیثانیه برای کش پرامپت 4K روی مدل 70B FP8 با بستر NIXL.
- !Hogwild با رمزگشایی حدسی؟
- شتابها در هم ضرب میشوند. شتاب 3 برابر و 1.8 برابر نتیجهی 5.4 برابری میدهد.
- چرا باید مجموع پیشپرکنی و شبکه را کمینه کرد؟
- یک مسیر بینمنطقهای 440 میلیثانیه بازگشتپذیری به درخواست اضافه میکند. آن را با صرفهجویی پیشپرکنی ناشی از اصابت کش مقایسه کنید.
- چه چیزی در 32% موارد بازیابی فاجعه را مختل میکند؟
- نبود پیکربندیهای توکنایزر یا کوانتیزهسازی.
- هدررفت ناشی از هممکانی؟
- 20 تا 40 درصد از زمان پردازندهی گرافیکی روی منبع نادرست تلف میشود.
واژهنامه
اصطلاحها- NIXL
- بستر انتقال Dynamo برای کش کلید-مقدار. مبتنی بر RDMA/InfiniBand با طرح پشتیبان TCP.
- RTT
- زمان رفت و برگشت (بازگشتپذیری). حدود 75 میلیثانیه بین آمریکا و اروپا، حدود 220 میلیثانیه بین آمریکا و آسیا-اقیانوسیه.
- p
- کسری از کار که قابلیت اجرای موازی دارد.
- c
- سربار هماهنگی به ازای هر ورکر بر حسب توکن.
- UCCL
- لایهی شبکهی llm-d 0.5.