یک بررسی، اثر quantization در KV cache مدل Qwen3.8 27B را با مقایسه توزیع احتمال خروجی اندازه گرفته است. نویسنده ۳۵ حالت weight quantization را در llama.cpp، exllamav3 و vLLM با cache شانزدهبیتی، هشتبیتی و در صورت پشتیبانی، چهاربیتی آزمایش کرده است. دادههای آزمایش شامل متنهایی از حوزههای مختلف و نمونههای agentic tool-use بوده و طول هر ردیف تا ۶۴ هزار token میرسد.
معیار اصلی، KL divergence یا KLD است: میزان فاصله احتمال token بعدی از نسخه مرجع bf16 بدون quantization. صفر یعنی توزیع احتمال تغییری نکرده است؛ بنابراین این اعداد مستقیماً درصد افت کیفیت پاسخ نیستند. برای مقایسه اثر cache نیز tokenهای یکسان در هر prompt بررسی شدهاند.
نتیجه اصلی برای cache هشتبیتی مثبت بود. در llama.cpp و ExLlamaV3، تغییر KLD برای همه حالتهای آزمایششده کمتر از ۰٫۰۰۰۱۲ در هر جهت بود؛ نویسنده این مقدار را در محدوده نوسان محاسبات عددی میداند. در context با ۶۴ هزار token، مصرف KV cache از ۴ GiB به حدود ۲٫۱۳ GiB رسید. در vLLM، cache از نوع FP8 مصرف را به ۲ GiB رساند، اما KLD بین ۰٫۰۰۰۴ تا ۰٫۰۰۰۶ افزایش یافت.
cache چهاربیتی اثر محسوستری داشت. در llama.cpp، افزایش KLD حدود ۰٫۰۰۱۶ تا ۰٫۰۰۲۷ بود و اثر نسبی آن برای وزنهای دقیقتر بیشتر میشد. برای Q8_0، مقدار KL از ۰٫۰۰۰۷ به ۰٫۰۰۳۴ رسید؛ بدتر از UD-Q5_K_XL با cache شانزدهبیتی. در EXL3 نیز میزان افزایش به دقت وزنها وابسته بود. vLLM گزینه cache چهاربیتی نداشت.
در ۱۲ سند بلند آزمایش، اثر منفی cache چهاربیتی با طول context بیشتر شد: افزایش KL در محدوده ۱۶ تا ۳۲ هزار token، حدود ۱۵ تا ۳۰ درصد بیشتر از ۴ هزار token نخست بود. نویسنده استفاده از cache چهاربیتی را توصیه نمیکند، هرچند احتمال میدهد برای وزنهای Q3 یا پایینتر ارزش بررسی داشته باشد.
بررسی همچنین نشان داد activation quantization در نتایج vLLM سهم دارد. اجرای دوباره NVFP4 و FP8 با Marlin kernelها و activation از نوع bf16، KLD را کاهش داد. بااینحال، این یافتهها درباره فاصله توزیع احتمال در همین آزمایشاند و نباید با نتیجه مستقیم یک ارزیابی کیفیت پاسخ یکسان گرفته شوند.


