نماذج اللغة2022متقدم15 دقيقة قراءة

RETRO: تحسين النماذج اللغوية بالاسترجاع من تريليونات الرموز

RETRO: Improving Language Models by Retrieving from Trillions of Tokens

Borgeaud, S. · Mensch, A. · Hoffmann, J. · Cai, T. · Rutherford, E. · Millican, K. · Rae, J. W. · Elsen, E. · Sifre, L. — ICML

المشكلة

بحلول عام 2021 بلغت النماذج اللغوية مئات المليارات من المعاملات، لكن التوسيع ظلّ يربط أمرين معاً: مزيد من الحوسبة ومزيد من الحفظ. كل معلومة يعرفها النموذج كان يجب «خبزها» داخل أوزانه، مما جعل التدريب باهظ التكلفة والتحديث شبه مستحيل. إذا ظهرت معرفة جديدة أو اكتُشف خطأ، لم يكن هناك خيار سوى إعادة التدريب من الصفر. والأسوأ أنه لم تكن هناك طريقة لفحص ما «يتذكره» النموذج أو لحذف بيانات ضارة بعد انتهاء التدريب.

الإسهام

قدّم الباحثون RETRO (المحوِّل المعزَّز بالاسترجاع): نموذج لغوي شبه معاملي يُعزِّز فاكّ ترميز المحوِّل القياسي بمُسترجِع BERT مُجمَّد وآلية انتباه تقاطعي مقسَّمة إلى شرائح. يُقسَم المُدخل إلى شرائح من 64 رمزاً، ولكل شريحة يسترجع النموذج أقرب k جيران من قاعدة بيانات تضمّ تريليوني رمز ويدمجها عبر مرمِّز مخصّص وطبقات انتباه تقاطعي تُدرَج كل ثلاث كتل. حقّق RETRO بحجم 7.5 مليار معامل أداءً يضاهي GPT-3 (175 مليار) وJurassic-1 (178 مليار) على معيار Pile، بعدد معاملات أقلّ 25 مرة. كما يمكن تحويل نماذج مدرَّبة مسبقاً إلى نماذج RETRO بسرعة باستخدام 3% فقط من رموز التدريب الأصلية.

الأثر

أثبت RETRO أن الذاكرة الصريحة يمكن أن تحلّ محلّ التوسيع الخام في عدد المعاملات، مما فتح محوراً جديداً لتحسين النماذج اللغوية. أظهر أن مكاسب الاسترجاع تبقى ثابتة مع نمو حجم النموذج، أي أن الاسترجاع والمعاملات متكاملان لا بديلان. أثّر RETRO مباشرةً في ATLAS الذي جمع بين الاسترجاع والتعلّم بأمثلة قليلة، وألهم الموجة الأوسع من أنظمة التي أصبحت اليوم معياراً في تطبيقات النماذج اللغوية الكبيرة الإنتاجية. فكرة تحديث معرفة النموذج باستبدال قاعدة بياناته — دون إعادة تدريب — صارت مبدأً أساسياً في البنية التحتية الحديثة للذكاء الاصطناعي.

تخيّل نموذجاً لغوياً تقليدياً كأنه طبّاخ عبقري لكنه كثير النسيان — حفظ آلاف الوصفات عن ظهر قلب، لكن لتعلّم طبق جديد يحتاج العودة إلى معهد الطبخ لأشهر. والآن تخيّل طبّاخاً آخر يحتفظ بـمكتبة وصفات ضخمة في المطبخ. قبل تحضير كل طبق، يُلقي نظرة سريعة على الصفحات الأنسب — لا يقرأ الكتاب كاملاً بل الفقرات المطلوبة فقط. هذا الطبّاخ لا يحتاج لحفظ كل شيء، فالمكتبة موجودة دائماً في متناول يده.

RETRO هو ذلك الطبّاخ الثاني. بدلاً من حشر معرفة 175 مليار معامل في «دماغه»، يحتفظ بقاعدة بيانات خارجية من تريليوني رمز ويسترجع الشرائح المناسبة في الوقت المناسب تماماً.

المشكلة: التوسيع يفرض حفظ المعرفة داخل الأوزان

بحلول عام 2021 كانت الوصفة السائدة لتحسين النماذج اللغوية بسيطة: اجعلها أكبر. GPT-3 استخدم 175 مليار معامل، وJurassic-1 استخدم 178 ملياراً. كل زيادة في عدد المعاملات حسّنت الأداء، لكنها رفعت أيضاً تكلفة التدريب وأطالت مدّته، وأنتجت نموذجاً تتجمّد معرفته لحظة انتهاء التدريب.

هذا النهج يربط قدرتين مختلفتين جذرياً في آلية واحدة: على النموذج أن يتعلّم في الوقت نفسه كيف يستدلّ لغوياً (القواعد النحوية، الدلالات، البراغماتية) وما الحقائق الموجودة في العالم (تواريخ، أسماء، علاقات، أنماط كود). كلاهما مُرمَّز في مصفوفات الأوزان ذاتها — ولا سبيل لتحديث أحدهما دون المساس بالآخر.

أعمال سابقة في التوليد المعزَّز بالاسترجاع مثل REALM وRAG أثبتت أن الاسترجاع الخارجي مفيد، لكنها اقتصرت على نماذج صغيرة (أقل من 300 مليون معامل) وقواعد بيانات محدودة (بضعة مليارات رمز على الأكثر). لم يُثبت أحد أن الاسترجاع يمكن أن يتوسّع جنباً إلى جنب مع أكبر النماذج المعاملية — أو أنه يظلّ فعّالاً حين ينمو النموذج وقاعدة البيانات معاً.

افتح في المختبر
اسحب شريط حجم النموذج لترى كيف تظلّ مكاسب الاسترجاع في RETRO ثابتة مع نمو عدد المعاملات — ما يعادل تضخيم الحجم ~10 مرات.
تستيقظ التجربة عند وصولك…

الفكرة: استرجِع ثم اقرأ

الفكرة الجوهرية في RETRO بسيطة بشكل مخادع: قسِّم المُدخل إلى شرائح، استرجِع نصاً مشابهاً لكل شريحة، ودَع النموذج ينتبه إلى رموزه الخاصة والمقاطع المُسترجَعة معاً. بدلاً من نموذج يخزّن كل شيء داخلياً، يصنع RETRO نموذجاً يبحث عن المعلومات — نهج شبه معاملي حيث جزء من المعرفة يسكن الأوزان وجزء آخر يسكن قاعدة بيانات قابلة للبحث.

إليك خطوات العملية بالتفصيل:

  1. تقسيم المُدخل إلى شرائح. يُقسَم كل تسلسل إلى شرائح ثابتة الحجم من 64 رمزاً. تسلسل من 2048 رمزاً يصبح 32 شريحة.
  2. استرجاع الجيران. لكل شريحة، يُحسَب باستخدام نموذج BERT مُجمَّد، ثم تُبحث أقرب k جيران في قاعدة بيانات محسوبة مسبقاً عبر البحث التقريبي لأقرب جار (SCaNN). كل جار مُسترجَع يتضمّن الشريحة المطابقة بالإضافة إلى تتمّتها (الرموز الأربعة والستون التالية)، فتصبح 128 رمزاً من السياق لكل جار.
  3. ترميز الجيران. تُمرَّر الشرائح المسترجعة عبر مرمِّز محوِّل ثنائي الاتجاه صغير مشروط بتنشيطات الشريحة الحالية — بحيث يُعدَّل تمثيل النص المُسترجَع وفقاً لما يعالجه النموذج حالياً.
  4. الدمج عبر الانتباه التقاطعي المقسَّم. في طبقات محددة من فاكّ الترميز (كل 3 طبقات بدءاً من الطبقة 6)، تُدرَج طبقة انتباه تقاطعي مقسَّم (CCA) حيث تنتبه حالات النموذج الخفية إلى الجيران المُرمَّزين. الجوهري هنا أن نافذة الانتباه مُزاحة: الرمز الأخير من الشريحة u وجميع رموز الشريحة u+1 تنتبه إلى الجيران المُسترجَعين للشريحة u. هذا يحافظ على السببية الانحدارية الذاتية.
  5. التنبؤ. الاحتمالات النهائية للرموز تعتمد على معاملات النموذج الخاصة وعلى السياق المُسترجَع معاً.
افتح في المختبر
تتبّع تسلسلاً عبر مراحل RETRO الخمس: التقسيم ← الاسترجاع ← الترميز ← الانتباه التقاطعي المقسَّم ← التنبؤ.
تستيقظ التجربة عند وصولك…

الانتباه التقاطعي المقسَّم: الآلية المفتاحية

المكوّن المعماري الأكثر جِدّة في RETRO هو الانتباه التقاطعي المقسَّم (CCA). الانتباه التقاطعي المعياري سيجعل كل رمز ينتبه إلى جميع الجيران المُسترجَعين عبر جميع الشرائح — تكلفة تربيعية تقضي على قابلية التوسيع. CCA يُقيّد كل رمز بالانتباه فقط إلى جيران شريحته الخاصة، فتبقى التكلفة خطية في عدد الرموز المُسترجَعة.

لكن هنالك دقّة تتعلق بالسببية. حين يسترجع RETRO جيراناً للشريحة C_u، فإن هؤلاء الجيران عُثر عليهم باستخدام C_u نفسها. لو استطاعت الرموز داخل C_u الانتباه إلى تلك الجيران، فسيكون النموذج يختلس النظر إلى معلومات مُستخلَصة من رموز مستقبلية في الشريحة ذاتها — مما يكسر السببية الانحدارية الذاتية. الحلّ: إزاحة نافذة الانتباه. الجيران المُسترجَعون للشريحة C_u لا يمكن الوصول إليهم إلا بدءاً من الرمز الأخير في C_u وامتداداً عبر الشريحة C(u+1) بأكملها. خدعة التداخل برمز واحد هذه تحافظ على التوليد الصارم من اليسار إلى اليمين مع السماح للسياق المُسترجَع بالتأثير في تنبؤات الشريحة التالية.

فاكّ ترميز RETRO يُناوِب بين نوعين من الكتل. كتلة LM القياسية تُطبِّق انتباهاً ذاتياً ثم طبقة تغذية أمامية: LM(H) = FFW(ATTN(H)). أما كتلة RETRO فتُدرِج CCA بين الانتباه الذاتي والتغذية الأمامية: RETRO(H, E) = FFW(CCA(ATTN(H), E))، حيث E هي مجموعة الجيران المُرمَّزة.

افتح في المختبر
شاهد كيف تتزحلق نافذة الانتباه: انقر على أي رمز لترى أيّ جيران مُسترجَعين يمكنه الوصول إليهم، ولماذا تحافظ الحدود على السببية.
تستيقظ التجربة عند وصولك…
RETRO(H,E)=FFW ⁣(CCA ⁣(ATTN(H),E))\text{RETRO}(H, E) = \text{FFW}\!\bigl(\text{CCA}\!\bigl(\text{ATTN}(H),\, E\bigr)\bigr)
كتلة RETRO — انتباه ذاتي ثم انتباه تقاطعي مقسَّم ثم تغذية أماميةH هو تسلسل الحالات الخفية، وE مجموعة الجيران المُسترجَعين المُرمَّزين. ATTN هو الانتباه الذاتي السببي، CCA هو الانتباه التقاطعي المقسَّم (ينتبه فقط إلى جيران كل شريحة)، وFFW هي شبكة التغذية الأمامية القياسية. كتلة LM العادية تحذف CCA فتصبح: LM(H) = FFW(ATTN(H)).
CCA(H,E)um+i1=CA(hum+i1,  Eu)for i[1,m]\text{CCA}(H, E)_{um+i-1} = \text{CA}(h_{um+i-1},\; E_u) \quad \text{for } i \in [1, m]
الانتباه التقاطعي المقسَّم — كل رمز مُنتبِه يُطبِّق انتباهاً تقاطعياً على جيران شريحة واحدةلكل شريحة u وكل موضع i ضمن نافذة الانتباه، يعمل الانتباه التقاطعي على الجيران المُرمَّزين E_u للشريحة C_u. نافذة الانتباه H⁺_u مُزاحة برمز واحد: تحتوي الرمز الأخير من الشريحة C_u والرموز m-1 الأولى من الشريحة C(u+1). CA هو انتباه تقاطعي متعدد الرؤوس مع ترميز مواضع نسبي.

قاعدة البيانات: مخزن مفتاح-قيمة بتريليونات الرموز

قاعدة بيانات RETRO مبنية من MassiveText، مجموعة بيانات متعددة اللغات تضمّ أكثر من 5 تريليونات رمز مأخوذة من الويب والكتب والأخبار وويكيبيديا وGitHub. القاعدة مُهيكَلة كذاكرة مفتاح-قيمة: كل مفتاح هو متوسط تضمين BERT لشريحة من 64 رمزاً، وكل قيمة هي الشريحة ذاتها متبوعة بتتمّتها من 64 رمزاً — فتصبح 128 رمزاً لكل مُدخَل.

أثناء التدريب يسترجع RETRO من مجموعة فرعية تضمّ 600 مليار رمز. أما أثناء التقييم فتُستخدم القاعدة الكاملة بحجم 1.75 تريليون رمز. الاسترجاع يعتمد على SCaNN (البحث التقريبي لأقرب جار القابل للتوسيع) بمسافة L₂ على تضمينات BERT، بزمن استعلام يبلغ ~10 ملّي ثانية لكل شريحة. ولمنع الغش البسيط، تُستبعد الجيران القادمة من المستند نفسه الذي ينتمي إليه تسلسل التدريب.

مقارنة جوهرية مع الاسترجاع على مستوى الرمز: kNN-LM يخزّن متجهاً من 1024 عدداً عشرياً لكل رمز، مما يتطلب 15 تيرابايت لويكيبيديا وحدها (4 مليارات رمز). RETRO يخزّن تضمينًا واحداً لكل شريحة من 64 رمزاً، فلا يحتاج سوى 215 غيغابايت لنفس بيانات ويكيبيديا — ضغط بمقدار 70 مرة. هذا النهج على مستوى الشريحة هو ما يجعل الاسترجاع من تريليونات الرموز ممكناً عملياً.

افتح في المختبر
قارن بين الاسترجاع على مستوى الرمز (kNN-LM) والاسترجاع على مستوى الشريحة (RETRO). بدِّل حجم القاعدة لترى متطلبات التخزين.
تستيقظ التجربة عند وصولك…

البنية: المرمِّز وفاكّ الترميز وكتلة RETRO

بنية RETRO تتألف من مكوّنين رئيسيين: مرمِّز استرجاع وفاكّ ترميز يُناوِب بين كتل المحوِّل القياسية وكتل RETRO.

مرمِّز الاسترجاع هو محوِّل ثنائي الاتجاه صغير (طبقتان، البُعد 896) يُشارَك بين جميع الجيران وجميع الشرائح. يأخذ كل جار مُسترجَع كمُدخل ويُشرِطه بتنشيطات فاكّ الترميز الوسيطة للشريحة المقابلة عبر الانتباه التقاطعي. هذا الاشتراط حاسم: يسمح لتمثيل المرمِّز للنص المُسترجَع أن يتكيّف مع ما يحتاجه النموذج حالياً، بدلاً من أن يكون تضمينًا ثابتاً.

فاكّ الترميز يتبع تصميم المحوِّل الانحداري الذاتي القياسي مع RMSNorm (بدلاً من LayerNorm) وترميز مواضع نسبي. كتل RETRO تُدرَج كل 3 طبقات بدءاً من الطبقة 6. في نموذج 7.5 مليار، يُضيف هذا نحو 8% من المعاملات مقارنة بالنموذج الأساسي (7.0 مليار → 7.5 مليار). جميع أحجام النماذج الأربعة تتشارك أبعاد المرمِّز نفسها، فتتقلّص النسبة الإضافية كلما كبر فاكّ الترميز.

افتح في المختبر
انقر على أيّ مكوّن لترى دوره وعدد معاملاته.
تستيقظ التجربة عند وصولك…

الفكرة في الكود

الانتباه التقاطعي المقسَّم — تنفيذ مبسَّطpython

مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.

import numpy as np

def chunked_cross_attention(H, E, m=64):
    """
    H: (n, d) الحالات الخفية لفاكّ الترميز للتسلسل الكامل
    E: (l, k, r, d) الجيران المُرمَّزون — l شريحة، k جيران، r رمز لكل جار
    m: حجم الشريحة (64 رمزاً)
    الناتج: (n, d) خَرج مُدمَج فيه معلومات الاسترجاع
    """
    n, d = H.shape
    l = n // m
    output = H.copy()

    for u in range(l):
        # نافذة الانتباه: الرمز الأخير من الشريحة u + أول (m-1) رمز من الشريحة u+1
        start = u * m + (m - 1)        # الرمز الأخير من الشريحة C_u
        end = min(start + m, n)         # حتى نهاية الشريحة C(u+1)

        # نُسطِّح رموز k جيران في مجموعة مفتاح-قيمة واحدة
        E_u = E[u].reshape(-1, d)       # (k*r, d)

        for i in range(start, end):
            q = H[i]                    # (d,) الاستعلام = الحالة الخفية الحالية
            scores = E_u @ q            # (k*r,) انتباه بالجداء النقطي
            weights = softmax(scores)
            output[i] = H[i] + weights @ E_u  # اتصال متبقٍّ

    return output

# الفكرة الجوهرية: جيران الشريحة C_u تؤثر فقط
# في الرمز الأخير من C_u وجميع رموز C(u+1).
# هذا يحافظ على السببية الانحدارية الذاتية مع السماح
# للسياق المُسترجَع بتشكيل تنبؤات الشريحة التالية.

النتائج: مجاراة العمالقة بجزء صغير من المعاملات

حقق RETRO بحجم 7.5 مليار نتائج لافتة عبر معايير متعددة. على مجموعة Pile تفوّق على نموذج Jurassic-1 (178 مليار معامل) في غالبية المجموعات الفرعية رغم أنه أصغر 25 مرة. على Wikitext103 بلغت حيرة النموذج 3.92 عند الاسترجاع من قاعدة MassiveText الكاملة. على LAMBADA ارتفعت الدقة من 52% (172 مليون) إلى 73% (7.5 مليار) مع تفعيل الاسترجاع.

استُكشفت ثلاثة أبعاد للتوسيع. أولاً، توسيع النموذج: مكاسب الاسترجاع ظلّت ثابتة مع نمو النماذج من 172 مليون إلى 7.5 مليار معامل — الاسترجاع يُضيف مُعامل حجم فعّال ثابتاً يبلغ ~10 أضعاف بصرف النظر عن حجم النموذج. ثانياً، توسيع قاعدة البيانات: توسيع قاعدة الاسترجاع من ويكيبيديا (4 مليارات رمز) إلى MassiveText (1.75 تريليون رمز) أحدث تحسينات كبيرة. ثالثاً، توسيع عدد الجيران: الأداء تحسّن مع ما يصل إلى 10 جيران للنماذج الصغيرة و40 للنموذج 7.5 مليار، وبعد ذلك يبدأ تدهور الجودة في إلغاء الفائدة.

في الإجابة عن الأسئلة (Natural Questions) حقق RETRO 7.5 مليار دقة مطابقة تامة بلغت 45.5 — منافسة لـ REALM (40.4) وRAG (44.5)، وإن كانت أقل من FiD (51.4)، ربما لأن بنية المرمِّز-فاكّ الترميز T5 في FiD تعتمد بشكل أكبر على المقاطع المُسترجَعة مقارنة ببنية فاكّ الترميز فقط في RETRO.

افتح في المختبر
قارن RETRO 7.5 مليار مع GPT-3 (175 مليار) وJurassic-1 (178 مليار) وGopher (280 مليار) عبر مجموعات Pile الفرعية. بدِّل المجموعات لترى أين يساعد الاسترجاع أكثر.
تستيقظ التجربة عند وصولك…

التعديل التراجعي: إضافة الاسترجاع إلى أي نموذج مُدرَّب مسبقاً

واحدة من أكثر إسهامات RETRO عملية هي التعديل التراجعي (RETROfitting) — تحويل محوِّل مُدرَّب مسبقاً إلى نموذج معزَّز بالاسترجاع دون إعادة تدريب الأوزان الأصلية. الإجراء يُجمِّد جميع المعاملات المُدرَّبة مسبقاً ويُدرِّب فقط طبقات CCA الجديدة ومعاملات مرمِّز الاسترجاع (أقل من 10% من إجمالي المعاملات في نموذج 7 مليارات).

التعديل التراجعي لا يحتاج سوى نحو 3% من رموز التدريب الأصلية (تقريباً 6 ملايين تسلسل). يتجاوز الأداء بسرعة النموذج الأساسي ويقترب من أداء نموذج RETRO مُدرَّب من الصفر. والأهم أنه بما أن الأوزان الأصلية مُجمَّدة، فإن تعطيل الاسترجاع أثناء الاستدلال يستعيد أداء النموذج الأصلي بالضبط — دون أي تدهور.

لهذا آثار عملية مهمة: أي مؤسسة لديها محوِّل مُدرَّب مسبقاً يمكنها إضافة قدرات الاسترجاع بتكلفة منخفضة، والعودة إلى النموذج الأصلي في أي وقت. قاعدة بيانات الاسترجاع نفسها يمكن استبدالها أو تحديثها أو تصفيتها دون المساس بأوزان النموذج.

تسرّب البيانات: ما مقدار المكاسب الحقيقية؟

تساؤل طبيعي: هل RETRO ببساطة ينسخ ويلصق من قاعدة بياناته؟ إذا كانت بيانات التقييم موجودة في مجموعة التدريب، فقد يستغل نموذج الاسترجاع هذا التداخل أسهل من النموذج العادي — إذ قد يحتوي الجيران المُسترجَعون على الإجابة نفسها حرفياً.

عالج المؤلفون هذا بدقة. عرّفوا مقياس بت لكل بايت مُرشَّح: لكل شريحة تقييم قاسوا تداخلها مع أقرب شريحة تدريب (أطول سلسلة فرعية مشتركة)، ثم حسبوا الخسارة فقط على الشرائح التي تقل نسبة تداخلها عن عتبة α معيّنة. عند α = 12.5% (أقل من 8 رموز متتالية مشتركة) تفوّق RETRO على النماذج الأساسية عبر جميع الأحجام. ميل منحنى الأداء كان أكبر لـ RETRO — بمعنى أنه يستغل التسرّب أكثر فعلاً — لكن حتى على الشرائح الجديدة تماماً وفّر الاسترجاع تحسيناً ذا معنى.

إضافةً إلى ذلك، أنشأ المؤلفون مجموعة بيانات ويكيبيديا «مستقبلية» من مقالات كُتبت في سبتمبر 2021 — بعد أشهر من جمع بيانات التدريب. على هذه البيانات المضمون عدم تسرّبها، أظهر RETRO مكاسب ثابتة عبر جميع أحجام النماذج، مما يؤكد أن الفائدة تنبع من تعميم حقيقي وليس مجرد حفظ.

الخصوصية والأمان وقابلية التحديث

تصميم RETRO شبه المعاملي يفتح مخاطر وفرصاً في آن واحد لأمان الذكاء الاصطناعي. من جهة المخاطر، الوصول المباشر إلى بيانات التدريب أثناء الاستدلال يُفاقم مخاوف الخصوصية — قد يُظهر النموذج معلومات شخصية محفوظة من قاعدة البيانات. لكن من جهة الفرص، يوفّر الاسترجاع مساراً للتخفيف لا تملكه النماذج المعاملية.

أولاً، حذف البيانات: المحتوى المسيء أو المتحيّز أو الخاص يمكن إزالته من قاعدة الاسترجاع بأثر رجعي دون إعادة تدريب. هذا مستحيل في النماذج العادية حيث يتشابك هذا المحتوى مع مليارات قيم الأوزان. ثانياً، قابلية التحديث: لإبقاء النموذج محدّثاً يكفي تحديث قاعدة البيانات — بتكلفة أقل بمراتب من إعادة التدريب من الصفر. ثالثاً، قابلية التفسير: يمكنك فحص الجيران الذين أثّروا في أي تنبؤ، مما يجعل استدلال النموذج أكثر شفافية من النظام المعاملي البحت. رابعاً، الخصوصية التفاضلية: لأن الاسترجاع منفصل عن أوزان النموذج، يمكن لتقنيات الخصوصية التفاضلية ضمان عدم تخزين أي معلومات خاصة في الأوزان، مع السماح بوصول مُتحكَّم فيه عبر قاعدة البيانات أثناء الاستدلال.

الطريق نحو النماذج اللغوية المعزَّزة بالاسترجاع

  1. 2017

    الذاكرة المؤقتة المستمرة

    أضاف كتلة احتمالية للرموز ذات التنشيطات السابقة المتشابهة، ممدداً سياق LSTM عبر ذاكرة مؤقتة للاسترجاع على مستوى الرمز.

  2. 2020

    kNN-LM

    وسّع الذاكرة المؤقتة المستمرة إلى المحوِّلات بقاعدة بيانات بحجم ويكيبيديا. استرجاع على مستوى الرمز يُمزج مع احتمالات النموذج — دون حاجة لإعادة التدريب، لكن تكاليف التخزين تنفجر على نطاق واسع.

  3. 2020

    REALM

    أول نظام استرجاع مُدرَّب من طرف إلى طرف للتدريب المسبق للنماذج اللغوية. حدّث المُسترجِع وقاعدة البيانات أثناء التدريب — قوي لكنه مكلف ومقيّد بالنماذج الصغيرة.

  4. 2020

    RAG

    التوليد المعزَّز بالاسترجاع: ألحق المقاطع المسترجعة بالمُحفِّز ودرّب مع مُسترجِع DPR. حقق أفضل النتائج في الأسئلة كثيفة المعرفة، لكن الاسترجاع كان لمرة واحدة لكل استعلام — دون دمج مُقسَّم على مستوى الشرائح.

  5. 2022

    RETRO

    وسّع الاسترجاع إلى تريليونات الرموز باسترجاع على مستوى الشريحة وتضمينات BERT المُجمَّدة والانتباه التقاطعي المقسَّم. أول من أثبت أن مكاسب الاسترجاع تستمر عند حجم 7 مليارات+. حجم 7.5 مليار يُجاري نماذج 175 ملياراً+.

  6. 2022

    ATLAS

    جمع بين التدريب المسبق المعزَّز بالاسترجاع والتعلّم بأمثلة قليلة. بنى على رؤى RETRO لكن استخدم تدريباً من طرف إلى طرف للمُسترجِع بنطاق معتدل، محققاً أفضل النتائج في التعلّم بأمثلة قليلة على المهام كثيفة المعرفة.

خيارات التصميم: ما الذي يُحدث فرقاً وما الذي لا يهم

تتضمّن الورقة دراسة استئصال شاملة على نموذج بحجم 247 مليون معامل. أهم النتائج: تتمّات الجيران تُسهم أكثر من الجيران أنفسهم (56% مقابل 22% من إجمالي مكاسب الاسترجاع)، مما يشير إلى أن النموذج يتعلّم توقّع ما سيأتي لاحقاً وليس مجرد النسخ. التدريب بجارين اثنين هو الأمثل حسابياً — جار واحد يُضعف الأداء بشكل ملموس، بينما أربعة جيران يُضيف عبئاً حسابياً بمكسب ضئيل. تطبيق CCA كل 3 طبقات بدءاً من الطبقة 6 يتفوق على تطبيق الانتباه التقاطعي في طبقة واحدة فقط (علوية أو وسطى أو سفلية)، وهو أقل تكلفة بكثير من تطبيقه في كل طبقة. اشتراط المرمِّز بتنشيطات فاكّ الترميز واستخدام ترميز مواضع نسبي في CCA كلاهما يوفّران تحسيناً صافياً دون عبء حسابي إضافي. مرمِّز أعمق (6 طبقات بدل 2) يُنقص الخسارة 0.15% فقط بزيادة 20% في زمن التدريب — لا يستحق.

المرجعBorgeaud, Mensch, Hoffmann, Cai, Rutherford, Millican, Rae, Elsen, Sifre et al.. Improving Language Models by Retrieving from Trillions of Tokens. ICML, 2022.

مصطلحات هذه الورقة