چطور ایجنتهای هوش مصنوعی رو سریعتر کنیم
خلاصهٔ کاملتر
نویسنده که سالها روی سریعتر کردن سایتها کار کرده، میگه سرعت inference دو بخش داره. اولی TTFT هست (زمان تا اولین توکن)، شبیه TTFB تو وبسرورها. این عدد با تعداد توکنهای ورودی بالا میره، برای همین prompt caching خیلی مهمه. دومی tok/s هست، یعنی وقتی جواب شروع شد، توکنها با چه سرعتی میان. اگه ایجنتت کلی جواب کوتاه رد و بدل میکنه، TTFT مهمتره. اگه کد یا متن بلند تولید میکنه، tok/s.
به گفتهٔ نویسنده، سرعت یه مدل یکسان بین providerهای مختلف خیلی فرق داره و بسته به ساعت روز و بار سرور هم عوض میشه. یه مشکل noisy neighbour هم هست، یعنی وقتی بقیهٔ کاربرای همون سختافزار بار سنگین میفرستن، کار تو کند میشه. ولی نویسنده تأکید میکنه که thinking budget از همه مهمتره. یه مدل «سریع» با thinking روی حداکثر، خیلی کندتر از یه مدل «کند» با thinking کمه.
نکتهٔ بعدی اینه که inference معمولاً بزرگترین بخش زمان نیست. به گفتهٔ نویسنده، نصف کردن زمان inference ممکنه فقط ۲۰ درصد از کل کار کم کنه. باید ردپای tool callها (یعنی لاگ دستوراتی که ایجنت اجرا میکنه) رو نگاه کرد. مثلاً xargs -I{} روی کلی فایل، صدها هزار پروسهٔ جدید میسازه. یا چون ایجنتها برای هر دستور یه shell جدید باز میکنن، چیزهایی مثل nvm تو .bashrc میتونه کلی وقت بگیره.
نویسنده میگه ابزاری رو بده که ایجنت میخواد. اگه مدام روی فایلهای markdown داره xargs میزنه، شاید بهتره دادهها تو یه دیتابیس با full text search باشن. تو مدلهای open weights میشه ردپای thinking رو خوند و دید ایجنت قبل از کارهای کند به چی فکر میکرده. حلقههای for با sleep هم نشون میده ایجنت دنبال یه راه notification هست ولی مجبوره poll کنه. موازیسازی tool callها هم خیلی کمک میکنه.
سختافزار هم مهمه: نوع دقیق هستهٔ CPU (هستههای Zen 4c/5c میتونن خیلی کندتر باشن)، فرکانس و سرعت IO. دیسک NVMe محلی میتونه خیلی سریعتر از دیسک شبکهای باشه، و snapshot و copy on write تو sandboxها سربار IO دارن.
تو suspend و resume هم MicroVMها روی کاغذ سریع برمیگردن ولی صفحههای حافظه رو موقع اولین دسترسی میآرن. پس بهتره قبل از suspend مرورگرهای headless و سرورهای اضافه رو ببندی. IPv6 خراب تو sandbox هم با timeout روی lookupهای AAAA به هر درخواست یه کم تأخیر اضافه میکنه.
نکات کلیدی:
- TTFT برای جوابهای کوتاه و پشت سر هم مهمتره و tok/s برای خروجیهای بلند
- پایین آوردن thinking budget به گفتهٔ نویسنده سادهترین و پربازدهترین کاره
- نصف کردن زمان inference ممکنه فقط ۲۰ درصد زمان کل کار رو کم کنه
- حلقههای for با sleep یعنی ایجنت به یه مکانیزم notification نیاز داره
- هستههای Zen 4c/5c، دیسک شبکهای و IPv6 خراب تو sandbox میتونن ایجنت رو کند کنن
- MicroVMها بعد از resume صفحههای حافظه رو تازه موقع اولین دسترسی میآرن




