تقنية

سجل النماذج: هل الاسم المتحرك هو رقم النسخة؟

فرعان منفصلان يبينان أن اسم مرشح يشير قبل التغيير إلى نسخة 2، وبعده إلى نسخة 4 من النموذج بوابة
مخطط من إعداد بحر العلوم؛ بطاقتان افتراضيتان في وقتين مختلفين.

الاسم المستعار في سجل النماذج مرجع يمكن تغيير النسخة التي يشير إليها. توثق MLflow رقم نسخة متزايدًا واسمًا مستعارًا قابلًا لإعادة الإسناد؛ لا يؤدي الدوران الوظيفة نفسها. [1]

الخلاصة السريعة

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

  • تتيح MLflow التحميل باسم النموذج ورقم نسخته، أو عبر اسم مستعار قابل للتغيير بعد التسجيل؛ الاسم المستعار ليس رقم النسخة. [1]
  • في سجلنا الافتراضي يشير «مرشح» أولًا إلى نسخة 2 من «بوابة»، ثم إلى نسخة 4؛ الإسناد الجديد لا يعيد تسمية 2 إلى 4.
  • طلب سابق سجلنا أنه استعمل نسخة 2 لا يتحول إلى نسخة 4 لأن الاسم تغير لاحقًا؛ لا نفترض تحديث نسخة محملة تلقائيًا.
  • اسم «مرشح» أو «بطل» يصف مرجعًا اختاره الفريق، ولا يثبت جودة النموذج؛ هذه بطاقة قراءة لا تغييرًا نفذناه في سجل.

افصل اسم النموذج عن مرجعه المتحرك

يعرض دليل MLflow تحميل نموذج باسمه ورقم نسخته المتزايد، ثم تحميله بالاسم المستعار. يعرف الاسم المستعار بأنه معرف للنسخة يمكن تغييره بعد التسجيل وإسناده إلى نسخة أخرى. [1]

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

نميز هنا ثلاثة حقول: اسم النموذج الذي نتحدث عنه، ورقم نسخته في السجل، والاسم المستعار المستعمل للوصول إليها. دمج الحقول في عبارة قصيرة مثل «أحدث مرشح» يخفي أي اختيار وقع فعلًا.

اقرأ الإسناد قبل تغييره وبعده

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

بعد التغيير، من يراجع الإسناد الحالي يقرأ «مرشح ← نسخة 4». لا يعني ذلك أن نسخة 2 صار رقمها 4، ولا أن الاسم العام «بوابة» صار اسمًا لنموذج آخر. تغيرت العلاقة التي تربط المرجع بإحدى النسخ.

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

أي نسخة نفذت الطلب السابق؟

نفترض طلبًا اسمه ط 1 تسجل بطاقته صراحة أن نموذج «بوابة» نسخة 2 عالج مدخله. لاحقًا نرى «مرشح» يشير إلى 4. قراءة المرجع الحالي لا تلغي الدليل التاريخي الذي سجلناه لطلب ط 1.

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

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

ماذا يثبت وصف البطل أو المرشح؟

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

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

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

المصادر ومتابعة القراءة

  1. MLflow: Model Registry Tutorials — version and alias loading (يفتح في نافذة جديدة)mlflow.org

أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.