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

BLOOM: نموذج لغوي متعدد اللغات مفتوح الوصول بـ 176 مليار معامل

BLOOM: A 176B-Parameter Open-Access Multilingual Language Model

BigScience Workshop · Le Scao, T. · Fan, A. · Akiki, C. · Pavlick, E. · Ilić, S. · Hesslow, D. · Castagné, R. · Luccioni, A. S. — arXiv

المشكلة

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

الإسهام

قدّم المشروع نموذج BLOOM: محوِّل أحادي الاتجاه (decoder-only) يضم 176 مليار معامل، دُرِّب علنياً بتعاون أكثر من ألف باحث من أكثر من 70 دولة. استُخدمت في تدريبه مجموعة بيانات ROOTS التي تبلغ 1.6 تيرابايت من النصوص المُنقَّحة بـ 46 لغة طبيعية و13 لغة برمجية، على الحاسوب الخارق Jean Zay في باريس لمدة 117 يوماً عبر 384 وحدة A100. تبنّت البنية المعمارية تضمينات ALiBi الموضعية وأضافت تسوية طبقة بعد لتحسين استقرار التدريب. وبعد ضبط النموذج على مهام متعددة باستخدام محفّزات نصية (BLOOMZ)، حقّق أداءً تنافسياً على المعايير القياسية. وأُتيح كل شيء — الأوزان والشيفرة البرمجية وتوثيق البيانات وسجلّات التدريب — تحت رخصة الذكاء الاصطناعي المسؤول (RAIL).

الأثر

أثبت BLOOM أن العلم المفتوح قادر على إنتاج نماذج لغوية كبيرة بمستوى الصدارة. كان أول نموذج يتجاوز 100 مليار معامل تُتاح أوزانه بالكامل مع توثيق البيانات وشيفرة التدريب. فتح الطريق أمام موجة من النماذج المفتوحة — Falcon وLLaMA وMistral — وأرسى نموذجاً يُحتذى للبحث التعاوني واسع النطاق في الذكاء الاصطناعي. أصبحت رخصته مرجعاً للتوفيق بين الانفتاح والمسؤولية، كما وضعت مجموعة بيانات ROOTS معياراً جديداً في تنسيق البيانات متعددة اللغات وتوثيقها.

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

مشروع BigScience طرح سؤالاً بسيطاً: ماذا لو بنينا تلسكوبنا بأنفسنا؟ أكثر من ألف باحث من أكثر من 70 دولة جمعوا خبراتهم، والتقطوا ضوء النجوم من 46 لغة، وصنعوا عدسة بـ 176 مليار معامل يستطيع أيّ شخص توجيهها حيثما يشاء. التصاميم والمواد والمرايا — كلّ شيء مفتوح.

المشكلة: نماذج قوية خلف أبواب مغلقة

حين ظهر GPT-3 عام 2020 أذهل العالم: نموذج يكتب مقالات ويترجم ويحلّ مسائل انطلاقاً من أمثلة قليلة فقط. لكن OpenAI لم تنشر قطّ. ثم جاءت Google بنموذجَي PaLM وChinchilla — بقدرات مماثلة وإغلاق مماثل. النمط كان واضحاً: بناء نماذج الصدارة يحتاج مليارات الدولارات وآلاف وحدات المعالجة الرسومية، والشركات التي تملكها لم تكن مُلزمة بمشاركة شيء.

نتج عن ذلك واقع غير متوازن. باحثو الجامعات يقرأون الأوراق العلمية لكنهم عاجزون عن إعادة إنتاج النتائج. المطوّرون في الجنوب العالمي يعتمدون على واجهات برمجية تتحكّم بها شركات وادي السيليكون. أما اللغات غير الإنجليزية فكانت في الهامش — GPT-3 دُرِّب في الغالب الأعمّ على نصوص إنجليزية. أقوى تقنيات العقد كان يصوغها فريق محدود لجمهور محدود.

هنا جاء مشروع BigScience ليكسر هذه المعادلة. نُظِّم بقيادة Hugging Face وبدعم الحكومة الفرنسية، وضمّ أكثر من ألف باحث من أكثر من 70 دولة في مجموعات عمل تغطي الهندسة وحوكمة البيانات والأخلاقيات والتقييم. الهدف: بناء نموذج لغوي كبير بشكل علني، وتوثيق كل قرار، وإتاحة كل شيء.

افتح في المختبر
استكشف حجم تعاون BigScience: أكثر من ألف باحث من أكثر من 70 دولة مُنظَّمين في مجموعات عمل متخصصة.
تستيقظ التجربة عند وصولك…

البيانات: ROOTS — حديقة متعددة اللغات

أيّ نموذج لغوي لا يمكن أن يكون أفضل من النصوص التي تدرّب عليها. معظم النماذج الكبيرة تعتمد على بيانات مزحوفة من الإنترنت بتنقيح بسيط — مثل Common Crawl وthe Pile — فتخرج نماذج تحمل تحيّزات الإنترنت الإنجليزي وتوزيعاته اللغوية.

أما BLOOM فدُرِّب على مجموعة بيانات ROOTS: 1.6 تيرابايت من النصوص مستقاة من 498 مصدراً تغطّي 46 لغة طبيعية و13 لغة برمجية. الفرق أن ROOTS لم تكن مجرد مجموعة ضخمة، بل كانت منسّقة بعناية فائقة. فريق متخصص في حوكمة البيانات جمع المصادر من كتب وأوراق علمية ووثائق حكومية وويكيبيديا ومجموعات بيانات مجتمعية، ووثّق كل مصدر ببطاقة بيانات تصف أصله ورخصته ولغته وتحيّزاته المحتملة.

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

افتح في المختبر
استكشف التوزيع اللغوي لمجموعة بيانات ROOTS. بدّل بين عائلات اللغات لترى كيف جُمعت البيانات عبر 46 لغة.
تستيقظ التجربة عند وصولك…

المجزِّئ اللغوي: مفردات واحدة لجميع اللغات

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

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

المحصّلة: مُجزِّئ واحد يتعامل مع 46 لغة طبيعية و13 لغة برمجية من دون تشويه أيٍّ منها. النصوص بالعربية والفرنسية والفيتنامية وPython جميعها تُجزَّأ بكفاءة عبر خطّ المعالجة ذاته.

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

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

يتبع BLOOM بنية المُحوِّل أحادي الاتجاه (decoder-only) — العائلة المعمارية نفسها التي ينتمي إليها GPT-3. يضمّ النموذج 70 طبقة و112 وبُعداً مخفياً قدره 14,336 ويعالج تسلسلات بطول 2,048 رمزاً. مجموع المعاملات 176 مليار، منها 3.6 مليار في طبقة التضمين وحدها. ويستخدم النموذج تنشيطات GeLU وتضمينات مدخلات-مخرجات مشتركة.

لكن فريق BigScience لم يكتفِ بنسخ GPT-3. أجروا منهجية على نطاق مليار معامل، اختبروا فيها تعديلات معمارية متنوعة وخرجوا بانحرافين جوهريين عن تصميم المُحوِّل المعياري.

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

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

softmax ⁣(qikjdmij)\text{softmax}\!\Bigl(\frac{q_i \cdot k_j^\top}{\sqrt{d}} - m \cdot |i - j|\Bigr)
انتباه ALiBi — عقوبة تعتمد على المسافة تحلّ محلّ التضمينات الموضعيةبدلاً من إضافة معلومات الموقع إلى تضمينات المدخلات، يطرح ALiBi المقدار mijm \cdot |i - j| من كل درجة انتباه، حيث mm ميل خاص بكل رأس وij|i - j| المسافة بين الموقعين. الرؤوس ذات الميل الصغير ترى السياق كاملاً، بينما تركّز الرؤوس ذات الميل الكبير على الرموز القريبة.
افتح في المختبر
شاهد كيف يُعاقب ALiBi درجات الانتباه بحسب المسافة. قارن بين ميول الرؤوس المختلفة وتأمّل كيف يتخصّص كل رأس.
تستيقظ التجربة عند وصولك…

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

لكن المقايضة موجودة: هذه التسوية تُضعف قليلاً أداء التعميم بدون أمثلة. قبِل الفريق هذه التكلفة لأن استقرار التدريب على مستوى 176 مليار معامل أمر لا تنازل عنه — تباعد واحد قد يُهدر أسابيع من وقت الحاسوب الخارق. وأشارت أبحاث لاحقة إلى أن الانتقال من float16 إلى bfloat16 — وهو ما اعتُمد فعلاً في التدريب النهائي لـ BLOOM — ربما يُقلّل الحاجة لهذه التسوية أصلاً.

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

الهندسة: تدريب 176 مليار معامل عبر 384 وحدة معالجة رسومية

تدريب نموذج بـ 176 مليار معامل لا يتّسع في وحدة معالجة رسومية واحدة — بل لا يتّسع حتى في حاسوب واحد. دُرِّب BLOOM على الحاسوب الخارق Jean Zay في باريس مستخدماً 384 وحدة NVIDIA A100 بسعة 80 غيغابايت، موزّعة على 48 عقدة بواقع 8 وحدات في كل عقدة. استمرّ التدريب 117 يوماً — من 11 مارس إلى 6 يوليو 2022 — وعالج خلالها نحو 366 مليار رمز.

لتوزيع هذا العمل على الوحدات، جمع الفريق بين ثلاث استراتيجيات توازٍ تُعرف مجتمعةً بـ ، بالبناء على إطار عمل Megatron-LM من NVIDIA مع تكامل DeepSpeed.

افتح في المختبر
شاهد كيف يوزّع توازي البيانات والتوازي الموتِّري وتوازي خطّ الأنابيب تدريبَ BLOOM عبر 384 وحدة. بدّل بين الاستراتيجيات لفهم ما توزّعه كل واحدة.
تستيقظ التجربة عند وصولك…

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

التوازي الموتِّري يُقسّم الطبقة الواحدة على عدة وحدات داخل العقدة نفسها. عملية ضرب مصفوفات ببُعد 14,336 يمكن توزيعها على 4 وحدات تعالج كل منها شريحة. هذا يتطلّب وصلات سريعة (NVLink) لأن الوحدات تحتاج لتبادل نتائج وسيطة باستمرار.

يُوزّع طبقات مختلفة على مجموعات مختلفة من الوحدات. المجموعة الأولى تتولّى الطبقات 1–18، والثانية الطبقات 19–35، وهكذا. البيانات تسري عبر الوحدات بالتتابع كخطّ تجميع في مصنع. التحدّي هنا هو إبقاء جميع الوحدات مشغولة — فما يُعرف بـ «فقاعات خطّ الأنابيب» يحدث حين تنتظر بعض المراحل اكتمال مراحل أخرى.

في BLOOM، استُخدم توازي بيانات بـ 8 نسخ، وتوازٍ موتِّري من الدرجة 4 داخل كل عقدة، وتوازي خطّ أنابيب من الدرجة 12 عبر العقد. وعُصرت أقصى إنتاجية من العتاد بفضل نوى CUDA المدمجة من Megatron-LM — تسوية طبقة مدمجة وGeLU مدمج مع الانحياز.

التقييم: من التعميم بدون أمثلة إلى الضبط متعدد المهام

أداء BLOOM بعد التدريب المسبق ينافس GPT-3 على الإنجليزية، ويُظهر قدرات قوية عبر لغات متعددة. في معيار SuperGLUE — سواء بدون أمثلة أو بأمثلة قليلة — يقترب أداء BLOOM من نماذج GPT المماثلة في الحجم والمُدرَّبة على مجموعة the Pile.

لكن القصة الأهمّ تبدأ بعد الضبط متعدد المهام باستخدام محفّزات نصية. أنشأ الفريق نسخة BLOOMZ بضبط BLOOM على مجموعة xP3 — وهي مجموعة متعددة اللغات من المهام المصوغة كمحفّزات تغطي 46 لغة. النتائج كانت لافتة: أظهر BLOOMZ قدرة أقوى بكثير على التعميم نحو مهام جديدة عبر اللغات، وقلّص الفجوة مع نماذج ضُبطت على بيانات متمركزة حول الإنجليزية بدرجة أكبر.

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

افتح في المختبر
قارن أداء BLOOM وBLOOMZ على المعايير متعددة اللغات. بدّل بين إعدادات التعميم بدون أمثلة ومع أمثلة قليلة.
تستيقظ التجربة عند وصولك…

الترخيص: مفتوح لكن مسؤول

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

الهدف كان رسم مسار وسط بين نقيضين: النماذج المغلقة كلياً مثل GPT-3 وPaLM التي تمنع الوصول بالكامل، والرخص المتساهلة كلياً مثل MIT وApache التي لا تفرض أيّ قيود على الاستخدام. رخصة RAIL تعترف بأن نموذجاً يضمّ 176 مليار معامل ويُنتج نصوصاً سلسة بـ 46 لغة يمتلك قوة تستوجب حدوداً دنيا، حتى لو كان الطموح أقصى درجات الانفتاح.

الإرث وما جاء بعده

  1. 2020

    GPT-3 (175 مليار) — مغلق

    OpenAI تُدرّب نموذجاً بـ 175 مليار معامل بقدرات مبهرة في التعلّم من أمثلة قليلة، لكنها تحتفظ بالأوزان ولا تتيح سوى الوصول عبر الواجهة البرمجية.

  2. 2022

    OPT (175 مليار) — مفتوح جزئياً

    Meta تُصدر OPT مع إتاحة الأوزان لأغراض البحث. خطوة نحو الانفتاح لكن بتقييد الاستخدام التجاري.

  3. 2022

    BLOOM (176 مليار) — مفتوح بالكامل

    BigScience تُصدر BLOOM بأوزان مفتوحة وتوثيق للبيانات وشيفرة تدريب ورخصة RAIL. أول نموذج مفتوح فعلاً يتجاوز 100 مليار معامل.

  4. 2023

    LLaMA (65 مليار) — إصدار بحثي

    Meta تُصدر LLaMA، أصغر حجماً لكن أكفأ حسابياً، مُبرهنةً أن النماذج المفتوحة قادرة على منافسة نماذج مغلقة أكبر بكثير.

  5. 2023

    Falcon (180 مليار) — مفتوح محسَّن حسابياً

    معهد الابتكار التكنولوجي يبني على حركة النماذج المفتوحة التي أطلقها BLOOM، ويُصدر Falcon بأداء متصدِّر بين النماذج المفتوحة.

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

أرسى النموذج أيضاً ممارسات أصبح المجال يعتبرها بديهية اليوم: نشر تفاصيل التدريب، وتوثيق مصادر البيانات، وقياس البصمة الكربونية، والتفكير الجاد في شروط الترخيص. هذه الممارسات كانت ريادية حين طبّقها BLOOM. أما اليوم فهي متوقّعة من الجميع.

تحميل BLOOM واستخدامه مع Hugging Facepython

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

from transformers import AutoModelForCausalLM, AutoTokenizer
# تحميل المُجزِّئ اللغوي لـ BLOOM (قاموس من 250,680 رمزاً، ترميز أزواج البايت) tokenizer = AutoTokenizer.from_pretrained("bigscience/bloom")
# تحميل النموذج — استخدم device_map="auto" للاستدلال على عدة وحدات model = AutoModelForCausalLM.from_pretrained(
    "bigscience/bloom",
    device_map="auto",       # يوزّع الطبقات على وحدات المعالجة الرسومية
    torch_dtype="auto"       # يستخدم bfloat16 إن توفّر
)
# توليد النص — يدعم 46 لغة prompt = "ترجم من الإنجليزية إلى الفرنسية: حركة العلم المفتوح" inputs = tokenizer(prompt, return_tensors="pt").to("cuda") outputs = model.generate(**inputs, max_new_tokens=50) print(tokenizer.decode(outputs[0], skip_special_tokens=True))

المرجعBigScience Workshop et al.. BLOOM: A 176B-Parameter Open-Access Multilingual Language Model. arXiv, 2022.

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