محتويات الدورة

MLOps / أسس التنبؤ والأدلة / الدرس 4

سجلات التجارب وتتبع تسلسل المصدر

اربط الآثار والتنفيذات والمقاييس وقرارات الاختيار كي يمكن التحقيق في النتيجة لاحقاً.

وقت القراءة التقريبي: 4 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • فصل التشغيل عن الآثار التي يستهلكها وينتجها.
  • توثيق تعريفات المقاييس ومجتمعات المقارنة المتوافقة.
  • استخدام تسلسل المصدر للإجابة عن سؤال تشخيصي ملموس.

التشغيل تنفيذ لا اسم نموذج

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

يسجل تسلسل المصدر اعتمادات ذات معنى

يعرف المثال الأول الآثار وحواف التنفيذ، ويتحقق من وجود الهويات المشار إليها، ويحدد التنفيذ الذي أنتج نموذجاً وتقريراً. قد يخزن نظام مصدر فعلي سياقات وخصائص أغنى، لكن السؤال المهم يبقى محدداً: أي بيانات وتقسيم وتحويل وتنفيذ أنتج الأثر قيد المراجعة؟ ميز الملف المنسوخ عن نموذج حُسب حديثاً واحفظ العلاقة بينهما. لا يثبت وجود معرّف للأثر الأب أن محتواه ثابت أو صحيح. احفظ هوية المحتوى وإصدارات العقود عند الحاجة، وتجنب تسجيل أسرار أو أمثلة خاصة غير لازمة ضمن البيانات الوصفية.

python مثال اختباري حتمي يعمل محلياً بالمكتبة القياسية
artifacts = {"data-v1":{"kind":"dataset"}, "split-v1":{"kind":"split"},
             "model-v1":{"kind":"model"}, "evaluation-v1":{"kind":"report"}}
executions = [{"id":"fit-1", "inputs":["data-v1","split-v1"], "outputs":["model-v1"]},
              {"id":"assess-1", "inputs":["model-v1","split-v1"], "outputs":["evaluation-v1"]}]
for execution in executions:
    assert all(key in artifacts for key in execution["inputs"] + execution["outputs"])
producer = {output:run["id"] for run in executions for output in run["outputs"]}
print("model producer", producer["model-v1"])
print("report producer", producer["evaluation-v1"])
print("model inputs", executions[0]["inputs"])
الناتج المتوقع
model producer fit-1
report producer assess-1
model inputs ['data-v1', 'split-v1']

هوية الأثر وهوية التنفيذ منفصلتان؛ وتدعم حواف الذاكرة استعلام مصدر صغيراً دون مخزن خلفي للبيانات الوصفية.

تحتاج قيمة المقياس عقد قياس

سجل اسم المقياس واتجاه تحسنه ووحداته والمجتمع المؤهل والمقام والشرائح والعتبات وسياسة نضج الوسم وعدم اليقين المناسب. قد تعني قيمة اسمها score ملاءمة تدريب أو اختيار تحقق أو نتيجة تشغيلية متأخرة أو تقييماً نهائياً لم يمس. هذه أدوار أدلة مختلفة. يقارن المثال الثاني فقط سجلات تشترك في المقياس والمجتمع المعلنين؛ فلا تتفوق خسارة أقل من مجتمع آخر تلقائياً. قد يبطل اختلاف الترجيح أو المعالجة أو خرائط تسميات الفئات أو قواعد الوسوم المفقودة المقارنة أيضاً رغم تطابق أسماء المقاييس. احفظ هوية تنفيذ التقييم إلى جانب الرقم المعلن.

python مثال اختباري حتمي يعمل محلياً بالمكتبة القياسية
runs = [{"id":"a", "metric":"mae", "cohort":"validation-v1", "value":2.0},
        {"id":"b", "metric":"mae", "cohort":"validation-v2", "value":1.5},
        {"id":"c", "metric":"mae", "cohort":"validation-v1", "value":1.8}]
comparable = [run for run in runs if run["metric"] == "mae" and run["cohort"] == "validation-v1"]
best = min(comparable, key=lambda run:run["value"])
print("comparable ids", [run["id"] for run in comparable])
print("selected", best["id"], best["value"])
الناتج المتوقع
comparable ids ['a', 'c']
selected c 1.8

لا تعد القيمة الأصغر من مجتمع آخر نتيجة أفضل بصمت وفق عقد المقارنة المعلن.

يشرح تاريخ الاختيار الأدلة المستهلكة

تتبع المرشحين المجربين وسبب اختيار أحدهم والتغييرات اللاحقة التي دفعت إليها نتائج مفحوصة. قد يجمع التتبع الآلي حقولاً كثيرة ويغفل استبعاداً يدوياً أو قاعدة وسم معدلة أو أن اختباراً نهائياً وجه الضبط. عامل السجلات كسجلات مفيدة يحتاج اكتمالها مراجعة، لا كضمان تلقائي للصلاحية العلمية. احتفظ بالتشغيلات الفاشلة والمرفوضة عندما تفسر القرار. يجب أن تبقى النتيجة المنسوخة إلى تقرير مرتبطة بمجتمعها وأثرها الأصليين بدلاً من أن تصبح رقماً مواتياً منفصلاً.

استعلم تسلسل المصدر لاختبار فرضية

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

الأخطاء الشائعة وإصلاحها

دُمج تشغيلان مختلفان تحت اسم عرض واحد

لماذا يحدث؟
استُخدمت تسمية بشرية مقروءة كهوية للتنفيذ.
كيف تصلحه؟
أسند معرّفات مستقرة للتنفيذات والآثار واحفظ الحواف بينها.
كيف تتجنب تكراره؟
اختبر أسماء متكررة بمدخلات مختلفة في مثال تسلسل المصدر.

اختيرت أصغر خسارة معروضة عبر مجتمعات غير متوافقة

لماذا يحدث؟
أُهمل سياق المقياس وحدود التقييم.
كيف تصلحه؟
رشح وفق عقد قياس كامل قابل للمقارنة.
كيف تتجنب تكراره؟
احفظ المجتمع والترجيح والوحدات وهوية المقيم مع كل قيمة.

عوملت السجلات الآلية كسجل مصدر تجريبي كامل

لماذا يحدث؟
لم تُلتقط الاختيارات اليدوية والتحويلات الخارجية.
كيف تصلحه؟
راجع مساري الاعتماد والاختيار صراحة.
كيف تتجنب تكراره؟
سجل الاستبعادات والقواعد المعدلة والفشل وبيانات التقييم التي استُهلكت.

اختبر فهمك

1. لماذا ينبغي أن تختلف هوية تقرير التقييم عن هوية نموذجه؟

اعرض الحل المشروح

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

2. للتشغيل b خسارة أقل لكن مجتمعه مختلف. ماذا يسبق إعلان تفوقه؟

اعرض الحل المشروح

أعد التقييم على المجتمع والإجراء المتوافقين المتفق عليهما، أو صرح بأن المهمتين مختلفتان. افحص الوحدات والترجيح وإتاحة الوسوم والمعالجة المسبقة ودور الاختيار مع اسم المقياس. لا يثبت رقم أقل وحده صحة المقارنة.

أهم ما تعلمته

  • للتنفيذات والآثار هويات منفصلة.
  • يجعل سياق المقياس المقارنات ذات معنى.
  • ينبغي أن يجيب تسلسل المصدر عن سؤال مصدر محدد.

المراجع الرسمية