دیکودینگ گمانهزن vLLM روی کارتهای AMD
خلاصهٔ کاملتر
تو بلاگ vLLM اومده که speculative decoding (یعنی یه جزء سبک چندتا توکن آینده رو حدس میزنه و مدل اصلی همهشونو با هم بررسی میکنه) رو روی GPUهای AMD Instinct MI300X و MI355X با پلتفرم ROCm تست کردن. تو دیکودینگ معمولی هر توکن خروجی یه پاس کامل مدل میخواد، ولی اینجا اگه چندتا حدس قبول شه، چند توکن با یه پاس ثبت میشه. یعنی همون مدل قبلی، فقط با دورهای کمتر.
بررسی از چپ به راست انجام میشه: هر توکن حدسی با نتیجهٔ مدل اصلی تو همون جایگاه مقایسه میشه و تا اولین رد شدن، بقیه ثبت میشن. توکن ردشده جاشو به انتخاب خود مدل اصلی میده و باقی حدسها دور ریخته میشن. برای همین خروجی نهایی دقیقاً همون چیزیه که مدل اصلی تنهایی میداد.
نویسندهها پنج روش رو مقایسه کردن. native MTP یه مسیر پیشبینی کمکی داخل خود مدله. Gemma 4 MTP یه چکپوینت جداست که از activation و KV cache مدل اصلی استفاده میکنه. EAGLE-3 سه لایهٔ ابتدایی، میانی و پایانی مدل اصلی رو ترکیب میکنه و توکنها رو پشت سر هم میسازه. DFlash کل بلوک رو موازی و تو یه پاس حدس میزنه، و DSpark همون DFlash با یه Markov head سبکه که بعد از پاس موازی توکنها رو از چپ به راست اصلاح میکنه.
مزیت روش موازی سرعتشه، ولی یه ضعف داره: هر جایگاه بدون دیدن انتخاب جایگاه قبلی حدس زده میشه، پس ترکیبهای ناجور در میاد. مقاله مثال «of problem» رو میزنه که از قاطی شدن «of course» و «no problem» ساخته میشه. همون Markov head برای درست کردن همینه. اون confidence head هم که قراره پیشوند کوتاهتری رو برای بررسی بفرسته، تو مسیر vLLMی که تست شده فعال نبوده.
اعداد خیلی به مدل و دیتاست وابستهن. روی gemma-4-26B-A4B-it بیشترین نسبتها ۲.۷۴ و ۲.۶۲ برابر برای Gemma 4 MTP و ۲.۸۷ و ۲.۷۹ برابر برای DFlash بوده، در حالی که EAGLE-3 بین ۲.۱۱ تا ۲.۲۷ مونده. روی Qwen3-8B سود خیلی کمتره: DSpark بین ۱.۱۵ تا ۱.۶۳ و DFlash بین ۱.۰۸ تا ۱.۲۷. حتی یه جا EAGLE-3 روی MATH500 زیر خط پایه مونده.
نکات کلیدی:
- تستها روی AMD Instinct MI300X و MI355X با ROCm انجام شده.
- بیشترین سرعت اندازهگیریشده ۲.۸۷ برابر بود (DFlash روی gemma-4-26B-A4B-it و MATH500).
- روی Qwen3-8B سود بین ۱.۰۸ تا ۱.۶۳ برابر موند، پس نتیجه بین مدلها یکسان نیست.
- مقدارهای مجاز روش تو vLLM: mtp، eagle3، dflash، dspark.
- بهجز native MTP، بقیه چکپوینت draft جدا لود میکنن و حافظهٔ GPU بیشتری میخوان.




