۵۱۰ توکن در ثانیه از جما روی یک A10G
خلاصهٔ کاملتر
تیم VIDRAFT با نام vidraft-darwin تو چالش Fast Gemma شرکت کرده بود؛ چالشی که تیم Gemma گوگل و Hugging Face برگزار کردن و قانونش سادهست: مدل google/gemma-4-E4B-it روی یه GPU مدل A10G، بدون عوض کردن مدل یا خاموش کردن قابلیتها، فقط با بهینهسازی نرمافزاری هرچقدر میتونی سریعتر. تو این مقاله اومده که اگه PPL از حدود ۲.۴۲ بالاتر بره اجرا رد میشه، و فقط نتایجی تو رتبهبندی حساب میشن که برگزارکنندهها روی یه ست پرامپت خصوصی دوباره اجرا و VERIFIED کنن.
نتیجهٔ نهاییشون ۵۱۰.۵۸ توکن بر ثانیه با PPL ۲.۳۹۳۰ بود. نویسندهها خودشون صادقانه میگن که رکوردهای سریعتری هم روی برد هست — مثلاً ۵۳۵.۹۱ — ولی اونها PPL بالای ۲.۴۴ دارن، از حد کیفیت رد شدن و تأیید نشدن. چیزی که بهش افتخار میکنن «سریعترین» نیست، «سریعترین در بین نتایج تأییدشده» هست.
کل استک با یه فایل manifest.json بازتولید میشه که عمومی منتشرش کردن. مهمترین کلیدهاش اینهان:
"SLIDING_WINDOW": "188",
"CENTROID_TOP_K": "49",
"WARMUP_BRIDGE": "1",
"WARMUP_NUM_PROMPTS": "64",
"PRECACHE_BENCH": "0",
"ONEGRAPH": "1"هر کدوم کار مشخصی میکنن: پنجرهٔ لغزان ۱۸۸ توکنی فشار پهنایباند حافظه روی KV-cache رو کم میکنه (۱۲۸ کیفیت رو خراب میکنه و پنجرهٔ بازتر کندتر میشه، پس بهترین جواب حوالی ۱۸۸ تا ۱۹۲ درمیاد)، CENTROID_TOP_K یه تنظیم سطح کرنله که throughput و PPL باهاش با هم جابهجا میشن، و پل warmup با ۶۴ پرامپت مصنوعی درست قبل از شروع اندازهگیری کپچر CUDA-graph و JIT رو تموم میکنه — به گفتهٔ نویسنده بدون این حدود ۱۵ توکن بر ثانیه از دست میدادن.
PRECACHE_BENCH هم عمداً خاموشه؛ مسیر precache میتونه عدد خوداندازهگیری رو باد کنه ولی موقع اجرای مجدد خصوصی INVALID برمیگرده، پس با خاموش بودنش عددی که گزارش میکنی همون عددیه که تأیید میشه. کنارش speculative decoding با روش mtp و ۷ توکن پیشبینیشده و چندتا بهینهسازی مثل ONEGRAPH و FUSED_SPARSE_ARGMAX سربار لانچ کرنل و سمپلینگ رو کم میکنن. نویسندهها میگن اصل کارشون یه جملهست: فقط شتابهایی رو روی هم سوار کن که به کیفیت دست نمیزنن.
نکات کلیدی:
- رکورد تأییدشده: ۵۱۰.۵۸ توکن بر ثانیه با PPL ۲.۳۹۳۰ روی یه A10G تکاستریم
- سقف کیفیت (PPL حدود ۲.۴۲) خط قرمزه؛ رکوردهای سریعتر ولی بیکیفیت اصلاً تأیید نمیشن
- مهمترین اهرمها: پنجرهٔ لغزان ۱۸۸، تنظیم CENTROID_TOP_K، پل warmup ۶۴ پرامپتی و speculative decoding
- خاموش کردن precache باعث میشه عدد خوداندازهگیری با عدد تأییدشده یکی باشه
- کانفیگ روی داراییهای اشتراکی جامعه سواره: وزنهای INT4، drafter و keepset مربوط به lm-head که بقیهٔ شرکتکنندهها منتشر کرده بودن




