انتقل إلى المحتوى

مصطلح في خيطين

مقياس النجاح في k محاولاتpass@k

المعنى في سطر

pass@k بيقيس احتمال إن واحدة على الأقل من k محاولات للنموذج تنجح، زي إن واحد من 10 أكواد مولّدة يعدّي كل اختبارات الوحدة. كل ما k زاد، النتيجة بتعلى، لكن ده مش معناه إن…

باختصار

pass@k (النجاح في k محاولات) مقياس لجودة الكود اللي بيولّده نموذج لغوي: بيقولك احتمال إن واحد على الأقل من k أكواد مولّدة يعدّي كل اختبارات الوحدة.

بالتفصيل

حسب مسرد Google، النماذج اللغوية كتير بتتعثّر في مسائل البرمجة المعقّدة، فالمهندسين بيطلبوا منها كذا حلّ (k حلول) لنفس المسألة، ويختبروا كل حلّ. لو حلّ واحد أو أكتر نجح، يبقى النموذج «نجح» في المسألة. ولو مفيش ولا حلّ، يبقى «فشل».

المعادلة: pass@k = عدد المسائل اللي نجح فيها ÷ إجمالي المسائل. وبشكل عام، كل ما k زاد، النتيجة بتعلى، لكن ده بيحتاج حوسبة واختبارات أكتر.

وهنا فيه نقطة مهمّة جدًا مع الوكلاء: pass@k بيقيس «هل يقدر؟» مش «هل هيعمل كل مرّة؟». اختبار ThinkingBox من Microsoft بيفرّق بين تلات أرقام: pass@1 (نسبة نجاح المحاولة الواحدة، يعني «عادةً بيعمل إيه؟»)، وpass@20 (المهام اللي نجح فيها ولو مرّة في 20 محاولة، يعني «هل يقدر أصلًا؟»)، و«20 من 20» (المهام اللي نجح فيها كل المرّات، يعني «هل دايمًا صح؟»). ولقوا إن نماذج كتير بتحتفظ بنسبة صغيرة جدًا من نجاحها لما تطلب منها النجاح كل مرّة.

مثال عملي

من مثال المسرد: طلبت من نموذج k=10 حلول لـ50 مسألة برمجة صعبة. في 30 مسألة كان فيه حلّ واحد على الأقل صحيح، وفي 20 مفيش. يبقى pass@10 = 30 ÷ 50 = 0.6. لكن لو هتشغّل النموذج ده في منتج حقيقي ومش هتقدر تختبر 10 حلول كل مرّة، الرقم اللي يهمّك أكتر هو pass@1.

مصطلحات مرتبطة

المصادر: Google ML Glossary، Hugging Face — ThinkingBox — 2026-10-03