معمارية النماذج وتحليل الذاكرة
ما هي ذاكرة KV المؤقتة؟ الحسابات، المعادلات وتقدير VRAM
افهم كيف يسرع التخزين المؤقت للمفاتيح والقيم التوليد التتابعي، ولماذا يسبب امتلاء VRAM في السياقات الطويلة، وكيف تخفض استهلاكه بنسبة 50% إلى 75%.
Interactive KV Cache Calculator
See how architecture, context tokens, and precision dictate real GPU memory consumption.
32 layers · 32 query heads · 8 KV heads (4:1 GQA group)
Multi-user servers (like vLLM) multiply the KV cache by active parallel requests.
Formula: 2 (Keys + Values) × 32 layers × 8 KV heads × 128 head dim × 32,768 tokens × 2 bytes
Because this model uses GQA (8:1 ratio), this KV cache is 4x smaller than it would be with legacy MHA (which would have required 16.0 GiB).
1. لماذا يتطلب التوليد التتابعي ذاكرة KV مؤقتة
في استدلال نماذج المحولات (Transformers)، يتم توليد الكلمات رمزًا تلو الآخر. لتوليد الرمز N، يجب على النموذج حساب الانتباه عبر كافة الرموز السابقة. بدون ذاكرة KV، سيتعين إعادة حساب متجهات المفاتيح والقيم لجميع الرموز السابقة في كل خطوة، مما يسبب تعقيدًا حسابيًا تربيعيًا O(N²).
عبر تخزين متجهات المفاتيح (Key) والقيم (Value) المحسوبة في VRAM، يظل الحساب خطيًا O(N) لكل رمز. لكن هذا يستبدل المعالجة بالذاكرة: كل رمز جديد تضيفه يوسع حجم ذاكرة KV حتى انتهاء التوليد.
2. المعادلة الرياضية الدقيقة
المعامل 2 يمثل كلاً من المفاتيح والقيم. عدد_الطبقات هو عمق المحول، ورؤوس_kv عدد رؤوس المفاتيح والقيم، وبعد_الرأس أبعاد الرأس، وطول_السياق هو إجمالي الرموز النشطة.
مثال: نموذج Llama 3 8B بمعمارية GQA (8 رؤوس KV وبعد 128 و32 طبقة) بسياق 16k بدقة FP16 (2 بايت): 2 x 32 x 8 x 128 x 16,384 x 1 x 2 = 2.15 جيجابايت VRAM لتسلسل محادثة مستخدم واحد.
3. تطور المعماريات: MHA مقابل GQA مقابل MLA
4. كيفية تكميم ذاكرة KV (توفير 50% إلى 75% من الذاكرة)
بشكل افتراضي، تخزن محركات الاستدلال ذاكرة KV بدقة FP16 (2 بايت لكل عنصر). وبتكميم الذاكرة إلى FP8 (1 بايت) أو INT4 (0.5 بايت)، يمكنك تقليل استهلاك الذاكرة فورًا بنسبة 50% أو 75% دون المساس بأوزان النموذج الأصلية.
في محرك vLLM، أضف المعامل --kv-cache-dtype fp8. وفي llama.cpp، استخدم -ctk q8_0 -ctv q8_0 أو -ctk q4_0 -ctv q4_0 لتوفير عدة جيجابايت في محادثات 32k فما فوق.
الأسئلة الشائعة
يتوقف محرك الاستدلال فجأة بخطأ نفاد الذاكرة CUDA Out of Memory (OOM)، أو يتم حذف الرموز الأولى إذا تم تفعيل السياق المتدحرج. ترك هامش أمان كافٍ في VRAM أمر حاسم لتجنب الانهيار المفاجئ أثناء الإجابة.
يعتمد على إجمالي طول التسلسل (رموز المدخلات زائد رموز المخرجات). سؤال بطول 20 ألف رمز مع إجابة 2 ألف رمز يستهلك نفس ذاكرة سؤال بطول 2 ألف مع إجابة 20 ألف.
نعم. تؤكد الاختبارات المعيارية الموسعة أن تكميم ذاكرة KV بدقة FP8 يسبب تدهورًا لا يكاد يذكر في مهام التفكير والمنطق، مع توفير جيجابايتات قيّمة من VRAM لتوسيع السياق.
يتوسع بشكل خطي تام. إذا استخدم 4 مستخدمين النموذج بالتزامن بسياق 8k لكل منهم، يتضاعف استهلاك ذاكرة KV بمقدار 4 مرات. تستخدم محركات مثل vLLM تقنية PagedAttention لمنع هدر المساحات الفارغة.
تضغط MLA متجهات المفاتيح والقيم إلى متجه كامن مضغوط قبل تخزينه في الذاكرة المؤقتة، مما يخفض البصمة الذاكرية بنسبة تصل إلى 93% مقارنة بـ MHA التقليدي، مما يتيح تشغيل 128k رمز بسلاسة خارقة.
احسب متطلبات ذاكرة KV المؤقتة بدقة
استخدم حاسبة VRAM التفاعلية لتجربة أطوال سياق وأحجام دفعات مختلفة عبر مئات النماذج.
Knowledge & Deep Dives
مركز المعرفة حول VRAM والنماذج اللغوية المحلية
أدلة تقنية شاملة، وتحليلات معمارية، وإرشادات لاختيار العتاد لمساعدتك على تشغيل نماذج الذكاء الاصطناعي محليًا بدقة وثقة مطلقة.