أمام محرر جوابان مقترحان للمساعد، ولكل منهما أرقام تحت اسم «الدرجة». يريد اختيار الجواب الأعلى، لكنه يجمع درجات رموز من سجل ويقارنها بدرجة تسلسل من سجل آخر. قبل المفاضلة يجب معرفة ما يجمع الرقم، وكيف يدخل طول الناتج في حسابه. المثال التالي يشرح حسابًا مفترضًا، ولا يقيم جوابًا ولده نموذج فعلي.
الخلاصة السريعة
درجة الرمز المختار ليست درجة التسلسل كاملة. اقرأ طريقة استخراج الدرجات وتجميعها وعقوبة الطول، مع إعداد التطبيع ومسار الحزمة؛ ثم قيّم معنى الجواب بمراجعة منفصلة عن قيمته العددية.
- تستخرج compute_transition_scores درجات الرموز المختارة من سجل التوليد؛ ومع الحزم تستخدم beam_indices لتتبع المسار. [1]
- في حسابنا المعلن، مجموع درجتين سالب 4، ومع طول ناتج 2 وأُس طول 1 تصبح درجة التسلسل سالب 2؛ طول البداية خارج هذا الحساب.
- مثال الوثائق يضمن مطابقة إعادة حساب درجة الحزم عند normalize_logits=False؛ تغيير التطبيع يغير المقارنة المقصودة. [1]
- لا تجعل الدرجة العالية دليلًا على حقيقة النص، ولا تعيد بناء الدرجة من سجل ناقص أو درجات تتبع مسارًا آخر.
حدد مستوى الدرجة
تصف وثائق Transformers compute_transition_scores بأنها وسيلة للحصول على درجات الرموز التي اختيرت وقت التوليد، وتتطلب مؤشرات الحزم عند استخدام أكثر من حزمة. [1]
لنفرض أن سجلًا راجعناه يخص تسلسلًا واحدًا اسمه أ. فيه رمزان جديدان، ودرجتاهما المعلنتان سالب 1 وسالب 3. هذان رقمان مرتبطان بخطوتين في مسار أ. لا نستبدلهما بدرجتي رمزين من مسار ب لمجرد أن نصيهما متشابهان، ولا نصف الرقم الأول بأنه تقييم كامل للجملة.
اجمع ثم طبق شرط الطول
يعيد المثال الرسمي بناء درجة التسلسل بجمع درجات الرموز المولدة والقسمة على طول الناتج مرفوعًا إلى length_penalty؛ لا يضم هذا الطول المدخل. [1]
نفترض في مسار أ أن الطول المعني 2 وأُس الطول 1. نجمع سالب 1 وسالب 3 فنحصل على سالب 4، ثم نقسم على 2 فنحصل على سالب 2. لو كان طول البداية المرسلة 5 وحدات، لا نحول المقام إلى 7 في هذا الحساب.
ولنفرض أن ب يضم أربعة رموز ومجموع درجاتها سالب 6، مع الأُس نفسه. تصبح درجته سالب 1.5. إذن ب أعلى وفق هذين الحسابين رغم أن مجموع درجاته أقل قبل القسمة. الأعداد مختارة لإظهار أثر المقام، ولا تمثل معدلات أداء أو احتمال صحة واقعة.
حافظ على إعداد التطبيع
ينبه المثال الرسمي إلى أن ضمان مطابقة إعادة الحساب لدرجات التسلسل يكون عند normalize_logits=False. [1]
نكتب في ورقة المقارنة اسم الحقل، ومسار التسلسل، وطول الناتج المعني، وأُس الطول، وإعداد التطبيع. إذا أخذ شخص درجات مع تطبيع مختلف ثم توقع الرقم نفسه، فقد غير أساس الحساب. لا نصحح الفرق بإضافة رقم اختياري حتى تبدو النتيجة مطابقة.
وفي مقارنة جوابين يجب أن نحدد أيضًا هل استخدمنا الإعداد نفسه لكليهما. مثالنا جعل الأُس واحدًا والطولين معلنين، فلا يصلح نقله كما هو إلى سجل لا نعرف منه ما احتسب ضمن طول الناتج.
افحص المحتوى بصورة مستقلة
قد يكتب أ «القاعة مغلقة»، ويكتب ب جوابًا أطول يتضمن موعدًا لم يوثقه مرجعنا. حصول ب على درجة أعلى في المثال الحسابي لا يثبت ذلك الموعد. نبحث عن سند الجملة وعن توافقها مع سؤال القارئ.
ولو فقد السجل مؤشرات الحزم أو درجات خطوات لازمة، نسجل أن إعادة الحساب غير مكتملة. لا نختلق القيم الناقصة من سلاسة اللغة. بهذا يمكن للمحرر تفسير الفروق العددية مع إبقاء الحكم على المعلومات مرتبطًا بأدلتها.
المصادر ومتابعة القراءة
- Transformers transition scores (يفتح في نافذة جديدة)huggingface.co
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
