نماذج اللغة2019متوسط13 دقيقة قراءة

BART: التدريب المسبق بإزالة التشويش لنماذج تسلسل إلى تسلسل في التوليد والترجمة والفهم اللغوي

BART: Denoising Sequence-to-Sequence Pre-Training for Natural Language Generation, Translation, and Comprehension

Lewis, M. · Liu, Y. · Goyal, N. · Ghazvininejad, M. · Mohamed, A. · Levy, O. · Stoyanov, V. · Zettlemoyer, L. — ACL

المشكلة

بحلول 2019، كانت أساليب قد أثبتت جدواها، لكن كل أسلوب كان محدوداً بطريقته. BERT يملك مرمِّزاً يتفوّق في مهام الفهم، لكنه لا يصلح للتوليد لأنه يتنبّأ بكل رمز على حدة بدلاً من توليده بالتسلسل. في المقابل، GPT يتميّز بفاكّ ترميز ممتاز للتوليد، لكنه لا يرى إلا ما سبقه من كلمات. حاولت نماذج مثل XLNet وUniLM تقديم حلول وسط، لكن لم ينجح أيّ نموذج في التصدُّر على مهام الفهم والتوليد في آنٍ واحد. كان المجال بحاجة إلى إطار يجمع قوة الترميز ثنائي الاتجاه مع التوليد التسلسلي في بنية واحدة.

الإسهام

تقدّم الورقة BART: نموذج إزالة تشويش يُدرَّب مسبقاً ببنية محوِّل كاملة من مرمِّز وفاكّ ترميز، حيث يُشوَّه النص بطرق عشوائية ثم يتعلّم النموذج إعادة بناء الأصل. المرمِّز يقرأ النص التالف من جميع الاتجاهات، والفاكّ يُعيد كتابته كلمةً بكلمة. بهذا يجمع BART بين قدرة BERT على الفهم (الترميز ثنائي الاتجاه) وقدرة GPT على التوليد (فكّ الترميز التسلسلي) في نموذج واحد. اختبرت الورقة خمس استراتيجيات تشويش ووجدت أن (استبدال مقاطع عشوائية بقناع واحد) مع يعطي أفضل النتائج. كافأ BART أداء RoBERTa على GLUE وSQuAD، وحقّق نتائج غير مسبوقة في التلخيص (+6 ROUGE على XSum) والحوار والإجابة التلخيصية (+1.1 BLEU على WMT RO→EN).

الأثر

أثبت BART أن بنية واحدة من مرمِّز وفاكّ ترميز، حين تُدرَّب مسبقاً على إزالة التشويش بمرونة، تستطيع أن تجمع الفهم والتوليد معاً. بُني على BART نموذج RAG (التوليد المُعزَّز بالاسترجاع) ونموذج mBART للترجمة متعددة اللغات، واعتُمد في أنظمة تلخيص إنتاجية عديدة. كما أثّرت فكرة ملء النص في T5 وما تلاه من نماذج . والأهم أن BART أظهر أن طريقة تشويه النص لا تقلّ أهمية عن البنية المعمارية ذاتها، ففتح بذلك باباً جديداً في أبحاث المسبق.

BERT يقرأ النص عبر مرآة ذات اتجاهين: كل كلمة ترى جميع الكلمات الأخرى، لكنه يُغطّي 15% منها ويطلب من النموذج تخمينها. أمّا GPT فيقرأ عبر بوابة باتجاه واحد: كل كلمة لا ترى إلا ما جاء قبلها، وهذا ممتاز لكتابة الكلمة التالية لكنه أعمى عمّا سيأتي بعدها.

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

الفجوة: إمّا الفهم وإمّا التوليد

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

في الجانب الآخر، GPT يستخدم فاكّ ترميز ذاتي الانحدار — كل رمز لا يرى إلا ما سبقه — وهذا ممتاز للتوليد لكنه محدود في مهام الفهم لأنه لا يستطيع النظر إلى الأمام. تخيّل أنك تكتب قصة وأنت تغطي الصفحة أسفل قلمك: لا يمكنك البناء إلا على ما كتبته بالفعل.

حاولت نماذج مثل XLNet وUniLM وMASS ردم هذه الفجوة بحيل ذكية في التقنيع، لكن كل منها قدّم تنازلات. لم تستطع أي استراتيجية تدريب مسبق واحدة أن تتصدّر معايير الفهم والتوليد معاً. فالسؤال الذي طرح نفسه: هل يمكن بناء نموذج واحد يرث قدرة المرمِّز على الفهم وقدرة الفاكّ على التوليد في آنٍ واحد؟

افتح في المختبر
انقر على كل نموذج لترى كيف تتدفق المعلومات فيه. BERT يرمِّز في الاتجاهين لكنه لا يولِّد. GPT يولِّد لكنه لا يرى ما بعده. BART يجمع القدرتين معاً.
تستيقظ التجربة عند وصولك…

الفكرة: شوِّه النص ثم أعِد بناءه

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

هدف التدريب ببساطة هو تقليل بين ما يُنتجه الفاكّ والنص الأصلي. بمعنى آخر، يتعلّم BART كيف يُعيد أي مدخل تالف إلى أصله — وهنا تكمن قوته: على عكس BERT الذي لا يُقنّع إلا رموزاً منفردة، يستطيع BART التعامل مع الحذف والإدراج واستبدال مقاطع كاملة بل وإعادة ترتيب الجمل.

يمكن تشبيه العملية بتدريب مترجم، لكنه بدلاً من الترجمة بين لغتين يترجم بين نص تالف ونص سليم. المرمِّز عليه أن يفهم المدخل التالف فهماً عميقاً كافياً لنقل معناه، والفاكّ عليه أن يولِّد مخرجات سلسة — وهاتان بالضبط المهارتان اللتان يحتاجهما أي نموذج في المهام التطبيقية اللاحقة.

L=t=1nlogP(yty<t,Encoder(x~))\mathcal{L} = -\sum_{t=1}^{n} \log P(y_t \mid y_{<t}, \text{Encoder}(\tilde{x}))
خسارة إعادة البناء في BARTيسعى النموذج إلى تقليل سالب لوغاريتم الأرجحية لاسترجاع الرموز الأصلية y انطلاقاً من المدخل المُشوَّه x̃. المرمِّز يعالج x̃ في كلا الاتجاهين، وفاكّ الترميز يتنبأ بكل رمز أصلي y_t بالتسلسل من اليسار إلى اليمين، معتمداً على مخرجات المرمِّز وعلى جميع الرموز التي وَلَّدها قبل ذلك.

خمس طرق لتخريب النص

من أبرز مساهمات BART الدراسة المنهجية لعدة طرق لتشويه النص. والفكرة المحورية هنا أن طريقة التشويه تحدّد نوع المهارة التي يكتسبها النموذج. كل استراتيجية تعلّمه شيئاً مختلفاً:

تقنيع الرموز يستبدل رموزاً عشوائية بعلامة [MASK]، تماماً كما يفعل BERT. النموذج يتعلّم تخمين الكلمة المفقودة من سياقها — وهذا مفيد للفهم المحلي، لكن النموذج يعرف مسبقاً كم رمزاً ينقصه.

يُزيل رموزاً عشوائية بالكامل دون ترك أي أثر. هنا لا يكفي أن يعرف النموذج ما هي الكلمات المفقودة، بل عليه أن يكتشف أين كانت في النص أصلاً. وهذا أصعب من التقنيع لأن طول المدخل يختلف عن طول المخرج.

ملء النص يسحب مقاطع عشوائية بأطوال تتبع توزيع بواسون (λ=3)، ويستبدل كل مقطع منها برمز [MASK] واحد مهما كان طول المقطع. مثلاً: مقطع من خمس كلمات يتحوّل إلى قناع واحد. ومقطع بطول صفر يعني إدراج قناع بين كلمتين متجاورتين. النموذج هنا مطالب بمعرفة كم رمزاً يختبئ وراء كل قناع — وهذه مهارة لم تُدرِّب عليها أي طريقة سابقة.

خلط ترتيب الجمل يُبعثر ترتيب جمل الوثيقة عشوائياً. هذا يُجبر النموذج على تعلّم البنية الخطابية وكيف ترتبط الجمل ببعضها — وهي مهارة جوهرية لمهام مثل والتوليد الطويل.

يختار رمزاً عشوائياً ويجعله بداية الوثيقة، فيُصبح على النموذج اكتشاف أين تبدأ الوثيقة فعلاً.

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

البنية: المحوِّل الكامل يجتمع من جديد

بنية BART هي نفسها بنية تسلسل إلى تسلسل القياسية من ورقة المحوِّل الأصلية — مرمِّز وفاكّ ترميز، كما صُمِّمت أصلاً لـالترجمة الآلية. الفرق أن BERT يستخدم نصف المرمِّز فقط وGPT يستخدم نصف الفاكّ فقط، بينما BART يستخدم البنية الكاملة بجزأيها.

المرمِّز ثنائي الاتجاه: كل رمز ينتبه لجميع الرموز الأخرى بلا . أمّا الفاكّ فهو ذاتي الانحدار: كل رمز لا يرى إلا الرموز التي سبقته (عبر قناع سببي) ومخرجات المرمِّز (عبر ). هذا المزيج يمنح BART القدرة على فهم المدخل من كل الجهات وتوليد المخرج بالتسلسل.

اختُبر حجمان من النموذج: BART-Base بـ 6 طبقات في كلٍّ من المرمِّز والفاكّ مع 768 بُعداً خفياً، وBART-Large بـ 12 طبقة في كلٍّ منهما مع 1024 بُعداً. كلا الحجمين يستخدمان تنشيطات بدلاً من ، ويُهيِّئان المعاملات من N(0, 0.02). يزيد عدد معاملات BART-Large بنحو 10% عن نموذج BERT المماثل في الحجم، والسبب هو طبقات الانتباه المتقاطع الموجودة في فاكّ الترميز.

افتح في المختبر
تتبّع رحلة النص المُشوَّه من دخوله المرمِّز إلى خروجه من فاكّ الترميز نصاً سليماً.
تستيقظ التجربة عند وصولك…

الضبط الدقيق: نموذج واحد بأربعة أوضاع

بما أن BART يملك مرمِّزاً وفاكّ ترميز معاً، فإنه يتكيّف بمرونة مع طيف واسع من المهام لا تستطيع نماذج المرمِّز وحده أو الفاكّ وحده تغطيته:

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

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

توليد التسلسلات (التلخيص، ): هذا هو الوضع الأكثر طبيعية لـ BART. المرمِّز يستقبل الوثيقة والفاكّ يولِّد المخرج كلمةً بكلمة. هذا السيناريو يطابق إعداد التدريب المسبق تماماً — نص تالف يدخل ونص سليم يخرج — ولهذا يتفوّق BART في مهام التوليد.

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

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

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

ملء النص في BART — التشويه الأساسي في التدريب المسبقpython

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

import numpy as np

def text_infill(tokens, mask_id, mask_ratio=0.30, poisson_lambda=3):
    """ملء النص في BART: استبدال مقاطع عشوائية بـ [MASK] واحد.
    أطوال المقاطع مسحوبة من بواسون(λ=3). مقطع بطول 0 يُدرج [MASK]."""
    n = len(tokens)
    num_masked = int(n * mask_ratio)

    corrupted = list(tokens)
    masked_count = 0

    while masked_count < num_masked:
        # اسحب طول المقطع من توزيع بواسون
        span_len = np.random.poisson(poisson_lambda)
        span_len = min(span_len, num_masked - masked_count)

        # اختر موضع بداية عشوائي
        start = np.random.randint(0, max(1, len(corrupted) - span_len + 1))

        # استبدل المقطع بـ [MASK] واحد
        corrupted[start:start + span_len] = [mask_id]
        masked_count += span_len

    return corrupted  # أقصر من الأصل! على الفاكّ إعادة بناء النص كاملاً.

def bart_loss(encoder, decoder, original_tokens, corrupted_tokens):
    """خطوة تدريب واحدة: رمّز النص التالف، فُكّ ترميزه إلى الأصل."""
    # المرمِّز: ثنائي الاتجاه (بلا قناع سببي)، يقرأ المدخل المُشوَّه
    memory = encoder(corrupted_tokens)   # انتباه كامل على النص التالف

    # الفاكّ: ذاتي الانحدار، يُعيد بناء النص الأصلي من اليسار لليمين
    loss = 0
    for t in range(len(original_tokens)):
        # الانتباه المتقاطع يُتيح للفاكّ رؤية مخرجات المرمِّز
        logits = decoder(original_tokens[:t], memory)
        loss += cross_entropy(logits, original_tokens[t])

    return loss / len(original_tokens)

# الفرق الجوهري عن BERT: أطوال المدخل والمخرج يمكن أن تختلف!
# مقطع من 5 كلمات ← [MASK] واحد. على الفاكّ اكتشاف عدد الرموز.

النتائج: قوي في كل مكان، مُهيمن في التوليد

دُرِّب BART-Large مسبقاً باستخدام ملء النص (تقنيع 30% من الرموز) مع خلط ترتيب الجمل، على نفس مجموعة البيانات (160 جيجابايت) المستخدمة في RoBERTa، ولمدة 500,000 خطوة بـ يبلغ 8000.

المهام التمييزية: كافأ BART أداء RoBERTa على GLUE وSQuAD، رغم أنه يحمل فاكّ ترميز لا حاجة له في هذه المهام. وهذا دحض تخوّفاً شائعاً بأن إضافة الفاكّ قد تُضعف أداء الفهم.

التلخيص: حقّق BART نتائج غير مسبوقة على CNN/DailyMail (44.16 -1) وXSum (45.14 ROUGE-1)، بفارق يصل إلى 6 نقاط ROUGE على XSum مقارنة بأفضل نتيجة سابقة. مجموعة XSum تتطلب ملخصات عالية التجريد، ما يجعلها الاختبار المثالي لقدرات BART التوليدية.

الحوار: على ConvAI2، تفوّق BART على جميع الطرق السابقة في F1 و معاً.

الإجابة التلخيصية: على ELI5 سجّل BART 30.6 ROUGE-1، وهي نتيجة غير مسبوقة.

الترجمة الآلية: بأسلوب المرمِّز المُكدَّس، تجاوز BART خط أساس قوياً بالترجمة العكسية بمقدار 1.1 على WMT رومانية→إنجليزية، ليبلغ 37.96 BLEU — وكل ذلك بتدريب مسبق على الإنجليزية فقط.

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

دروس الاستئصال: ما الأهم

أجرى الباحثون دراسة استئصال مضبوطة على ست مهام، وخرجوا بدروس جوهرية عن تصميم التدريب المسبق:

التشويه على مستوى الرموز لا غنى عنه. تدوير الوثيقة وخلط الجمل وحدهما أعطيا نتائج ضعيفة. كل الطرق الناجحة تضمّنت تقنيع الرموز أو حذفها. النموذج يحتاج إلى إشارات تدريبية دقيقة على مستوى الكلمات المفردة.

التوليد التسلسلي من اليسار لليمين ضروري. (بأسلوب BERT) ونموذج اللغة المُبدَّل الترتيب كانا الأضعف في مهام التوليد. هذان الأسلوبان هما الوحيدان اللذان يفتقران إلى فكّ ترميز ذاتي الانحدار أثناء التدريب المسبق. توليد نص مترابط يتطلّب تدريباً فعلياً على التوليد التسلسلي.

الترميز ثنائي الاتجاه جوهري للفهم. نموذج اللغة أحادي الاتجاه الصرف انهار على SQuAD (76.7 F1 مقابل 90.8 لـ BART)، وهذا يؤكد أن مهام الفهم تحتاج من المرمِّز أن يرى السياق كاملاً.

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

ما الذي فتحه BART

  1. 2019

    BART

    تدريب مسبق لبنية مرمِّز-فاكّ عبر إزالة التشويش. جمع الفهم والتوليد في نموذج واحد. نتائج قياسية جديدة في التلخيص والحوار والإجابة التلخيصية.

  2. 2020

    mBART — BART متعدد اللغات

    وسّع فكرة إزالة التشويش لتشمل 25 لغة. أظهر أن التدريب المسبق متعدد اللغات بهذه الطريقة يُحسِّن الترجمة الآلية تحسيناً كبيراً، خاصة للأزواج اللغوية قليلة الموارد.

  3. 2020

    RAG — التوليد المُعزَّز بالاسترجاع

    اعتمد BART كنموذج توليد ضمن خط أنابيب يسترجع أولاً ثم يولِّد. جمع بين مُسترجع (DPR) وفاكّ ترميز BART للإجابة عن الأسئلة انطلاقاً من وثائق مُسترجَعة. أصبح أساساً لأنظمة التوليد المُعزَّز بالاسترجاع الحديثة.

  4. 2020

    T5 — محوِّل النقل نص إلى نص

    استكشف بشكل مستقل أسلوب تشويه المقاطع المشابه لملء النص في BART. صاغ جميع مهام معالجة اللغة كمسائل نص إلى نص، مما عزّز فكرة أن التدريب المسبق ببنية مرمِّز-فاكّ مرنٌ وشامل.

  5. 2020

    PEGASUS

    صمّم هدف تدريب مسبق مخصصاً للتلخيص يقوم على تقنيع جمل كاملة. يُشبه مفاهيمياً تشويه BART على مستوى الجمل، لكنه موجَّه تحديداً للتلخيص التجريدي.

أعمق ما في BART هو أن التدريب المسبق ترميمٌ وليس مجرّد تنبّؤ. BERT يتنبأ بالرموز المُقنَّعة. GPT يتنبأ بالرمز التالي. لكن BART يُعيد صياغة المسألة: التدريب المسبق هو إعادة بناء نص تالف — وهذا هدف أعمّ يشمل الفهم والتوليد معاً بشكل طبيعي. هذا الإطار فتح الباب أمام استراتيجيات تشويه مبتكرة، وأظهر أن تنوّع التشويه لا يقلّ أهمية عن البنية المعمارية نفسها. كل نموذج مرمِّز-فاكّ حديث — من T5 إلى mBART إلى PEGASUS — يبني على هذا الأساس.

المرجعLewis, Liu, Goyal, Ghazvininejad, Mohamed, Levy, Stoyanov, Zettlemoyer. BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension. ACL, 2020.

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