یک pull request در llama.cpp پیشنهاد میکند بخشی از expertهای MoE که در cache موجود نیستند، روی CPU اجرا شوند. میزان این کار با گزینهٔ --moe-cache-cpu-share تعیین میشود. نویسنده توضیح میدهد که اثر این تغییر بر سرعت decode به سرعت خواندن expertها توسط CPU وابسته است؛ بنابراین نتیجه برای همهٔ دستگاهها یکسان نیست.
این پیشنهاد همچنین script تازهای با نام scripts/moe-cache-tune.py دارد که برای یافتن تنظیم مناسب دو گزینهٔ --moe-cache-mib و --moe-cache-cpu-share روی دستگاه اجرا میشود. روش استفاده، قرار دادن اجرای script پیش از فرمان llama-server است. در نمونهٔ ارائهشده، script شش بار server را اجرا میکند؛ اجرای اول ۴۰۹۶ token و اجراهای بعدی هرکدام ۱۰۲۴ token تولید میکنند. model نیز یک بار خوانده میشود تا هر اجرا دوباره آن را از دیسک نخواند.
نتایج نمونه نشان میدهند افزایش سهم CPU لزوماً سرعت را بیشتر نمیکند. با cache برابر با ۶۴۶۴ MiB، تغییر سهم CPU از صفر به ۰٫۹۵، سرعت ثبتشده را از ۲۴٫۲ به ۴۷٫۶ token در ثانیه رسانده است. اما با cache برابر با ۱۹۳۹۲ MiB، همین تغییر سرعت را از ۶۵٫۵ به ۵۴٫۱ token در ثانیه کاهش داده است. خروجی script علاوه بر اندازهگیریها، سرعت را برای ترکیبهای دیگر با cache گرم پیشبینی و یک تنظیم پیشنهاد میکند؛ این پیشبینیها با اندازهگیری مستقیم یکی نیستند.
در گفتوگوی pull request، یک مشارکتکننده حدود ۱۰ درصد افزایش سرعت decode را روی پیکربندی آزمایششدهٔ خود گزارش کرده است. از سوی دیگر، Code Review خودکار به مواردی مانند یک خطای نادر در script، اعتبارسنجی ورودی NaN و نبود پوشش خودکار برای مسیر سهم CPU اشاره کرده است. متن موجود ادغام این پیشنهاد را تأیید نمیکند.


