قياس الكمون: p50 وp95 وزمن أول رمز
لماذا يخدعك متوسط زمن الاستجابة، والفرق بين زمن أول رمز وزمن الرمز التالي، وكيف تحسب ميزانية كمون لكل مرحلة في خط RAG.
«متوسط زمن الاستجابة ١٫٢ ثانية» جملة تطمئن الفريق ولا تصف تجربة أحد. المستخدم لا يعيش في المتوسط: إن كان واحد من كل عشرين طلبًا يستغرق ثماني ثوانٍ، فهذا ما سيُكتب في الشكاوى.
أربعة أرقام بدل واحد
| المقياس | ما يعنيه | لماذا يهمّ |
|---|---|---|
| TTFT زمن أول رمز | من الطلب إلى ظهور أول حرف | ما يُحسّ به المستخدم فعلًا |
| TPOT زمن كل رمز تالٍ | سرعة تدفّق النصّ | يحدّد شعور «السلاسة» |
| p50 | نصف الطلبات أسرع منه | الحالة المعتادة |
| p95 / p99 | الذيل | مصدر الشكاوى |
الزمن الكلّي ≈ TTFT + (عدد رموز الإخراج × TPOT). ومن هذه المعادلة تخرج نتيجة مباشرة: تقصير الإجابة يقصّر الزمن الكلّي، بينما تحسين الاسترجاع يقصّر TTFT.
البثّ: تحسين إدراكي لا حسابي
البثّ (streaming) لا يقلّل الزمن الكلّي إطلاقًا — يقلّل الانتظار الصامت. المستخدم يرى النصّ ينمو فيقرأ أثناء التوليد. وهو أرخص تحسين في تجربة المستخدم، بشرط ألا يخفي عنك أن TTFT ما يزال سيّئًا: قِسه مستقلًّا.
ميزانية كمون لخط RAG
وزّع سقفك الكلّي على المراحل، ثم قِس كل مرحلة على حدة:
| المرحلة | حصّة مقترحة من سقف ٢ ثانية |
|---|---|
| تضمين السؤال | ٥٪ |
| البحث الهجين | ١٠٪ |
| إعادة الترتيب | ٢٠٪ |
| بناء السياق | ٥٪ |
| TTFT من النموذج | ٦٠٪ |
القيمة هنا ليست في الأرقام بل في وجود ميزانية: حين يتجاوز الكمون السقف، تعرف أي مرحلة أكلت حصّة غيرها بدل أن تخمّن.
ما يرفع الكمون أكثر مما تظن
- طول الإدخال: حشو مقاطع كثيرة يرفع TTFT مباشرةً.
- إعادة ترتيب قائمة طويلة: خطّي بعدد المرشّحين.
- حلقات الوكلاء: كل دورة استدعاء كامل — خمس دورات تعني خمسة أضعاف.
- الطوابير عند الذروة: الذيل يتضخّم فجأة والمتوسط بالكاد يتحرّك.
- البرد الأول (cold start): أول طلب بعد خمول يدفع ثمن التهيئة.
على الخادم الذاتي، محرّك خدمة كفؤ يغيّر المعادلة: تدير آلية PagedAttention في vLLM [1] ذاكرة المفاتيح والقيم بكفاءة ترفع الإنتاجية عند كمون مماثل، ويقلّل FlashAttention [2] حركة الذاكرة داخل حساب الانتباه نفسه.
متى لا يستحقّ تحسين الكمون
- مهام غير تفاعلية: تصنيف أرشيف أو ملخّصات ليلية — حسّن التكلفة والإنتاجية بدلها.
- حجم منخفض لا يظهر فيه ذيل معتبر أصلًا.
- قبل أن يكون لديك قياس: تحسين بلا رقم أساس عبث.
كيف تبني لوحة كمون تُقرأ
اللوحة التي تعرض متوسّطًا واحدًا تخفي أكثر مما تكشف. أربع قواعد تجعلها مفيدة:
- اعرض المئينات لا المتوسّطات: الوسيط، والمئين التسعين، والمئين التاسع والتسعين. المتوسّط يتحرّك ببطء ويخفي أن واحدًا من كل عشرة مستخدمين ينتظر ضعف ما ينتظره غيره.
- افصل الكمون حسب نوع الطلب. خلط الطلبات القصيرة بالطويلة في رسم واحد يُنتج رقمًا لا يصف أحدًا. الطلب الذي يمرّ باسترجاع ليس كالذي يُجاب من المخبأ.
- ارسم الكمون بجوار المعدّل والتكلفة. ارتفاع الكمون وحده غامض؛ ارتفاعه مع ارتفاع المعدّل يعني حِملًا، ومع ثبات المعدّل يعني عطلًا في المصبّ.
- علّم النشرات على الرسم. أغلب قفزات الكمون تتبع تغييرًا، ورؤية خطّ النشر فوق الرسم تختصر ساعات تشخيص.
وأضف تنبيهًا واحدًا فقط في البداية: المئين التسعين لزمن أول رمز تجاوز عتبتك لخمس دقائق متتالية. التنبيه على المتوسّط يصل متأخّرًا، والتنبيه على كل قفزة لحظية يُتجاهَل بعد أسبوع.
الأخطاء الشائعة
- الاكتفاء بالمتوسط.
- قياس الزمن الكلّي دون TTFT، فيضيع ما يشعر به المستخدم.
- القياس من الخادم لا من المتصفّح — الشبكة جزء من التجربة.
- تجاهل الذروة: قِس تحت حمل مشابه للواقع.
- إضافة إعادة ترتيب أو حلقة وكيل بلا إعادة قياس p95.
الأسئلة الشائعة
ما السقف المقبول؟
يحدّده السياق: مساعد دردشة يحتمل TTFT حتى ثانية إن كان البثّ يعمل، وإكمال تلقائي يحتاج أقلّ من ٣٠٠ جزء من الألف. اكتب سقفًا صريحًا واجعله معيار قبول.
كيف أقلّل TTFT بسرعة؟
قلّل رموز الإدخال (مقاطع أقلّ وأدقّ)، وفعّل التخزين المؤقت للجزء الثابت، ووجّه الأسئلة السهلة إلى نموذج أصغر وأسرع.
هل الأسرع دائمًا أفضل؟
لا. إن أنتج نموذج أسرع إجابات أضعف فالكسب وهميّ. قِس الكمون والجودة معًا، واختر النقطة التي تفي بالسقفين لا التي تحسّن رقمًا واحدًا.
المراجع
- Kwon, W. et al. Efficient Memory Management for LLM Serving with PagedAttention. SOSP 2023. arXiv:2309.06180
- Dao, T. et al. FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness. arXiv:2205.14135
- Liu, N. et al. Lost in the Middle. arXiv:2307.03172
أدوات مذكورة في هذا المقال
اقرأ بعده
التخزين المؤقت للسياق: كيف تُرتّب طلبك ليعمل
كيف يعمل التخزين المؤقت للسياق، ولماذا يشترط أن يكون الجزء الثابت في المقدّمة ومطابقًا بايتًا ببايت، وأشهر خطأ يبطله بلا أن تلاحظ.
اقرأ المقالتوجيه النماذج: نموذج صغير لأسئلة سهلة
كيف توزّع الطلبات بين نموذج صغير وآخر كبير بقواعد أو مصنِّف، وكيف تقيس أثر التوجيه على الجودة قبل اعتماده، ومتى يكون التعقيد بلا مقابل.
اقرأ المقالالتكميم (Quantization): ما الذي تخسره فعلًا؟
كيف يقلّص التكميم ذاكرة النموذج، وماذا أثبتت QLoRA عن ضبط نماذج ضخمة على وحدة واحدة، ولماذا يجب قياس الخسارة على مهمتك لا على معيار عام.
اقرأ المقالنشرة إسناد الأسبوعية
ثلاثة أشياء مفيدة كل أسبوع: ورقة بحثية مشروحة، قياس عملي، وخطأ شائع رأيناه في الإنتاج. بلا حشو وبلا رعايات مخفية.