نماذج اللغة2023متقدم12 دقيقة قراءة
Atlas: التعلُّم بأمثلة قليلة عبر نماذج لغوية مُعزَّزة بالاسترجاع
Atlas: Few-shot Learning with Retrieval Augmented Language Models
Izacard, G. · Lewis, P. · Lomeli, M. · Hosseini, L. · Petroni, F. · Schick, T. · Dwivedi-Yu, J. · Joulin, A. · Riedel, S. · Grave, E. — JMLR
المشكلة
النماذج اللغوية الضخمة مثل PaLM (540 مليار معامل) تحقّق نتائج مبهرة في التعلُّم بأمثلة قليلة بفضل تخزين كمّيات هائلة من المعرفة في أوزانها. لكن هذا الأسلوب القائم على الحفظ بالقوة الغاشمة باهظ جداً: مئات المليارات من المعاملات، وأسابيع من على آلاف المسرِّعات، ثم تتجمّد المعرفة لحظة انتهاء التدريب. النماذج المُعزَّزة بالاسترجاع أثبتت قدرتها على نقل عبء المعرفة إلى فهرس خارجي، لكن ظلّ السؤال مفتوحاً: هل تستطيع هذه النماذج أيضاً تعلُّم مهام جديدة من حفنة أمثلة فقط — ذلك السيناريو الذي جعل النماذج اللغوية الكبيرة محطّ الأنظار؟
الإسهام
يُقدّم Atlas نموذجاً لغوياً مُعزَّزاً بالاسترجاع يُدرِّب بشكل مشترك مسترجِعاً كثيفاً مبنياً على Contriever مع نموذج لغوي يعتمد أسلوب دمج المستندات في المفكِّك (Fusion-in-Decoder) القائم على T5. يستخدم النظام أربع دوال هدف مبتكرة لتدريب المسترجِع — تقطير الانتباه، وEMDR²، ، وتقطير الحيرة بالاستبعاد — بهدف محاذاة المسترجِع مع القارئ. يصل Atlas-11B إلى دقة 42.4% على NaturalQuestions بـ 64 مثالاً فقط، متفوقاً على PaLM-540B بثلاث نقاط رغم أن عدد معاملاته أقلّ بخمسين مرة. كما تُبيّن الورقة أن معرفة Atlas قابلة للتحديث بمجرد تبديل دون إعادة تدريب.
الأثر
أثبت Atlas أن التعزيز بالاسترجاع والتعلُّم بأمثلة قليلة ليسا نهجين متنافسين بل متكاملين. بيّن أن نموذجاً مُعزَّزاً بالاسترجاع ومُصمَّماً بعناية يستطيع مضاهاة نماذج أكبر بخمسين مرة أو التفوق عليها في المهام كثيفة المعرفة، وهو ما غيّر معادلة التكلفة جذرياً. أثّرت منهجية في أعمال لاحقة مثل Self-RAG، وتحوّلت فكرة تخزين المعرفة في فهرس قابل للتبديل بدلاً من أوزان مُجمَّدة إلى مبدأ تصميمي في أنظمة التوليد المُعزَّز بالاسترجاع الحديثة.
تخيّل طالبين يستعدّان لاختبار. الأول حفظ الكتاب كاملاً — عشرة آلاف صفحة. الثاني ذاكرته أصغر بكثير لكن معه مساعد أبحاث بارع يعثر فوراً على أنسب ثلاث صفحات لأيّ سؤال. الطالب الأول مبهر لكنه بطيء وتكلفة تدريبه عالية، وهو محصور بالطبعة التي حفظها. أما الثاني فخفيف وسريع، وإن صدرت طبعة جديدة يكفي أن يُسلّمها لمساعده.
Atlas هو الطالب الثاني. «دماغه» نموذج لغوي من عائلة T5، و«مساعد أبحاثه» مسترجِع من عائلة Contriever. الاختراق الجوهري أن الدماغ والمساعد تعلّما معاً منذ اليوم الأول، فأصبح المساعد يعرف بالضبط أيّ الصفحات يستفيد منها الدماغ أكثر.
المشكلة: الحفظ مُكلف وهشّ
بحلول 2022 كانت النماذج اللغوية الكبيرة قد أظهرت قدرة لافتة: أعطِها بضعة أمثلة في المُلقَّم — وهو ما نسمّيه — وستؤدي مهاماً لم تُدرَّب عليها قطّ. GPT-3 مثلاً كان يجيب عن أسئلة معرفية ويُصنِّف المشاعر ويترجم، كل ذلك انطلاقاً من نماذج قليلة.
لكن هذه القدرة لها ثمن باهظ. لكي يجيب النموذج عن أسئلة واقعية، يحتاج إلى تخزين المعرفة داخل معاملاته. النتيجة: مئات المليارات من الأوزان تحمل كل شيء من تواريخ تاريخية إلى حقائق علمية. PaLM وحده استخدم 540 مليار معامل. تكلفة التدريب كانت هائلة — آلاف وحدات TPU لأسابيع — ولحظة انتهاء التدريب تتجمّد المعرفة ولا تتحدّث.
النماذج المُعزَّزة بالاسترجاع طرحت بديلاً مختلفاً: بدلاً من الحفظ، ابحث واسترجِع. نماذج مثل RAG وRETRO أثبتت أن نموذجاً أصغر يملك وصولاً إلى فهرس مستندات يستطيع مجاراة نماذج أضخم بكثير في المهام كثيفة المعرفة. لكن بقيت فجوة لم يسدّها أحد: لم يُثبت أي عمل سابق أن هذه النماذج المُعزَّزة بالاسترجاع قادرة أيضاً على التعلُّم من أمثلة قليلة. السؤال المفتوح كان: هل يستطيع نموذج يبحث عن المعلومات أن يتعلّم مهاماً جديدة من بضعة نماذج فقط؟
البنية: مسترجِع وقارئ يتدرّبان كأنهما واحد
يقوم Atlas على مكوّنين يعملان بتناغم، تماماً كباحث وكاتب يتعاونان على صياغة كل إجابة.
المسترجِع (Contriever) نموذج مبني على BERT. حين يصل استعلام، يحوّله المسترجِع مع كل مستند في الفهرس إلى متجهات كثيفة في ، ثم يعثر على أقرب مستند عبر . الفرق عن البحث بالكلمات المفتاحية (مثل BM25) أن يلتقط المعنى الدلالي — فسؤال «ما عاصمة فرنسا؟» يتطابق مع مستند يذكر أن «باريس مقرّ الحكومة الفرنسية» حتى لو لم تظهر فيه كلمة «عاصمة».
القارئ (Fusion-in-Decoder / T5) نموذج . يستقبل الاستعلام مُقترناً بكل مستند مسترجَع، ويعالج كل زوج بشكل مستقل عبر ، ثم يدمج كل التمثيلات في من خلال . هذا التصميم — المعروف بدمج المستندات في المفكِّك — يتدرّج خطياً مع عدد المستندات، بخلاف الضمّ البسيط الذي يتدرّج تربيعياً.
الابتكار المحوري هو التدريب المشترك: المسترجِع لا يعمل بمعزل عن القارئ، بل تُحدَّث معاملاته بناءً على إشارات من النموذج اللغوي. بهذه الطريقة يتعلّم المسترجِع جلب المستندات التي تُساعد القارئ فعلاً على إنتاج إجابات صحيحة.
التدريب المشترك: تعليم أمين المكتبة ما يحتاجه القارئ
أصعب تحدٍّ في النماذج المُعزَّزة بالاسترجاع هو ما يُشبه مشكلة الدجاجة والبيضة: المسترجِع يحتاج أن يعرف أيّ المستندات مفيدة، لكن مفهوم «المفيد» يعتمد على ما يستطيع القارئ فعله بهذه المستندات. وفي المقابل أداء القارئ يتوقف على جودة ما يصله من مستندات. إذا انطلق أيٌّ منهما بشكل سيئ يبقى النظام بأكمله عالقاً في حلقة مفرغة.
يحلّ Atlas هذه المعضلة بتدريب المكوّنين معاً، بحيث يتلقى المسترجِع إشارات تدريبية مُستمدّة من أداء القارئ نفسه. تستعرض الورقة أربع دوال هدف لتدريب المسترجِع، كل منها يُقدّم نوعاً مختلفاً من التغذية الراجعة.
الفكرة وراء تقطير الحيرة أنيقة في بساطتها: لكل مستند مسترجَع ، اسأل القارئ «ما مدى جودة تنبؤك بالإجابة لو لم ترَ سوى هذا المستند وحده؟» المستندات التي تُؤدّي إلى حيرة أقلّ — أي تنبؤ أفضل — هي التي ينبغي للمسترجِع ترتيبها أعلى. بالصياغة الرسمية، يُدرَّب المسترجِع على تصغير بين درجات الصلة التي يمنحها والتوزيع المُشتقّ من حيرة القارئ لكل مستند.
دمج المستندات في المفكِّك: قراءة مستندات كثيرة بكفاءة
أبسط طريقة لاستخدام المستندات المسترجَعة هي ضمّها جميعاً مع الاستعلام وتمريرها للنموذج كمدخل واحد طويل. لكن يتدرّج تربيعياً مع طول المدخل، فمضاعفة الطول تعني أربعة أضعاف التكلفة. مع عشرين مقطعاً مسترجَعاً يصبح الأمر باهظاً لدرجة غير عملية.
أسلوب دمج المستندات في المفكِّك (FiD) يحلّ هذا بأناقة. كل مستند يُضمّ مع الاستعلام ويُمرَّر بشكل مستقل عبر مُرمِّز T5. المُرمِّز يُنتج مجموعة تمثيلات خفية لكل مستند. ثم تُرصف هذه التمثيلات كلها في تسلسل واحد طويل وتُمرَّر إلى المفكِّك. المفكِّك يستخدم الانتباه التقاطعي لينتبه لجميع تمثيلات المستندات دفعة واحدة.
النقطة الجوهرية: الانتباه الذاتي في المُرمِّز — وهو العملية المُكلفة — يرى مستنداً واحداً في كل مرة، فالتكلفة تتدرّج خطياً مع عدد المستندات. وحده الانتباه التقاطعي في المفكِّك هو الذي يرى جميع المستندات معاً، وهو أخفّ بكثير من الانتباه الذاتي الكامل على مدخل مُرصوف.
التدريب المسبق: بناء نموذج باحث عن المعرفة من الصفر
Atlas لا يُضبَط للاسترجاع في مرحلة لاحقة فحسب — بل يتدرّب مسبقاً مع الاسترجاع منذ اللحظة الأولى. يُهيَّأ المسترجِع من نموذج Contriever غير المُشرَف عليه، ويُهيَّأ القارئ من T5-lm-adapt (نسخة من T5 دُرِّبت على نصوص بلا تعنيات). بعدها يُدرَّب المكوّنان معاً على مزيج من بيانات ويكيبيديا وCommon Crawl.
مهمة التدريب المسبق هي : خُذ مقطعاً نصياً، أخفِ بعض الرموز فيه، استرجِع مستندات ذات صلة، ثم تنبّأ بالرموز المخفاة مستعيناً بالسياق المسترجَع. هذا الأسلوب يُعلّم النظام أن يبحث عن المعرفة الخارجية ويستخدمها منذ بداية التدريب.
ثمة تفصيلة هندسية حرجة: أثناء التدريب المسبق يجب تحديث فهرس المستندات دورياً. مع تغيُّر أوزان المسترجِع تصبح المستندات قديمة ولا تعكس الحالة الراهنة. لذلك يُعيد Atlas ترميز المستندات وفهرستها كل 1,000 خطوة تدريب — عملية مُكلفة حسابياً لكنها ضرورية للحفاظ على تزامن الفهرس مع المسترجِع المتطوّر.
نتائج التعلُّم بأمثلة قليلة: نموذج صغير وأداء كبير
النتيجة العنوان في الورقة: Atlas-11B بـ 64 مثالاً تدريبياً فقط يحقّق دقة 42.4% على NaturalQuestions — متفوقاً على PaLM-540B الذي حصل على 39.6% رغم أنه يمتلك معاملات أكثر بخمسين مرة واستهلك حوسبة تدريب أكبر بخمسين مرة.
على TriviaQA يبلغ Atlas-11B دقة 84.7% بـ 64 مثالاً. وعلى MMLU (57 مهمة متنوعة) يحقّق نتائج قوية عبر التخصّصات، لا سيما تلك التي تستفيد من الاسترجاع الواقعي. وعلى معيار KILT (8 مهام كثيفة المعرفة) يُسجّل Atlas أفضل النتائج مع الكامل، ويبقى منافساً حتى مع أمثلة قليلة.
أثناء الضبط الدقيق يلجأ Atlas إلى تحسين عملي ذكي: الضبط من جانب الاستعلام فقط. بدلاً من إعادة ترميز فهرس المستندات بالكامل (ملايين المستندات) بعد كل تحديث للمسترجِع، يُحدَّث وحده فيما يبقى مُرمِّز المستندات مُجمَّداً ويُعاد ترتيب الفهرس باستخدام تضمينات الاستعلام الجديدة. هذا يجعل الضبط الدقيق ممكناً على جهاز واحد.
قابلية التحديث: تبديل الفهرس لا الأوزان
من أقوى مزايا Atlas العملية قابلية التحديث. بما أن المعرفة تسكن في فهرس المستندات لا في أوزان النموذج، يمكنك تحديث ما «يعرفه» النموذج بمجرد استبدال الفهرس — دون أي إعادة تدريب.
أثبت المؤلفون ذلك بتجربة زمنية على NaturalQuestions: اختاروا أسئلة تتغيّر إجاباتها مع مرور الوقت (مثل «مَن رئيس دولة كذا؟»)، ثم بيّنوا أن التبديل من فهرس ويكيبيديا 2017 إلى فهرس 2021 حدّث إجابات النموذج بشكل صحيح دون أيّ ضبط دقيق إضافي. أما النموذج الذي يخزّن كل شيء في معاملاته فسيحتاج إعادة تدريب مُكلفة.
كشفت النتائج أيضاً أن اختيار الفهرس بالغ الأثر: استخدام فهرس ويكيبيديا وحده يتفوق بوضوح على فهرس Common Crawl في المهام كثيفة المعرفة، على الأرجح لأن ويكيبيديا أكثر تنظيماً وأكثف بالمعلومات الموثوقة.
تحليل الاستبعاد: ما يهمّ وما لا يهمّ
تتضمّن الورقة دراسات مُفصَّلة تكشف عن العوامل الفعلية التي تُحرّك أداء Atlas.
دالة هدف المسترجِع: الدوال الأربع (ADist وEMDR² وPDist وLOOP) تُعطي أداءً متقارباً، لكن PDist يتميّز بأفضل استقرار وأقلّ تكلفة حسابية، مما يجعله الخيار الافتراضي الموصى به.
مهمة التدريب المسبق: قُورنت ثلاث مهام — نمذجة اللغة البادئة، ونمذجة اللغة المُقنَّعة، وتوليد القسم من العنوان. نمذجة اللغة المُقنَّعة تتفوق بفارق بسيط واعتُمدت خياراً افتراضياً.
محتوى الفهرس: فهرس ويكيبيديا يتفوق باستمرار على Common Crawl في المهام اللاحقة، حتى حين استُخدم Common Crawl أثناء التدريب المسبق. هذا يُشير إلى أن جودة الفهرس أهمّ من حجمه.
حجم النموذج: Atlas يستفيد من التوسيع، لكن المكاسب الآتية من التعزيز بالاسترجاع أكبر من المكاسب الناتجة عن مجرد زيادة عدد المعاملات. Atlas-3B مع الاسترجاع يتفوق على T5-11B بدون استرجاع في مهام كثيرة.
الشيفرة: كيف يعالج Atlas الاستعلام
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
# استدلال Atlas: استرجاع ← ترميز ← دمج ← توليد
def atlas_inference(query: str, retriever, reader, index, k=20):
# الخطوة 1: ترميز الاستعلام واسترجاع أقرب k مستند
query_emb = retriever.encode_query(query) # [1, d]
doc_scores = index.search(query_emb, k=k) # تشابه جيب التمام
top_docs = [index.get_doc(i) for i in doc_scores.top_k_ids]
# الخطوة 2: ترميز كل زوج (استعلام + مستند) على حدة
encoder_outputs = []
for doc in top_docs:
input_text = f"question: {query} context: {doc.text}"
enc_out = reader.encoder(input_text) # [seq_len, d_model]
encoder_outputs.append(enc_out)
# الخطوة 3: الدمج — ترصيف كل مخرجات المُرمِّز
fused = torch.cat(encoder_outputs, dim=0) # [k * seq_len, d_model]
# الخطوة 4: فكّ الترميز — الانتباه التقاطعي على جميع المستندات
answer = reader.decoder.generate(
encoder_output=fused, # المفكِّك يرى كل المستندات
max_length=64
)
return answerالخط الزمني: من RAG إلى Atlas وما بعده
2020
RAG — التوليد المُعزَّز بالاسترجاع
قدّم لويس وآخرون التوليد المُعزَّز بالاسترجاع الذي يجمع بين استرجاع DPR ومولّد BART. أثبتوا تفوّق المزج بين الاسترجاع والتوليد على التوليد وحده في المهام كثيفة المعرفة.
2020
دمج المستندات في المفكِّك (FiD)
اقترح إيزكارد وغراف معالجة كل مستند مسترجَع بشكل مستقل في المُرمِّز ودمج النتائج في المفكِّك — وهي البنية التي أصبحت لاحقاً قلب قارئ Atlas.
2022
Contriever
قدّم إيزكارد وآخرون الاسترجاع الكثيف غير المُشرَف باستخدام التعلُّم التبايُني دون الحاجة لأزواج استعلام-مستند مُعنوَنة، وأصبح هذا العمود الفقري لمسترجِع Atlas.
2023
Atlas
تدريب مسبق مشترك للمسترجِع والقارئ بأربع دوال هدف مبتكرة. 11 مليار معامل تتفوق على 540 ملياراً في المهام كثيفة المعرفة بأمثلة قليلة، مع إثبات قابلية التحديث والتفسير.
2023
Self-RAG
استلهم رؤية Atlas بأن الاسترجاع والتوليد يجب أن يترابطا بإحكام، وأضاف رموز تأمّل ذاتي يقرّر من خلالها النموذج متى يسترجع وماذا يسترجع.
أعمق ما قدّمه Atlas ليس بنية معمارية بعينها ولا حيلة تدريبية — بل هو إجابة عن سؤال جوهري: أين ينبغي أن تعيش المعرفة؟ النماذج اللغوية الكبيرة كانت تتعامل مع المعاملات كوسيط تخزين شامل: كلما أردت معرفة أكثر أضفت معاملات أكثر. Atlas بيّن أن نظام استرجاع مُصمَّماً بعناية يفصل بين مهارة الاستدلال والمحتوى الذي يُستدَلّ به، وأن هذا الفصل يُفضي إلى أداء أفضل بتكلفة أقل.
هذا المبدأ لا يزال حياً: أنجح أنظمة التوليد المُعزَّز بالاسترجاع اليوم — من روبوتات المحادثة المُعزَّزة بالبحث إلى منظومات الإجابة عن الأسئلة في المؤسسات — تعود جذورها إلى ما أثبته Atlas: أن التدريب المشترك، لا مجرد إلحاق الاسترجاع بنموذج جاهز، هو المفتاح لإطلاق القدرة على التعلُّم بأمثلة قليلة في المهام كثيفة المعرفة.
المرجعIzacard, Lewis, Lomeli, Hosseini, Petroni, Schick, Dwivedi-Yu, Joulin, Riedel, Grave. Atlas: Few-shot Learning with Retrieval Augmented Language Models. JMLR, 2023.
مصطلحات هذه الورقة
- التوليد المعزَّز بالاسترجاعRetrieval-Augmented Generation
- التعلّم بأمثلة قليلةFew-Shot Learning
- الاسترجاع الكثيفDense Retrieval
- التعلم التبايُنيContrastive Learning
- الدمج في المفكِّكFusion-in-Decoder
- تقطير المعرفةKnowledge Distillation
- التدريب المشتركJoint Training
- فهرس المستنداتDocument Index
- مُرمِّز الاستعلامQuery Encoder
- تقطير الحيرةPerplexity Distillation
- نمذجة اللغة المُقنَّعة (MLM)Masked Language Modeling (MLM)
- التعلم في السياقIn-Context Learning
- كثيف المعرفةKnowledge-Intensive
- مرمِّز-فاكّ ترميزEncoder-Decoder
- استرجاع المعلوماتInformation Retrieval