انتقل إلى المحتوى الرئيسي

مقاييس ومعايير التقييم

في عمليات الأمن السيبراني، الهلوسة غير مقبولة. إذا أوصت LLM بعزل شبكة فرعية مهمة لأنها أساءت فهم تنبيه حميد، فقد يكون الضرر التشغيلي شديدًا.

لضمان جاهزية الذكاء الاصطناعي قبل النشر في الإنتاج، تستخدم AuroraSOC مجموعة تقييم آلية. يوضح هذا المستند بالتفصيل كيفية قياس النماذج المضبوطة بدقة عبر المجالات المتخصصة باستخدام تسجيل الكلمات الرئيسية المنظمة.

فلسفة التقييم

نحن لا نقوم بتقييم نماذج AuroraSOC بناءً على معايير المحادثة العامة مثل MMLU أو تفضيلات الدردشة البشرية. المقياس الوحيد المهم هو: هل يُنتج النموذج توجيهات الأمان الصحيحة بناءً على مطالبة فنية محددة؟

للإجابة على هذا السؤال، يقوم training/scripts/evaluate_model.py بتشغيل مجموعة من سيناريوهات SOC الصعبة والواقعية عبر جميع المجالات (تحليل التنبيهات، ومطاردة التهديدات، والاستجابة للحوادث، وما إلى ذلك).

تشبيه: نحن لا نختبر قدرة العارضة على إجراء محادثة ممتعة؛ نحن نخضعه لتدريب وظيفي للاستجابة للحوادث. إذا لم يصرخ بالكلمات الرئيسية التقنية الصحيحة عند عرض حدث برنامج فدية نشط، فإنه يفشل في عملية التدريب.

تحديد المعيار

يتم تعريف المعايير بشكل واضح في evaluate_model.py. تحدد كل حالة اختبار سيناريو ومجموعة من الكلمات الرئيسية المتوقعة والحد الأدنى من النتائج المطلوبة.

فيما يلي مثال للهيكل:

{
"id": "incident_response_01",
"domain": "incident_response",
"difficulty": "intermediate",
"prompt": (
"A ransomware incident has been detected. File encryption is actively occurring "
"on server SRV-FILE-01. The ransom note references 'LockBit 3.0'. Initial access "
"appears to be through a phishing email received 3 days ago. Provide an incident "
"response plan following NIST SP 800-61."
),
"expected_keywords": [
"contain",
"isolat",
"backup",
"lockbit",
"phishing",
"lateral",
"eradicat",
"recovery",
"forensic",
],
"min_keyword_matches": 4,
}

من خلال إبقاء الكلمات الرئيسية متأصلة (على سبيل المثال، isolat تتطابق مع isolate، isolated، و isolation)، ​​فإننا نقوم بتقييم الكفاءة التحليلية للنموذج دون معاقبة الاختلافات الأسلوبية في الصياغة. إذا لم يقم النموذج بصياغة خطة تتضمن عزل المضيف والنظر في الحركة الجانبية، فإنه يفشل.

تشغيل مجموعة التقييم

يستخدم البرنامج النصي evaluate_model.py نفس واجهات العرض الخلفية التي يستخدمها أسطول وكلائنا. وهو يدعم التقييم المباشر مقابل vLLM أو Ollama أو نقطة تفتيش Unsloth المحلية المحملة في الذاكرة.

مقابل نقطة تفتيش محلية

يعد هذا مفيدًا مباشرة بعد انتهاء finetune_granite.py، قبل بدء تشغيل محرك الخدمة الكاملة.

python training/scripts/evaluate_model.py \
--model training/checkpoints/granite_soc_lora

ضد vLLM (اختبار تكافؤ الإنتاج)

يؤدي هذا إلى اختبار النموذج تمامًا كما سيتم تشغيله في مرحلة الإنتاج.

python training/scripts/evaluate_model.py \
--model vllm:granite-soc-specialist \
--vllm-base-url http://localhost:8000/v1

ضد أولاما

python training/scripts/evaluate_model.py \
--model ollama:granite-soc:latest

فهم النتائج

عند اكتمال التقييم، يقوم البرنامج النصي بإخراج ملخص صارم إلى stdout ويسجل قطعة أثرية eval_results.json مفصلة.

يعمل مدير التقييم محليًا، ولكنه صارم:

  • معدل ضرب الكلمة الرئيسية: النسبة المئوية لإجمالي الكلمات الرئيسية المحددة التي ضربها النموذج.
  • النجاح/الرسوب: يتم حسابه بدقة عن طريق تجاوز عتبة min_keyword_matches.
  • وقت الاستجابة: يتم تتبع الوقت حتى آخر رمز مميز. في ظل الحمل المعرفي العالي، قد يكون النموذج الذي يستغرق 45 ثانية لتشخيص التنبيه عديم الفائدة من الناحية الوظيفية في المسار الآلي.

نموذج لمقياس إخراج JSON:

{
"benchmark_id": "threat_hunt_01",
"domain": "threat_hunting",
"passed": true,
"keyword_hits": 6,
"keyword_total": 8,
"keyword_hit_rate": 0.75,
"response_time_s": 2.4,
"missed_keywords": ["SPN", "krbtgt"]
}

اختبار خط الأساس المستمر

إذا اخترت تغيير مجموعة بيانات الضبط الدقيق، أو التبديل إلى بنية نموذج أساسي جديد (على سبيل المثال، من Granite إلى Mistral)، أو تغيير إستراتيجيات تكميم vLLM، يجب عليك تشغيل مجموعة التقييم لتحديد معدل النجاح مقابل خط الأساس السابق.

لا ينبغي تدرج النموذج إلى بيئة SOC للإنتاج لديك ما لم يسجل pass_rate >= 0.85 عبر مجموعة المعايير بأكملها.