MLOps / المسارات والإيصال المضبوط / الدرس 9
إصدارات سجل النماذج والأسماء البديلة والترقية
ميز هوية الأثر الثابتة عن الاختيار المتغير واحفظ الأدلة وراء التغيير.
في هذه الصفحة
أهداف الدرس
- فصل النموذج المسجل والإصدار المحدد والاسم البديل.
- ربط دليل القبول بالأثر المقترح الدقيق.
- شرح القرارات المتقادمة والتوافق ومتطلبات التدقيق.
ينظم السجل الهويات والعلاقات
قد يجمع اسم نموذج إصدارات أنتجتها تشغيلات مختلفة، وينبغي أن يشير كل إصدار إلى حزمة قابلة للتحديد ووصفها. يشير اسم اختيار بديل إلى إصدار وقد يتغير عبر الزمن. تصف الوسوم خصائص وفق سياسة، لكن وسم approved مثلاً لا يثبت حدوث تقييم أو تصريح. تنفذ منتجات السجلات هذه المفاهيم بطرق مختلفة وتتطور واجهاتها. يستخدم المساق سجلات محايدة داخل الذاكرة؛ ولا تفرض مصطلحاته واجهة مراحل قديمة. اقرأ توثيق المنتج المحدد قبل إسقاط عملية ترقية مفهومية على سجل بعينه.
حل الاختيار المتغير عند حد معلن
يحل المثال الأول اسماً بديلاً مرة واحدة ويحتفظ بالإصدار الناتج لطلب اصطناعي. يؤثر تحريك الاسم لاحقاً في حل جديد بينما يحتفظ الطلب المثبت بحزمته الأصلية. دون هذا الحد قد تحمل عملية واحدة المعالجة المسبقة من إصدار والمعاملات من آخر إذا تغير الاختيار بين القراءتين. يحتاج إبطال التخزين المؤقت وسلوك الدفعات الطويلة سياسة أيضاً. حدد وقت حل المستهلك للاختيار، وكيف يسجل الإصدار المستخدم فعلاً، وهل يسمح بتبديل عملية بدأت. الاسم المتغير حالة اختيار مريحة لا هوية تجربة ثابتة.
versions = {"model-1":{"digest":"lab-a", "schema":"schema-1"},
"model-2":{"digest":"lab-b", "schema":"schema-1"}}
aliases = {"selected":"model-1"}
resolved = aliases["selected"]
aliases["selected"] = "model-2"
print("pinned request", resolved, versions[resolved]["digest"])
print("new resolution", aliases["selected"], versions[aliases["selected"]]["digest"])
pinned request model-1 lab-a
new resolution model-2 lab-b
يثبت الحل مرة واحدة الطلب الاصطناعي على إصدار واحد حتى بعد تحرك اسم الاختيار المتغير؛ وسلاسل البصمات هويات اصطناعية.
تستهلك الترقية دليلاً مطابقاً بدقة
يحتاج الإصدار المقترح تقرير تقييمه وفحوص توافقه ومصدره وقرار المسؤول وفق عقد المهمة. لا ينقل دليل إصدار آخر لمجرد تطابق الأسماء أو الأشكال. يفحص المثال الثاني قبولاً مطابقاً وجيلاً متوقعاً قبل تغيير اختيار الذاكرة. يوضح حارس القرار المتقادم سبب وجوب ألا يمحو مراجعون أو أتمتة متزامنون قراراً أحدث دون علم. يحتاج النظام الحقيقي آلية ذرية أو معاملية مناسبة؛ ولا يقدم برنامج القاموس تنسيقاً بين العمليات أو تحكم وصول أو سجل تدقيق دائماً.
current = {"version":"model-1", "generation":4}
def promote(expected_generation, proposed, evidence):
if current["generation"] != expected_generation:
return "stale decision"
if not evidence.get("accepted") or evidence.get("version") != proposed:
return "missing matching acceptance"
current.update(version=proposed, generation=current["generation"]+1)
return "selected"
print(promote(3, "model-2", {"accepted":True,"version":"model-2"}))
print(promote(4, "model-2", {"accepted":True,"version":"model-2"}))
print(current)
stale decision
selected
{'version': 'model-2', 'generation': 5}
يحاكي حارس الجيل داخل الذاكرة تحديثاً مشروطاً؛ وليس تنفيذاً لسجل معاملي أو نظام تصريح.
يحدد التوافق الاختيار القابل للاستخدام
قد يكون نموذج أقوى عددياً غير متوافق مع مخطط سمات المستهلك أو معنى خرجه أو بيئة تشغيله أو ميزانية موارده أو بديله. احفظ هذه الاعتمادات مع الإصدار وتحقق من عقد الاستدلال كاملاً. يجب ألا تغير الترقية ترتيب فئات أو حقل مدخل مطلوباً للمستدعين الحاليين بصمت. إذا تطلب التغيير انتقال واجهة منسقاً، فهو جزء من خطة الإصدار لا تعديل وسم سجل فحسب. احفظ الإصدارات السابقة المتوافقة واعتماداتها وفق متطلبات الاحتفاظ ليكون التراجع إجراء ممكناً، لا مجرد اسم بديل يشير إلى أثر غائب.
سجل التغيير وما رصده المستهلكون
احفظ هويتي الإصدار القديم والجديد والحالة السابقة المتوقعة والدليل المطابق والوقت وهوية الفاعل أو الأتمتة والسبب والنتيجة الفعلية. بعد تغيير الاختيار، تحقق من الإصدار الذي حمله المستهلكون وسلوك المدخل المعلوم وفق سياسة الحل الخاصة بهم. التسجيل والقبول والاختيار والإيصال الناجح أحداث منفصلة. قد يوجد سجل دون مستهلك، وقد يحتفظ مستهلك بإصدار مثبت أقدم بصورة مشروعة. تفحص الأمثلة خرائط محلية وحارس جيل بهويات اصطناعية فقط؛ ولا تنفذ سجلاً أو سير موافقة أو نشراً أو استخدام اعتماد سري أو تغيير منصة.
الأخطاء الشائعة وإصلاحها
استُخدم الاسم البديل كهوية تجربة دائمة
- لماذا يحدث؟
- اختلط الاختيار المتغير بأثر محدد.
- كيف تصلحه؟
- سجل الإصدار المحلول وهوية الحزمة لكل عملية ذات صلة.
- كيف تتجنب تكراره؟
- اختبر تحريك الاسم أثناء تثبيت عملية على إصدار.
أجاز تقرير model-1 الإصدار model-2
- لماذا يحدث؟
- طوبق القبول باسم العرض لا الهوية الدقيقة.
- كيف تصلحه؟
- اطلب دليل الإصدار والحزمة المقترحين.
- كيف تتجنب تكراره؟
- أدرج مثال رفض تقرير غير مطابق.
محت ترقية متأخرة قراراً أحدث
- لماذا يحدث؟
- تجاهل التحديث حالة الاختيار السابقة المتوقعة.
- كيف تصلحه؟
- استخدم تحديثاً مشروطاً مدعوماً واحفظ التعارض.
- كيف تتجنب تكراره؟
- اختبر جيلاً متقادماً أو سلوك تعارض مكافئاً.
اختبر فهمك
1. لماذا يحتفظ الطلب المثبت بـ model-1 بعد تحريك الاسم البديل؟
اعرض الحل المشروح
حل الاسم المتغير عند حد محدد واحتفظ بذلك الإصدار بعينه. يستطيع طلب جديد حل model-2. يمنع ذلك مزج أجزاء معتمدة على إصدارات مختلفة داخل عملية واحدة، بشرط تثبيت المستهلك الحزمة الكاملة واعتماداتها باتساق أيضاً.
2. ماذا ينبغي أن يحدث إذا حذف إصدار مختار قديم قبل التراجع؟
اعرض الحل المشروح
يغيب شرط التراجع، فلا يستطيع تعديل الاسم إعادة السلوك القديم. طبق البديل أو خطة الاسترداد الموثقة، ولا تعِد البناء إلا بدليل هوية وتوافق كافٍ. ينبغي أن تحفظ سياسة الاحتفاظ الآثار التي يتطلبها هدف الاسترداد المدعوم.
أهم ما تعلمته
- تعرف الإصدارات الآثار، وتختارها الأسماء البديلة بصورة متغيرة.
- يجب أن يطابق دليل الترقية المرشح الدقيق.
- افحص حل المستهلك والتوافق بعد تغيير الاختيار.