توقفت عن مطاردة MTP TPS وحصلت على وكيل (Agent) محلي بقدرة 27B يعمل على 24GB VRAM
لا تهمني اختبارات الأداء (benchmarks) للمطالبة الواحدة (single prompt).
ما يهمني هو الحلقة (the loop).
يحتاج وكيل البرمجة (coding agent) إلى العمل لساعات. يجب أن يتعامل مع التعديلات، واستدعاءات الطرفية (terminal calls)، وإعادة المحاولة، والسياق المتزايد. إذا فشل النموذج بعد عشر مطالبات، فهو عديم الفائدة.
أردت معرفة ما إذا كان بإمكاني تشغيل نموذج 27B على وحدة معالجة رسومات (GPU) واحدة بسعة 24GB. قمت باختبار Qwopus3.6-27B-v2 وأنشأت نسخة جديدة: XReyRobert/Qwopus3.6-27B-v2-GPTQ-Pro-v1.
إليك إعداداتي لحلقة وكيل مستقرة بسعة 24GB:
- النموذج: Qwopus3.6-27B GPTQ-Pro 4-bit
- المحرك: vLLM مع GPTQ-Marlin
- السياق: 131k tokens
- ذاكرة التخزين المؤقت KV: FP8 (fp8_e5m2)
- الاستراتيجية: تفعيل التخزين المؤقت للبادئة (Prefix caching)
- القيد: max_num_seqs=1
لماذا max_num_seqs=1؟
على بطاقة واحدة بسعة 24GB، التوازي (parallelism) ليس مجانياً. إذا قمت بتشغيل طلبات متعددة، فستتنافس على الذاكرة. أريد أن ينتهي طلب واحد بشكل نظيف. أفضل الحصول على إجابة واحدة مفيدة على إجابتين معطلتين.
كما تخليت أيضاً عن فك التشفير التخميني (speculative decoding - MTP). على بطاقة 3090 واحدة، أضاف MTP ضغطاً على الذاكرة وتعقيداً دون زيادة السرعة الشاملة (end-to-end speed) للسياقات الطويلة.
المقاييس الحقيقية التي تهم:
- نسبة نجاح التخزين المؤقت للبادئة (Prefix cache hit ratio): ~83%
- متوسط TTFT: ~5.7s عند 33k tokens
- إنتاجية التعبئة المسبقة (Prefill throughput): ~1917 tok/s
- سرعة فك التشفير (Decode speed): ~43 tok/s
عندما يتم استخدام التخزين المؤقت للبادئة، ينخفض زمن الاستجابة (latency). عندما تغير المهام، يصبح التخزين المؤقت "بارداً" (cold) ويرتفع زمن الاستجابة. هذا أمر طبيعي. الهدف هو العودة إلى إعادة استخدام عالية للتخزين المؤقت بمجرد استقرار المهمة.
إذا كنت تختبر مطالبة واحدة فقط، فأنت تختبر الشيء الخطأ. بالنسبة لوكلاء البرمجة، يجب عليك اختبار الاستقرار على المدى الطويل.
هل تقوم بتشغيل حلقات الوكلاء (agent loops) على وحدة معالجة رسومات واحدة؟ ما هي الحيل التي تستخدمها لذاكرة التخزين المؤقت KV أو التخزين المؤقت للبادئة (prefix caching)؟
مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi