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

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

عقود الإيصال بالدفعات والاستجابة المباشرة

احفظ هوية التنبؤ ودلالات الإتمام ومعنى زمن الاستجابة عبر أنماط الإيصال.

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

أهداف الدرس

  • تمييز مخرجات الدفعات المجدولة عن سلوك الطلب والاستجابة.
  • استرجاع هوية النتيجة عند اختلاف الترتيب والإتمام الجزئي.
  • تضمين الانتظار والمعالجة المسبقة في ميزانية زمن معلنة.

يتبع نمط الإيصال أفق القرار

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

لا يحدد ترتيب الإتمام محاذاة المشاهدات

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

python مثال اختباري حتمي يعمل محلياً بالمكتبة القياسية
rows = [{"id":"c", "value":3}, {"id":"a", "value":1}, {"id":"b", "value":2}]
completed = [{"id":row["id"], "score":2*row["value"]} for row in reversed(rows)]
assert len({row["id"] for row in rows}) == len(rows)
by_id = {row["id"]:row["score"] for row in completed}
assert set(by_id) == {row["id"] for row in rows}
restored = [by_id[row["id"]] for row in rows]
print("completion ids", [row["id"] for row in completed])
print("input-order scores", restored)
الناتج المتوقع
completion ids ['b', 'a', 'c']
input-order scores [6, 2, 4]

تسترجع الهوية الصريحة نتيجة اصطناعية أعيد ترتيبها؛ ولا ينشئ المثال عمالاً أو طوابير أو خدمة غير متزامنة.

تشمل ميزانية الزمن أكثر من حساب النموذج

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

python مثال اختباري حتمي يعمل محلياً بالمكتبة القياسية
requests = [{"id":"a", "arrival_ms":0, "deadline_ms":7},
            {"id":"b", "arrival_ms":3, "deadline_ms":8}]
batch_start_ms, compute_ms = 5, 2
completion_ms = batch_start_ms + compute_ms
for request in requests:
    latency = completion_ms - request["arrival_ms"]
    print(request["id"], "latency_ms", latency, "within_deadline", completion_ms <= request["deadline_ms"])
الناتج المتوقع
a latency_ms 7 within_deadline True
b latency_ms 4 within_deadline True

يحسب المثال انتظار الطابور مع زمن حساب افتراضي ثابت؛ وهو حساب عددي لا معيار زمن استجابة مرصود.

سلوك الفشل والحمل الزائد جزء من الواجهة

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

افحص التكافؤ الوظيفي قبل قياس السعة

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

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

صح طول خرج الدفعة واختلفت درجات الكيانات

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

حسب ادعاء زمن الاستجابة نداء استدلال دافئاً فقط

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

تحول طلب فاشل إلى صفر عددي

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

اختبر فهمك

1. لماذا يتجاوز زمن الطلب a زمن b في مثال المهلة رغم وقت إتمام مشترك؟

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

يصل الطلب a عند صفر وينتهي عند سبعة، فزمنه سبعة. يصل b عند ثلاثة وينتهي أيضاً عند سبعة، فزمنه أربعة. يعتمد الانتظار على وقت الوصول. لا تصف مدة حساب دفعة واحدة مقدارها اثنان زمن أي من الطلبين كاملاً.

2. أعادت دفعة درجتين لثلاثة معرّفات بعد فشل سجل. ماذا يجب أن يعرف المستهلك؟

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

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

أهم ما تعلمته

  • طابق توقيت الإيصال وأفق معلومات القرار.
  • احفظ الهوية عبر إعادة الترتيب والإتمام الجزئي.
  • ينتمي زمن الاستجابة وسلوك الفشل إلى عقد التنبؤ.

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