Skip to content

الانتقال إلى محرّك الوسم

انقل إعدادات icl_labeling وjudge_calibration وpre_annotation والوضع الفردي إلى محرّك الوسم باستخدام potato label migrate-config، واطّلع على ما يتغيّر بعد ذلك.

تستمر ميزات الوسم الآلي الأقدم في Potato في العمل في 2.11، ولا يتغيّر أي سلوك حتى تضيف كتلة labeling_engine. وصارت ثلاثة مفاتيح تطبع عند بدء التشغيل ملاحظة إعلامية تسمّي ما يقابلها في محرّك الوسم، ومن المقرر إزالتها في 3.0. وتذهب الملاحظات إلى stderr، وتبدأ بـ NOTE:، وليست تحذيرات، لذا لا يفشل potato validate --strict بسببها.

يسرد الجدول المفاتيح الثلاثة وما يصير إليه كل منها:

المفتاح الأقدمما يقابله في المحرّك
icl_labelingمصدر llm، مع عقد threshold_legacy للقاعدة القديمة وعقد selective_risk بجانبه
judge_calibrationمصادر judge بثقة k_sample، تصير عيّنتها العمياء طلبات معايرة
pre_annotationمصدر static

لم يُعلَن إهمال الوضع الفردي ولا مواءمة الحَكَم ولا مساعد الذكاء الاصطناعي التفاعلي (ai_support). فالوضع الفردي خبير واحد يعمل مع نموذج LLM عبر واجهته الخاصة، ومواءمة الحَكَم تقرير. وحين يكون المحرّك مفعّلاً، يكتب كلاهما أيضاً تنبؤات نماذجهما في مخزن المحرّك، فيستطيع المحرّك معايرتها والإشهاد عليها.

potato label migrate-config

يحوّل potato label migrate-config المفاتيح الأقدم إلى كتلة labeling_engine:

bash
potato label migrate-config config.yaml --out config-engine.yaml

يقرأ الأمر ملف YAML دون تحميل أي بيانات، ويضيف كتلة labeling_engine مكافئة، ويكتب النتيجة مع ترويسة من الملاحظات تشرح كل تحويل. ويكتب الكتلة مع enabled: false، فيتصرف الإعداد المحوَّل كما كان الأصلي حتى تفعّل المحرّك. اقرأ الملاحظات، وافحص المصادر والعقود، ثم اضبط enabled: true وassignment_strategy: engine. ويخرج الأمر بخطأ حين يحتوي الإعداد أصلاً على كتلة labeling_engine، أو حين لا يكون هناك ما يُحوَّل.

جدول التحويل

تُقابَل كل كتلة أقدم بمصادر المحرّك وعقوده وإعدادات البشر على النحو التالي:

الكتلة الأقدمالمصادرالعقودالبشر
solo_mode مع confidence_routing.tiersمصدر لكل مستوى، بترتيب المستوياتselective_risk لكل مخطط اختيار واحد من N، error: 1 - end_human_annotation_agreementpools: [solo]
solo_mode مع labeling_modelsمصدر لكل نموذج، والأول هو السلسلة المتتاليةكما سبقpools: [solo]
solo_mode.juryمصدر لكل عضو في لجنة التحكيم، إضافة إلى مصدر jury بوصفه السلسلة المتتاليةكما سبق
icl_labelingنقطة نهاية ai_support بوصفها مصدر llmthreshold_legacy عند confidence_threshold القديم، وselective_risk عند 10%calibration_rate = sample_rate القديم الخاص بالتحقق
judge_alignmentنقطة نهاية الحَكَم بوصفها مصدر judge (مع معايير التقييم حين يكون هناك مخطط واحد)no_worse_than_human، epsilon: 0.15، لكل مخطط محكَّمoverlap: 0.3
judge_calibrationكل نموذج بوصفه مصدر judge بثقة k_samplesampling.sample_size → budgets.human_labels
pre_annotation مع field أو predictions_fileمصدر static، أولاً في السلسلة المتتالية
active_learning.llmمصدر llm
ai_budget.cap_usdbudgets.model_usd

تغيّرات السلوك بعد الانتقال

يتعامل المحرّك مع الوسوم البشرية بطريقة مختلفة عن الميزات الأقدم، وتذكر الملاحظات في الإعداد المحوَّل مواضع ذلك. توقّع أربعة تغيّرات:

  • العتبات الثابتة تصير عتبات مختبَرة. كانت عتبات التوجيه في الوضع الفردي وعتبة الثقة في icl_labeling تقبل الوسوم الآلية فوق رقم ثابت. أما selective_risk فيختار العتبة على وسوم dev ولا يقبل إلا ما يجتاز اختباراً على وسوم محجوزة، لذا توقّع قبول وسوم أقل في البداية، مع حدّ خطأ معلن للوسوم المقبولة.
  • عيّنات التحقق تصير منتظمة. كان icl_labeling يتحقق من التنبؤات الأقل ثقة أولاً، وهذا يكشف الأخطاء بسرعة ويعطي تقديراً متحيّزاً للدقة. أما طلبات المعايرة في المحرّك فعيّنة عشوائية مع احتمالات إدراج مسجّلة.
  • الحَكَم المضمّن يصير أعمى. كان judge_alignment.inline يعرض حكم الحَكَم في أثناء وسم البشر، فكان الاتفاق يُقاس على وسوم متأثرة بالمرساة. أما طلبات المعايرة في المحرّك فلا تعرض أي إجابة آلية أبداً.
  • التوسيمات المسبقة تُختبر قبل الوثوق بها. لا تُقبل وسوم مصدر static إلا حيث يُشهِد عليها عقد، وفي غير ذلك يراها البشر في طلبات التحقق.

قراءة إضافية

للاطلاع على تفاصيل التنفيذ، راجع الوثائق المصدرية.