تنظیم vLLM برای اجرای swarm ایجنتها روی مدل محلی
خلاصهٔ کاملتر
swarm ایجنت یعنی یه ایجنت هماهنگکننده کار رو بین چند زیرایجنت پخش میکنه که هرکدوم یه تیکه مثل تحقیق، تولید کد، بازبینی یا خلاصهسازی رو همزمان انجام میدن و آخرش نتیجهها با هم ادغام میشن. تو این مقاله اومده که این شکل کار فقط وقتی جواب میده که سرور inference بتونه دهها درخواست همزمان رو تحمل کنه، و پیشفرضهای vLLM اصلاً برای این بار کاری تنظیم نشدن.
ادعای اصلی نویسنده اینه که تأخیر چت و توان ایجنتی دو تا مسئلهٔ جدان و بهینه کردن یکی میتونه به اون یکی ضربه بزنه. روی یه سیستم چهار کارته RTX 3090، نسخهٔ سنگین کوانتایزشده که تقریباً معادل ۴ بیتیه تو کارهای کدنویسی ایجنتی طولانی شروع به شکست خوردن کرد، ولی همون کلاس مدل چگال ۲۷ میلیاردی با FP16 کارها رو تموم کرد، با اینکه تو یه چت تکی کندتر بود.
تنظیمهایی که مقاله لیست میکنه اینان: GPU memory utilization روی ۰٫۹۵، max model length روی ۱۸۲۴۴ توکن، max number of sequences روی ۲۰ که سقف تعداد درخواست همزمانه، max batch tokens روی ۱۶K و کوانتایز KV cache روی FP8 با فرمت E4M3. prefix caching و chunked prefill هم روشنن؛ prefix caching یعنی سرور کانتکست مشترک ایجنتها رو دوباره پردازش نمیکنه، که همین سرعت بارگذاری مجدد رو خیلی بالا میبره.
تو یه تست واقعی، ایجنت هماهنگکننده یه کار تحقیقی رو بین پنج زیرایجنت پخش کرد و تعداد درخواستهای در حال اجرا تو داشبورد vLLM تا نزدیک سقف بالا رفت. اول توکنهای prefill زیاد شدن، یعنی مرحلهای که مدل کانتکست رو میخونه، و بعد decode جهش کرد. نرخ decode روی این سختافزار به بازهٔ ۲۰۰ تا ۳۵۰ توکن بر ثانیه رسید و نرخ اصابت prefix cache حدود ۹۴ تا ۹۵ درصد بود.
برای وصل شدن، Hermes agent یه endpoint سفارشی روی IP و پورت سرور vLLM میگیره و از همون مسیر استاندارد سازگار با OpenAI استفاده میکنه، بعدش خودش مدل و طول کانتکست رو کشف میکنه. نویسنده یه نکتهٔ زیرساختی هم اضافه میکنه: اجرای سرور GPU داخل کانتینر LXC بهجای ماشین مجازی، سربار passthrough کارت گرافیک رو نداره و افت عملکرد محسوسی هم ایجاد نمیکنه.
نکات کلیدی:
- max number of sequences سقف تعداد ایجنتهای همزمانه؛ ۱۶ امن، ۲۰ با کمی فاصلهٔ اطمینان و ۲۴ با انتظار محسوس.
- GPU memory utilization روی ۰٫۹۵، max model length روی ۱۸۲۴۴ توکن و max batch tokens روی ۱۶K تنظیم شده بود.
- کوانتایز KV cache روی FP8 با فرمت E4M3 فشار حافظه رو روی کارتهای Ampere کم میکنه.
- نرخ اصابت prefix cache حدود ۹۴ تا ۹۵ درصد و اوج نرخ decode بین ۲۰۰ تا ۳۵۰ توکن بر ثانیه گزارش شده.
- کش پردازشگر چندرسانهای روی ۳۸۴ مگابایت برای کارهای مبتنی بر اسکرینشات، و ۲۵۶ مگابایت برای بار سبکتر.
- اجرای GPU داخل کانتینر LXC بهجای ماشین مجازی سربار passthrough رو حذف میکنه.




