استرجاع المعلومات2022متوسط11 دقيقة قراءة
Contriever: استرجاع كثيف للمعلومات بدون إشراف عبر التعلّم التبايُني
Contriever: Unsupervised Dense Information Retrieval with Contrastive Learning
Izacard, G. · Caron, M. · Hosseini, L. · Riedel, S. · Bojanowski, P. · Joulin, A. · Grave, E. — TMLR
المشكلة
نماذج العصبية حقّقت نتائج ممتازة على معايير تقييم مثل MS MARCO، لكن بشرط واحد: وجود بيانات مُعنونة بشرياً وبأحجام كبيرة. المشكلة تظهر عند الانتقال إلى مجال جديد لا تتوفر فيه بيانات مُعنونة — كالطب أو القانون أو المالية — حيث كان النموذج العصبي ينهار، وتتفوق عليه خوارزمية البسيطة التي تعتمد فقط على عدّ تكرار الكلمات. عملياً، كانت قدرات الاسترجاع العصبي محبوسة خلف تكلفة التعنون البشري. أضف إلى ذلك أن بيانات الاسترجاع المُعنونة تكاد تنحصر بالإنجليزية، ما جعل الاسترجاع الكثيف متعدد اللغات غير قابل للتطبيق فعلياً.
الإسهام
قدّم الباحثون Contriever: نموذج استرجاع كثيف يُدرَّب بالكامل بدون إشراف بشري عبر التعلّم التبايُني. البنية عبارة عن مُرمِّز ثنائي مُهيَّأ من BERT، يُدرَّب بإطار على بيانات ويكيبيديا وCCNet. الفكرة بسيطة: اقتصاص مقطعين عشوائيين من المستند نفسه واعتبارهما زوجاً إيجابياً — بدون أي تعنون بشري. على معيار BEIR، تفوّق Contriever غير المُشرَف على BM25 في 11 من 15 مجموعة بيانات بمقياس الاستدعاء@100. وحين يُستخدم كمرحلة تدريب مسبق قبل على MS MARCO، يُحقق أفضل النتائج بين نماذج . ومع إعادة الترتيب بمُرمِّز متقاطع يُسجّل أفضل أداء على 8 مجموعات من BEIR. النسخة متعددة اللغات mContriever تُمكّن من — حتى بين أنظمة كتابة مختلفة كاستعلامات عربية ومستندات إنجليزية.
الأثر
أثبت Contriever أن الاسترجاع الكثيف لا يحتاج بيانات مُعنونة ليُجاري BM25 أو يتفوّق عليه، وكسر بذلك افتراضاً راسخاً بأن الاسترجاع العصبي يستلزم إشرافاً بشرياً. أصبح النموذج العمود الفقري للاسترجاع في Atlas (نموذج لغوي مُعزَّز بالاسترجاع) وألهم فكرة HyDE (تضمينات المستندات الافتراضية). وصفة التبايُني — اقتصاص عشوائي مع MoCo على نصوص خام — أسّست معياراً جديداً لبناء نماذج استرجاع كثيف من الصفر، وأثّرت في كل نظام استرجاع لاحق سواء كان بدون إشراف أو بإشراف جزئي.
تخيّل أنك وصلت إلى مدينة جديدة وتريد مطعماً يناسب ذوقك. الطريقة التقليدية أن تبحث في القوائم عن الكلمات نفسها التي تبحث عنها — مثلاً «نودلز حارة». هذا ما يفعله BM25: سريع وموثوق، لكن لو كتبت القائمة «رامن ناري» بدل «نودلز حارة» فلن يجده أبداً.
Contriever يعمل بطريقة مختلفة تماماً. يتجوّل في المدينة ويتذوّق الأطباق ويبني خريطة نكهات داخلية: طبقان من المطبخ نفسه يقعان قريبين على الخريطة، وأطباق من مطابخ مختلفة تبتعد عن بعضها. بعد تجوال كافٍ — دون أن يُخبره أحد ما الجيد وما الرديء — يصبح قادراً على ربط رغبتك بالمطبخ المناسب حتى لو لم تتشارك الكلمات حرفاً واحداً.
المشكلة: الاسترجاع الكثيف يحتاج بيانات مُعنونة، وBM25 لا يحتاج
بحلول 2021، كان (DPR) قد أثبت أن المُرمِّزات الثنائية العصبية قادرة على التفوّق بفارق كبير على البحث بالكلمات المفتاحية — لكن بشرط واحد: وجود مجموعات تدريب مُشرَف عليها كبيرة مثل NaturalQuestions أو MS MARCO. لحظة الانتقال إلى مجال جديد — أدبيات طبية، تقارير مالية، مستندات قانونية — حيث لا توجد أزواج استعلام-مستند مُعنونة، كان النموذج العصبي ينهار تماماً. خوارزمية BM25 البسيطة، التي لا تفعل أكثر من عدّ تكرار كلمات الاستعلام في المستند مع ترجيحها بمعكوس تواتر المستند، كانت تتغلّب على كل نموذج استرجاع كثيف مُشرَف في سيناريوهات .
جوهر المشكلة أن نماذج مثل DPR تبني الخاص بها من أزواج إيجابية عنونها البشر: «هذا السؤال يتوافق مع هذه الفقرة.» بدون تلك التعليقات، لا يملك النموذج أي إشارة تُرشده لتنظيم فضائه المتجهي. في المقابل، BM25 لا يحتاج أي تدريب — هو صيغة رياضية ثابتة تُطبَّق مباشرة على النص الخام.
هذا خلق فجوة محرجة: أقوى نموذج استرجاع — كثيفة مع بحث الجار الأقرب التقريبي — كان أيضاً الأكثر هشاشة حين تغيب التعليقات البشرية. السؤال الذي يطرحه Contriever: هل نستطيع تدريب فضاء نفسه بدون أي تعليقات بشرية، مستخدمين فقط البنية الطبيعية للنص الخام؟
البنية: مُرمِّز ثنائي مشترك مع تجميع بالمتوسط
يعتمد Contriever على بنية المُرمِّز الثنائي. الفكرة مباشرة: واحد (BERT-base) يُعالج الاستعلامات والمستندات كلاً على حدة. كل نص يمرّ عبر المُرمِّز، ثم نحسب المخرج بأخذ متوسط الحالات الخفية في الطبقة الأخيرة — على جميع الرموز. النتيجة متجه كثيف واحد يُمثّل النص بأكمله.
لحساب مدى صلة الاستعلام بالمستند ، نأخذ بين متجهيهما. النقطة الجوهرية هنا أن Contriever يستخدم المُرمِّز نفسه للاستعلامات والمستندات، بخلاف DPR الذي يستخدم مُرمِّزين منفصلين. وجد الباحثون أن مشاركة الأوزان تُعزّز متانة النموذج في سيناريوهات النقل الصِّفري والتعلّم بأمثلة قليلة، لأن النموذج يتعلّم فضاء تضمين واحد موحّد بدل فضاءين قد لا يكونا متوافقين.
ولأن المستندات تُرمَّز باستقلال عن الاستعلامات، يمكن ترميز المجموعة بالكامل مرة واحدة وتخزينها مسبقاً. عند وصول استعلام جديد، يتحوّل الاسترجاع إلى عملية بحث سريعة عن أقصى حاصل ضرب داخلي (MIPS)، تُنفَّذ بمكتبات مثل FAISS.
إشارة التدريب: التعلّم التبايُني من نص خام
الحدس الأساسي بسيط: كل مستند فريد بطريقة ما. مقتطفان من المستند نفسه يُفترض أن يكونا أقرب لبعضهما من مقتطفات من مستندات مختلفة. هذا هو كل ما يحتاجه Contriever كإشارة إشراف — لا تعليقات بشرية، ولا أحكام صلة.
يتعلّم النموذج عبر التمييز: نُعطيه استعلام ، وعليه أن يُحدّد المفتاح الإيجابي الصحيح (الآتي من المستند نفسه) من بين مفتاح سلبي (من مستندات أخرى). هذه المهمة تُصاغ رسمياً بـدالة خسارة InfoNCE، المستعارة أصلاً من في مجال الرؤية الحاسوبية.
بناء الأزواج: الاقتصاص العشوائي يتفوّق على مهمة كلوز العكسية
طريقة بناء الأزواج الإيجابية من مستند واحد هي أهمّ قرار تصميمي في هذا العمل. الأعمال السابقة استخدمت مهمة كلوز العكسية (ICT): تُسحب جملة عشوائية من المستند وتُعامل كـ«استعلام»، والنص المتبقي يصبح «المفتاح». النتيجة أن الاستعلام والمفتاح لا يتشاركان أي كلمة — تداخل صفري.
Contriever يتّبع طريقة مختلفة: الاقتصاص العشوائي المستقل. نأخذ مقطعين عشوائيين من المستند، كلٌّ منهما بشكل مستقل. قد يتداخل المقطعان جزئياً أو كلياً أو لا يتداخلان إطلاقاً. هذه الاستراتيجية نفسها التي نجحت مع SimCLR وMoCo في الرؤية الحاسوبية، لكنها هنا مُكيَّفة للنصوص.
لماذا يعمل الاقتصاص أفضل؟ لسببين. أولاً، التداخل الجزئي بين المنظورين يدفع النموذج لتعلّم ما يُشبه المطابقة المعجمية — يكتشف أن الكلمات المشتركة إشارة على الصلة، تماماً كما يفعل BM25 بطبيعته. ثانياً، الاقتصاص يُنتج توزيعات متماثلة بين الاستعلامات والمفاتيح (كلاهما مقاطع عشوائية بالطول نفسه تقريباً)، وهذا التماثل يُساعد على استقرار التدريب. في المقابل، ICT تُولّد عدم تماثل واضح: الاستعلام جملة واحدة بينما المفتاح فقرة كاملة ناقص تلك الجملة.
يُضيف الباحثون أيضاً حذف كلمات عشوائي (10% من ) فوق الاقتصاص. الهدف أن يتعلّم النموذج ألّا يعتمد بشكل مفرط على التطابق الحرفي، وأن يبني تمثيلات أمتن وأعمّ.
توسيع عدد السلبيات: طابور MoCo الزخمي
التعلّم التبايُني يستفيد بشكل كبير من زيادة عدد الأمثلة السلبية. المشكلة أنه مع السلبيات داخل الدفعة، يتساوى عدد السلبيات مع ، وهذا يعني أنك تحتاج ذاكرة GPU ضخمة لتحصل على عدد كافٍ. Contriever يحلّ هذه المشكلة بإطار MoCo () الذي يفصل عدد السلبيات عن حجم الدفعة.
الفكرة أن MoCo يحتفظ بشبكتين: مُرمِّز استعلامات يُحدَّث بـ كالمعتاد، ومُرمِّز مفاتيح يتغيّر ببطء عبر متوسط متحرك أُسّي من مُرمِّز الاستعلامات. المفاتيح التي يحسبها مُرمِّز المفاتيح تُخزَّن في طابور: في كل خطوة تُزال المفاتيح الأقدم ويُضاف مفاتيح جديدة. بهذه الآلية يحصل Contriever على 131,072 سلبية — أكثر بكثير ممّا يمكن لأي حجم دفعة أن يدعمه.
تحديث البطيء يضمن أن التمثيلات المُخزَّنة في الطابور تبقى متسقة. لولا ذلك، لكانت التمثيلات القديمة محسوبة بنسخة مختلفة جداً من النموذج، ما يُنتج مُضوَّشة تُربك التدريب.
النتائج: Contriever غير المُشرَف يُجاري BM25
النتيجة الأبرز: على BEIR الذي يضمّ 15 مجموعة بيانات استرجاع متنوعة، يتفوّق Contriever غير المُشرَف بالكامل على BM25 في 11 من 15 مجموعة بمقياس @100. هذا الرقم لافت لأن Contriever لم يرَ في حياته زوج استعلام-مستند مُعنون واحد — كل ما تعلّمه جاء من اقتصاص عشوائي لنصوص خام.
على مجموعة NaturalQuestions مثلاً، يُحقّق Contriever استدعاء@100 بنسبة 82.1% مقابل 78.3% لـBM25. وعلى TriviaQA يتعادلان عند 83.2%. كما يتفوّق Contriever على جميع نماذج الاسترجاع الكثيف غير المُشرَف السابقة (ICT وREALM وSimCSE) بفوارق واسعة.
حين يُستخدم Contriever كمرحلة تدريب مسبق قبل الضبط الدقيق على MS MARCO، يُحقّق أعلى متوسط استدعاء@100 (67.1) بين جميع طرق المُرمِّز الثنائي على BEIR، متفوّقاً على DPR (48.3) وANCE (60.1) وTAS-B (65.0) وSplade v2 (64.8). ومع إعادة الترتيب بـ، يصل إلى أفضل النتائج على 8 من 15 مجموعة في BEIR.
في إعداد التعلّم بأمثلة قليلة (بضع مئات إلى بضعة آلاف)، يمنح التدريب المسبق التبايُني Contriever تفوّقاً كبيراً: يتغلّب حتى على BERT المضبوط على MS MARCO الكبيرة كخطوة وسيطة.
تعدد اللغات: استرجاع عبر اللغات بدون بيانات متوازية
بيانات الاسترجاع المُعنونة تكاد تنحصر بالإنجليزية. بالنسبة للغات محدودة الموارد، الاسترجاع الكثيف المُشرَف ليس خياراً متاحاً عملياً. هنا بالتحديد تبرز قيمة التدريب المسبق بدون إشراف.
درّب الباحثون mContriever، وهي نسخة متعددة اللغات مُهيَّأة من mBERT ومُدرَّبة بـالتعلّم التبايُني على بيانات CCNet من 29 لغة. على معيار Mr. TyDi (11 لغة)، يتفوّق mContriever غير المُشرَف على BM25 في الاستدعاء@100. وبعد الضبط الدقيق على بيانات MS MARCO الإنجليزية فقط، يُحقّق أفضل استدعاء@100 مع تحسينات عبر جميع اللغات — بما فيها لغات لم يرها أثناء الضبط على MS MARCO.
الأمر الأكثر إثارة أن mContriever يُتيح الاسترجاع عبر اللغات: تُعطيه استعلاماً بالعربية أو اليابانية أو الكورية، فيسترجع مستندات ذات صلة من مجموعة ويكيبيديا الإنجليزية. هذا مستحيل جوهرياً مع BM25 أو أي طريقة مطابقة نصّية، لأن الاستعلام والمستند لا يتشاركان حرفاً واحداً. على معيار MKQA، يتفوّق mContriever المضبوط على MS MARCO الإنجليزي حتى على مسترجع CORA المُصمَّم خصيصاً للعمل عبر اللغات مع تعزيز بالترجمة.
دراسات الاستبعاد: ما يُحدث فرقاً وما لا يُحدث
يتضمّن البحث دقيقة تعزل أثر كل خيار تصميمي على حدة. أبرز ما توصّلت إليه:
الاقتصاص مقابل ICT: الاقتصاص العشوائي (متوسط nDCG@10: 32.2) يتفوّق بوضوح على مهمة كلوز العكسية (25.9) عند الاستخدام بدون ضبط دقيق. وحين نُضيف حذف الكلمات العشوائي (33.8) يتحسّن الأداء أكثر.
عدد السلبيات: تكبير طابور MoCo من 2,048 إلى 131,072 يُحسّن الأداء بشكل مستمر، خاصة في الإعداد غير المُشرَف. مزيد من السلبيات يعني مسائل تمييز أصعب للنموذج، ما يدفعه لبناء تمثيلات أجود.
بيانات التدريب: ويكيبيديا وحدها تُعطي نتائج جيدة على مهام شبيهة بويكيبيديا (FEVER)، بينما CCNet وحدها تتميّز في مجالات متنوعة (FiQA، Quora). خلط المصدرين بنسبة 50/50 يُعطي أفضل أداء إجمالي.
MoCo مقابل السلبيات داخل الدفعة: الأداء متقارب بين الطريقتين، لكن MoCo يتفوّق عملياً لأنه يتوسّع إلى أعداد سلبيات أكبر بكثير دون الحاجة لأحجام دفعات ضخمة.
أثر التدريب المسبق التبايُني: عند الضبط الدقيق على MS MARCO، يتفوّق Contriever (متوسط nDCG@10: 46.5) بوضوح على BERT المضبوط بالوصفة نفسها (42.0)، ما يُؤكّد أن المرحلة التبايُنية تُضيف قيمة حقيقية لجودة التضمينات.
الشيفرة: Contriever بلغة PyTorch
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
import torch
import torch.nn.functional as F
from transformers import AutoModel, AutoTokenizer
# ── المُرمِّز مع تجميع بالمتوسط ──────────────────────
class Contriever(torch.nn.Module):
def __init__(self, model_name="bert-base-uncased"):
super().__init__()
self.encoder = AutoModel.from_pretrained(model_name)
def forward(self, input_ids, attention_mask):
# تمرير عبر BERT والحصول على حالات الطبقة الأخيرة
out = self.encoder(input_ids=input_ids,
attention_mask=attention_mask)
hidden = out.last_hidden_state # (B, L, D)
# تجميع بالمتوسط على الرموز غير المحشوّة
mask = attention_mask.unsqueeze(-1) # (B, L, 1)
pooled = (hidden * mask).sum(1) / mask.sum(1)
return pooled # (B, D)
# ── دالة خسارة InfoNCE التبايُنية ──────────────────────
def info_nce_loss(queries, keys, temperature=0.05):
"""queries, keys: (B, D) — أزواج إيجابية بالفهرس نفسه"""
# مصفوفة التشابه: (B, B)
logits = torch.mm(queries, keys.T) / temperature
labels = torch.arange(len(queries), device=queries.device)
return F.cross_entropy(logits, labels)الخط الزمني: من الاسترجاع المتناثر إلى الكثيف غير المُشرَف
2009
BM25
المعيار الذهبي للاسترجاع بدون إشراف. نظام ترجيح يعتمد على تواتر المصطلحات ولا يحتاج أي تدريب. ظلّ مهيمناً لأكثر من عقد كامل.
2019
Sentence-BERT
كيّف BERT لإنتاج تضمينات جمل باستخدام شبكات سيامية مُدرَّبة على بيانات استدلال لغوي مُشرَف. جعل حساب تشابه الجمل بالمتجهات الكثيفة عملياً وقابلاً للتطبيق.
2020
DPR (الاسترجاع الكثيف للفقرات)
أول مسترجع بمُرمِّز ثنائي يتغلّب على BM25 في الأسئلة المفتوحة. لكنه احتاج مجموعات بيانات مُشرَف عليها كبيرة مع سلبيات صعبة مولَّدة من BM25.
2020
SimCLR / MoCo (الرؤية الحاسوبية)
أُطُر تعلّم تبايُني للصور. SimCLR اعتمد على سلبيات كثيرة داخل الدفعة، وMoCo استخدم طابوراً زخمياً. كلاهما أثبت أن السمات المُتعلَّمة بدون إشراف قادرة على منافسة تلك المُتعلَّمة بإشراف.
2022
Contriever (هذه الورقة)
دمج MoCo مع الاقتصاص العشوائي للنصوص لتدريب مسترجع كثيف بصفر تعليقات بشرية. جارى BM25 بدون إشراف، وسجّل أفضل النتائج مع الضبط الدقيق.
2022
Atlas
نموذج لغوي مُعزَّز بالاسترجاع يعتمد على Contriever كمحرك استرجاع. أثبت أن التعلّم بأمثلة قليلة مقروناً بالاسترجاع ينافس نماذج أكبر منه بكثير.
2023
HyDE
استخدم نموذجاً لغوياً كبيراً لتوليد مستند افتراضي يُطابق الاستعلام، ثم استرجع عبر Contriever. استرجاع صِفري دون أي تدريب خاصّ بالمهمة.
المرجعIzacard, Caron, Hosseini, Riedel, Bojanowski, Joulin, Grave. Unsupervised Dense Information Retrieval with Contrastive Learning. Transactions on Machine Learning Research (TMLR), 2022.
مصطلحات هذه الورقة
- التعلم التبايُنيContrastive Learning
- الاسترجاع الكثيفDense Retrieval
- المُرمِّز الثنائيBi-Encoder
- التعلّم غير الخاضع للإشرافUnsupervised Learning
- BM25BM25
- استرجاع المعلوماتInformation Retrieval
- MoCoMoCo
- تعزيز البياناتData Augmentation
- الضبط الدقيقFine-Tuning
- الاسترجاع عبر اللغاتCross-Lingual Retrieval
- التضمينEmbedding
- الضرب النقطيDot Product
- التعيين السلبيNegative Sampling
- نقل التعلمTransfer Learning
- النمط الصفريZero-Shot