دلیل نیاز به حافظه کم در LLMها

مدل‌های بزرگ زبانی مانند GPT‑4 و LLaMA در طول تولید متن، حافظه را به خصوص برای ذخیرهٔ دست‌کیف (Key‑Value) مصرف می‌کنند. این محدودیت باعث می‌شود که کاربران با محدودیت‌های سخت‌افزاری مواجه شوند یا پارامترهای مدل به‌جای تولید متن کوتاه، نسبتاً کم‌مقداری از حافظه را سپری کنند.

مفهوم KV Cache کوانتیزه

KV Cache کوانتیزه به معنای تبدیل مقادیر پیش‌خروجی کلید و مقدار (Key and Value) در حافظه را به فشرده‌سازی کمترین باینری و عددی می‌سازد. با استفاده از 8‑بیتی یا 4‑بیتی در مقایسه با fp16 یا fp32، حجم مصرفی ۳‑۵ برابری کاهش می‌یابد. در عین حال با الگوریتم‌های بهینه‌سازی، کیفیت تولید متن تقریباً حفظ می‌شود.

نحوه استفاده در 🤗 Transformers و نتایج عملکرد

برای فعال‌سازی می‌توان پارامتر use_quantized_kv_cache=True را در pipeline یا مدل مورد نظر اضافه کرد. تجربیات به‌دست‌آمده در مقایسهٔ fp16 و کوانتیزه نشان می‌دهد که زمان درآورده به‌صورت متوسط ۱۵٪ کاهش پیدا می‌کند و مصرف حافظه ۴۵٪ تا ۵۰٪ کم می‌شود.

  • کاهش مصرف حافظه تا ۵۰٪
  • ایجاد امکان تولید متن طولانی‌تر (از ۱۰۰۰ تا ۵۰۰۰ token)
  • تداخل کم با کیفیت نهایی متن (دریافت ۹۴٪ از اسکور BLEU در آزمایش‌ها)
  • قابلیت تنظیم: 8‑بیتی برای کاربران پیشرفته، 4‑بیتی برای منابع محدود

با توجه به این ویژگی، توسعه‌دهندگان و محققان می‌توانند با سهولت بیشتری مدل‌های زبانی را بر سخت‌افزارهای محدود یا سرورهای کم‌سرعت برپا کنند.

در نهایت، استفاده از KV Cache کوانتیزه نه تنها تولید متن طولانی‌تر را امکان‌پذیر می‌سازد، بلکه منجر به اعتماد بیشتر در زمینهٔ امکانات عملی LLMها می‌شود.

پرسش‌های پرتکرار

KV Cache چیست؟

حافظهٔ KV (کلید‑مقدار) در مدل‌های زبانی سرویس می‌دهد تا نتایج محاسبات قبل را ذخیره کند، به‌منظور کوتاه‌کردن زمان پاسخ در تولید متن.

مزایا و محدودیت‌های KV Cache کوانتیزه چیست؟

مزایا: کاهش مصرف حافظه، افزایش سرعت تولید، امکان تولید متن طولانی‌تر. محدودیت‌ها: ترتیب‌بندی ممکن در بخش‌های خاص، نیاز به تنظیم دقیق پارامترهای کوانتیزه برای حفظ کیفیت.