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

MLOps / المسارات والإيصال المضبوط / الدرس 11

اختلاف تمثيل التدريب والاستدلال وزمن السمات

قارن تمثيلات السمات التاريخية والمقدمة فعلاً، بما يشمل وقت قابلية استخدام كل قيمة.

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

أهداف الدرس

  • تمييز زمن حدث السمة ووقت نشرها وعمرها.
  • منع دخول التصحيحات اللاحقة في الأمثلة التاريخية بصورة غير مشروعة.
  • تشخيص عدم توافق التمثيل قبل عزو الخسارة لتحول التوزيع.

يقارن الاختلاف مسارين يفترض اتفاقهما

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

لإعادة البناء التاريخي سؤالان زمنيان

لسجل السمة وقت حدث أو نفاذ ووقت نشر أو إتاحة لعملية التنبؤ. قد يصف تصحيح يضاف لاحقاً حدثاً سابقاً ويكون مجهولاً عند ذلك التنبؤ السابق. يرشح المثال الأول البعدين الزمنيين وعمر القيمة الأقصى. يختار البحث المقيد بوقت الحدث وحده قيمة تصل بعد الأوان. قد ينفذ منتج مخزن سمات دلالات خاصة للطوابع وإزالة التكرار؛ فتحقق من سلوكه وإعداده الموثقين، ولا تفترض أن عبارة point-in-time تمنع كل تصحيح متأخر تلقائياً. يجب أن يمثل وصف الإتاحة نفسه وقت قابلية الاستخدام الحقيقي بأمانة.

python مثال اختباري حتمي يعمل محلياً بالمكتبة القياسية
history = [{"event":1, "available":1, "value":10},
           {"event":3, "available":3, "value":30},
           {"event":4, "available":7, "value":99}]
prediction_time, max_age = 5, 3
by_event = [r for r in history if prediction_time-max_age <= r["event"] <= prediction_time]
available = [r for r in by_event if r["available"] <= prediction_time]
correct = max(available, key=lambda r:r["event"])
naive = max(by_event, key=lambda r:r["event"])
print("available historical value", correct["value"])
print("event-time-only value", naive["value"])
print("feature age", prediction_time-correct["event"])
الناتج المتوقع
available historical value 30
event-time-only value 99
feature age 2

لم يتوفر السجل الأحدث زمناً عند وقت التنبؤ؛ وتطبق السياسة الزمنية المزدوجة الصريحة عمراً أقصى معلناً أيضاً.

الحداثة شرط صلاحية خاص بالمهمة

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

قارن الحالة الملائمة والتنفيذ معاً

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

python مثال اختباري حتمي يعمل محلياً بالمكتبة القياسية
def transform(value, mean, scale):
    assert scale != 0
    return (value-mean)/scale
raw_value = 14.0
training = transform(raw_value, mean=10.0, scale=2.0)
serving = transform(raw_value, mean=10.0, scale=4.0)
print("training representation", training)
print("serving representation", serving)
print("same", training == serving)
الناتج المتوقع
training representation 2.0
serving representation 1.0
same False

لا يثبت تطابق المدخل الخام واسم السمة التكافؤ عندما تختلف معلمات التحويل المخزنة.

أصلح أول حد لا يتطابق

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

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

استخدم التدريب التاريخي قيمة مصححة نشرت لاحقاً

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

لم تتوفر سمة تبدو حديثة للمستهلكين

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

عومل تطابق الخام كتكافؤ تحويل

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

اختبر فهمك

1. لماذا يجب استبعاد القيمة 99 عند وقت التنبؤ خمسة؟

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

زمن حدثها أربعة لكنها لا تتوفر حتى سبعة. كانت مجهولة عند خمسة وفق سياسة المعلومات القابلة للاستخدام المعلنة. القيمة السابقة ثلاثون متاحة وداخل نافذة العمر. يعيد اختيار 99 بناء معرفة لم يمتلكها المتنبئ.

2. أصلح مسار الإيصال بعد عيب تسرب تاريخي. هل يبقى تقرير التحقق السابق مرجعاً صالحاً؟

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

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

أهم ما تعلمته

  • وقت النفاذ ووقت قابلية الاستخدام حقيقتان مستقلتان.
  • يجب أن تطابق دلالات مخزن السمات السؤال التاريخي المعلن.
  • أصلح اختلاف التمثيل وأعد تقييم أي دليل متأثر.

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