YaLM 100B عبارة عن شبكة عصبية تشبه GPT لإنشاء النصوص ومعالجتها. ويمكن استخدامه بحرية من قبل المطورين والباحثين من جميع أنحاء العالم.
يستفيد النموذج من 100 مليار معلمة. استغرق الأمر 65 يومًا لتدريب النموذج على مجموعة مكونة من 800 بطاقة رسومات A100 و1.7 تيرابايت من النصوص والكتب عبر الإنترنت وعدد لا يحصى من المصادر الأخرى باللغتين الإنجليزية والروسية.
يمكن العثور على تفاصيل التدريب وأفضل الممارسات بشأن التسريع والتثبيت في المقالات المتوسطة (الإنجليزية) والهبر (الروسية).
استخدمنا DeepSpeed لتدريب النموذج واستلهمنا مثال Megatron-LM. ومع ذلك، فإن الكود الموجود في هذا الريبو ليس هو نفس الكود الذي تم استخدامه لتدريب النموذج. بل هو مثال مخزون من DeepSpeed repo مع الحد الأدنى من التغييرات اللازمة لاستنتاج نموذجنا.
تأكد من توفر مساحة خالية على القرص تبلغ 200 جيجابايت قبل تنزيل الأوزان. من المفترض أن يعمل النموذج (الكود المستند إلى microsoft/DeepSpeedExamples/Megatron-LM-v1.1.5-ZeRO3) على وحدات معالجة رسوميات متعددة بتوازي موتر. تم اختباره على 4 وحدات معالجة رسوميات (A100 80g) و8 وحدات معالجة رسوميات (V100 32g)، ولكنه قادر على العمل مع تكوينات مختلفة بإجمالي 200 جيجابايت من ذاكرة وحدة معالجة الرسومات التي تقسم أبعاد الوزن بشكل صحيح (على سبيل المثال 16، 64، 128).
bash download/download.sh
لتنزيل أوزان النماذج والمفردات../yalm100b_checkpoint/weights/
، وسيتم تنزيل المفردات إلى ./yalm100b_checkpoint/vocab/
.docker/pull.sh
. وهو متوافق مع A100 وV100.docker/build.sh
(والذي سيؤدي فقط إلى إنشاء صورة عامل ميناء من docker/Dockerfile
).docker/run.sh
(يمكن تغيير وحدات التخزين والاسم والمعلمات الأخرى) . يمكنك البدء بالنصوص البرمجية التالية:
examples/generate_interactive.sh
: التوليد التفاعلي من سطر الأوامر، أبسط طريقة لتجربة النموذج.examples/generate_conditional_sampling.sh
: التوليد المشروط مع استراتيجية أخذ العينات. يتم استخدام Top-p بشكل افتراضي، فلا تتردد في تغيير درجة الحرارة أو استخدام top-k. الإدخال هو خطوط jsonlines (على سبيل المثال: examples/example_cond_input.json
)، وسيكون الإخراج هو نفس خطوط jsonlines مع إضافة حقل النص المُنشأ إلى كل سطر.examples/generate_conditional_greedy.sh
: نفس الجيل السابق، لكن الجيل جشع. مناسبة لحل المشكلات باستخدام لقطات قليلة.examples/generate_unconditional.sh
: التوليد غير المشروط. لم يتم استخدام أي إدخال، وسيكون الإخراج خطوط jsonlines. تم نشر النموذج بموجب ترخيص Apache 2.0 الذي يسمح بالاستخدام البحثي والتجاري، وتم ترخيص Megatron-LM بموجب ترخيص Megatron-LM.
تتكون مجموعة البيانات المستخدمة لتدريب YaLM-100B من الأجزاء التالية (يتم قياس النسب المئوية التقريبية بالرموز المميزة التي يراها النموذج):
25% The Pile — مجموعة بيانات مفتوحة باللغة الإنجليزية أعدها فريق Eleuther AI
75% من النصوص باللغة الروسية تم جمعها بواسطة فريقنا (يتم تقديم النسب المئوية لمجموعة البيانات بأكملها)
تمت تصفية 49% من صفحات الويب الروسية من فهرس بحث Yandex من ~100 تيرابايت إلى ~1 تيرابايت من خلال الاستدلال التالي:
12% أخبار من مصادر مختلفة من فهرس بحث Yandex
10% كتب من مجموعة البيانات المستخدمة في قاموس التوزيع الروسي
3% نصوص متنوعة من مجموعة بيانات Taiga
1.5% من الحوارات من وسائل التواصل الاجتماعي تتم معالجتها مسبقًا بطريقة مشابهة لكيفية معالجة Reddit في The Pile
0.5% الجزء الروسي من ويكيبيديا
تم اجتياز بعض المجموعات الفرعية حتى 3 مرات أثناء التدريب.
تم تدريب النموذج على مجموعة مكونة من 800 A100 لمدة 65 يومًا تقريبًا. في ذلك الوقت استهلكت 300 مليار رمز. يمكنك رؤية TensorBoard مع LR والجدول الزمني المتزايد ومقاييس التدريب و"مقاييس الحرارة" الخاصة بنا على صفحة HF.