اختيار نموذج تضمين للعربية: منهجية قياس لا قائمة توصيات
لماذا لا تكفي لوحة MTEB لاختيار نموذج تضمين عربي، وكيف تبني اختبارًا على بياناتك في ساعتين، وأي أربعة معايير تحكم القرار فعلًا.
سؤال يتكرّر عليّ: «ما أفضل نموذج تضمين للعربية؟» والجواب الأمين أن أحدًا لا يعرف — لبياناتك أنت. أي إجابة مباشرة إما تسويق أو نقل عن لوحة صدارة تقيس شيئًا آخر.
معيار MTEB [1] مرجع نافع لتضييق القائمة: يجمع عشرات المهام وأكثر من مئة مجموعة بيانات، ويكشف أن ترتيب النماذج يختلف باختلاف المهمة، وأن النموذج الأعلى في التصنيف قد لا يكون الأعلى في الاسترجاع. وتضيف تجربة BEIR [2] الدرس المكمّل: الأداء خارج نطاق التدريب يتراجع، وبيانات مؤسستك هي تعريف «خارج النطاق».
أربعة معايير للمقارنة
| المعيار | لماذا يهمّ | كيف يُقاس |
|---|---|---|
| جودة الاسترجاع | الغرض الأساسي | Recall@5 وMRR على مجموعتك |
| الكمون | يدخل في زمن كل طلب | متوسط زمن تضمين استعلام على عتادك |
| بُعد المتجه | يحدّد حجم الفهرس وكلفة البحث | من بطاقة النموذج |
| الترخيص والاستضافة | قد يُلغي خيارًا كاملًا | الرخصة + إمكانية التشغيل محليًّا |
نموذج أدقّ بنقطتين مئويتين وأبطأ ثلاث مرات قد يكون الخيار الخاطئ في واجهة تفاعلية. القرار مقايضة لا سباق رقم واحد.
بناء الاختبار في ساعتين
الخطوة ١ — مجموعة الاختبار. خمسون سؤالًا حقيقيًّا من مستخدميك، ولكل سؤال المقطع الصحيح في مستنداتك. هذا الجزء لا يُختصر، وهو أصل ستعيد استعماله في كل قرار لاحق.
الخطوة ٢ — قائمة قصيرة. ثلاثة إلى خمسة مرشّحين: نموذج متعدّد اللغات مفتوح، نموذج عربي متخصّص إن وُجد، وواجهة تضمين مُدارة.
الخطوة ٣ — التشغيل.
# pip install sentence-transformers==3.0.1
from sentence_transformers import SentenceTransformer
import numpy as np
def recall_at_k(model_name, questions, gold_ids, passages, k=5, prefix=("query: ", "passage: ")):
model = SentenceTransformer(model_name)
q_pre, p_pre = prefix
doc_vecs = model.encode([p_pre + p for p in passages], normalize_embeddings=True)
hits = 0
for question, gold in zip(questions, gold_ids):
q_vec = model.encode([q_pre + question], normalize_embeddings=True)[0]
top = np.argsort(doc_vecs @ q_vec)[::-1][:k] # جداء داخلي على متجهات مطبَّعة
hits += int(gold in top)
return hits / len(questions)
الخطوة ٤ — القراءة. جدول بالمعايير الأربعة، والاختيار بالمقايضة لا بالرقم الأعلى وحده.
التفاصيل التي تُفسد القياس بصمت
- البادئات: عائلة E5 [3] دُرّبت بصيغة
query:وpassage:، وإسقاطها يخفض النتيجة بلا رسالة خطأ. ونماذج أخرى لا تستخدم بادئات أصلًا — راجع بطاقة كل نموذج قبل القياس. - الطول الأقصى: مقطع أطول من حدّ النموذج يُقتطع بصمت فتفقد نهايته.
- التطبيع: قارن اتجاهات لا أطوالًا؛ طبّع المتجهات واستخدم الجداء الداخلي.
- تطبيع النصّ العربي: توحيد الألف والهمزة، وحذف التشكيل، وتوحيد الأرقام — على المستندات والأسئلة معًا وبالقواعد نفسها.
- الاتساق: أي تغيير في النموذج أو البادئة أو التطبيع يستوجب إعادة بناء الفهرس كاملًا؛ متجهات من نموذجين في فهرس واحد بلا معنى.
متى لا يستحق البحث الطويل
في نموذج أوّلي، خذ نموذجًا متعدّد اللغات معروفًا وامضِ. اختيار نموذج التضمين قرار قابل للتراجع بكلفة إعادة فهرسة، لا قرار معماري مصيري. أنفق وقتك أولًا على التقطيع وعلى بناء المجموعة الذهبية — أثرهما أكبر بمراتب.
الأخطاء الشائعة
- الاختيار من لوحة صدارة بلا قياس محلي.
- مقارنة نماذج ببادئات أو تطبيع مختلف — مقارنة غير عادلة.
- تجاهل الكمون حتى تظهر المشكلة في الإنتاج.
- اختيار بُعد عالٍ بلا حاجة، فيتضخّم الفهرس ويبطؤ البحث.
- نسيان أن تغيير النموذج يفرض إعادة بناء الفهرس.
الأسئلة الشائعة
هل النموذج متعدّد اللغات أضعف من نموذج عربي متخصّص؟
ليس بالضرورة. النماذج متعدّدة اللغات الحديثة قوية على العربية، وقد تتفوّق على متخصّص أقدم أو مدرَّب على نطاق أضيق — خصوصًا مع النصوص المختلطة عربي/إنجليزي الشائعة في التوثيق التقني. القياس على بياناتك هو الفيصل.
واجهة مُدارة أم نموذج محلي؟
المُدارة أسرع للبدء وبلا عبء تشغيلي. المحلي يبقي البيانات عندك ويلغي كلفة الاستدعاء مقابل عبء استضافة. إن كانت المستندات حسّاسة، يُحسم القرار غالبًا لصالح المحلي بمعزل عن الأداء.
ما بُعد المتجه المناسب؟
كلما زاد البُعد زادت الدقة نظريًّا وزاد حجم الفهرس وكلفة البحث. الأبعاد الشائعة بين ٣٨٤ و١٥٣٦ تغطّي معظم الحالات، وبعض النماذج الحديثة تدعم تقليص البُعد بأثر محدود على الجودة — قِسه قبل الاعتماد عليه.
كل كم يُعاد التقييم؟
كل ستة أشهر تقريبًا، أو عند تغيّر جوهري في طبيعة المستندات، أو عند صدور نموذج يعد بفارق كبير. أعِد التقييم بالمجموعة الذهبية نفسها لتبقى المقارنة عادلة.
المراجع
- Muennighoff, N. et al. MTEB: Massive Text Embedding Benchmark. EACL 2023. arXiv:2210.07316
- Thakur, N. et al. BEIR: A Heterogeneous Benchmark for Zero-shot Evaluation of IR Models. arXiv:2104.08663
- Wang, L. et al. Text Embeddings by Weakly-Supervised Contrastive Pre-training (E5). arXiv:2212.03533
- Reimers, N. & Gurevych, I. Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks. arXiv:1908.10084
اقرأ بعده
استخراج النصّ من PDF العربية: الخطوة التي تُفسد كل ما بعدها
لماذا يخرج نصّ PDF العربي مقلوبًا أو ممزّقًا، وكيف تتعامل مع الجداول والأعمدة والمسح الضوئي، ولماذا لا ينفع أي تقطيع ذكيّ فوق نصّ مشوّه.
اقرأ المقالدليل RAG الكامل: من المستند إلى إجابة موثوقة
خط أنابيب الاسترجاع المعزّز بمراحله الست، وأين ينكسر فعلًا في الإنتاج، وما تقوله أوراق BEIR وDPR و«الضياع في المنتصف» عن كل قرار تتخذه فيه.
اقرأ المقالبناء مساعد دعم فني عربي: معمارية مرجعية
معمارية كاملة لمساعد دعم يجيب من مستنداتك بالعربية: الاستيعاب، الاسترجاع، التصعيد إلى إنسان، القياس، وحدود ما يجوز للنموذج أن يقوله.
اقرأ المقالنشرة إسناد الأسبوعية
ثلاثة أشياء مفيدة كل أسبوع: ورقة بحثية مشروحة، قياس عملي، وخطأ شائع رأيناه في الإنتاج. بلا حشو وبلا رعايات مخفية.