نماذج ومنصات الذكاء الاصطناعي
فهم معلمات ومتطلبات الذاكرة للنماذج اللغوية الكبيرة: غوص عميق

بواسطة
Aayush Mittal ميتال
النماذج اللغوية الكبيرة (LLMs) شهدت تقدمًا ملحوظًا في السنوات الأخيرة. النماذج مثل GPT-4 و Google’s Gemini و Claude 3 تعتبر معايير جديدة في القدرات والتطبيقات. هذه النماذج لا تعزز فقط توليد النص والترجمة ولكنها أيضًا تحطم الأرض في معالجة متعدد الوسائط، حيث تجمع بين النص والصورة والصوت والفيديو لتوفير حلول ذكاء اصطناعي أكثر شمولاً.
على سبيل المثال، أظهر نموذج GPT-4 من OpenAI تحسينات كبيرة في فهم وتوليد النص البشري، بينما يمتاز نموذج Google’s Gemini بتعامله مع أنواع بيانات متنوعة، بما في ذلك النص والصور والصوت، مما يتيح تفاعلات أكثر سلاسة وملاءمة للسياق. وبالمثل، يُلاحظ نموذج Anthropic’s Claude 3 لقدراته المتعددة اللغات وأدائه المحسن في مهام الذكاء الاصطناعي.
كما تتواصل تطوير النماذج اللغوية الكبيرة، يصبح فهم دقائق هذه النماذج، لا سيما معاملاتها ومتطلبات الذاكرة، أمرًا حاسمًا. يهدف هذا الدليل إلى إزالة الغموض عن هذه الجوانب، مع تقديم شرح مفصل وسهل الفهم.
أساسيات النماذج اللغوية الكبيرة
ما هي النماذج اللغوية الكبيرة؟
النماذج اللغوية الكبيرة هي شبكات عصبونية مدربة على مجموعات بيانات ضخمة لفهم وتوليد اللغة البشرية. تعتمد على هياكل مثل الترانسفورمر، التي تستخدم آليات مثل الانتباه الذاتي لمعالجة وتوليد النص.
أهمية المعلمات في النماذج اللغوية الكبيرة
المعلمات هي المكونات الأساسية لهذه النماذج. تشمل الأوزان والتحيزات، التي يعدلها النموذج أثناء التدريب لتحقيق الحد الأدنى من الأخطاء في التنبؤ. غالبًا ما يرتبط عدد المعلمات بالسعة والأداء للنموذج ولكنها أيضًا تؤثر على المتطلبات الحاسوبية والذاكرة.
فهم هيكل الترانسفورمر
نظرة عامة
هيكل الترانسفورمر، الذي قدم في ورقة “الانتباه هو كل ما تحتاجه” بواسطة Vaswani et al. (2017)، أصبح أساسًا للعديد من النماذج اللغوية الكبيرة. يتكون من مشفر ومرسلة، كل منهما يتكون من طبقات متعددة.
مكونات المشفر والمرسلة
- المشفر: يعالج تسلسل الإدخال وينشئ تمثيلًا متأثرًا بالسياق.
- المرسلة: توليد تسلسل الإخراج باستخدام تمثيل المشفر والرموز المولدة مسبقًا.
المكونات الرئيسية
- الانتباه المتعدد الرؤوس: يسمح للنموذج بالتركيز على أجزاء مختلفة من تسلسل الإدخال في نفس الوقت.
- شبكات عصبونية تغذية إلى الأمام: تضيف اللاخطية والتعقيد إلى النموذج.
- تطبيع الطبقة: يثبت ويسرع التدريب من خلال تطبيع الإخراجات الوسيطة.
حساب عدد المعلمات
حساب المعلمات في النماذج اللغوية الكبيرة القائمة على الترانسفورمر
دعونا ننقسم حساب المعلمات لكل مكون من مكونات نموذج لغوي كبير قائم على الترانسفورمر. سنستخدم التدوين من الورقة الأصلية، حيث ي представ ديمينشن نموذج الحالة المخفية.
- طبقة التضمين:
- المعلمات =
حجم القاموس*د_نموذج
- المعلمات =
- انتباه متعدد الرؤوس:
- لرؤوس
ه، معد_ك = د_ف = د_نموذج / ه: - المعلمات = 4 *
د_نموذج^2 (لمشاريع Q و K و V والإخراج)
- لرؤوس
- شبكة عصبونية تغذية إلى الأمام:
- المعلمات = 2 *
د_نموذج*د_ف+د_نموذج+د_ف - حيث
د_فعادة 4 *د_نموذج
- المعلمات = 2 *
- تطبيع الطبقة:
- المعلمات = 2 *
د_نموذج(لمقياس وتحيز)
- المعلمات = 2 *
المعلمات الإجمالية لطبقة ترانسفورمر واحدة:
معلمات_طبقة=معلمات_انتباه+معلمات_شبكة_عصبونية+ 2 *معلمات_تطبيق_الطبقة
لنموذج مع ن طبقات:
- المعلمات الإجمالية =
ن*معلمات_طبقة+معلمات_تضمين+معلمات_إخراج
حساب مثال
دعونا نعتبر نموذجًا مع المواصفات التالية:
د_نموذج= 768ه(عدد رؤوس الانتباه) = 12ن(عدد الطبقات) = 12حجم_القاموس= 50,000
- طبقة التضمين:
- 50,000 * 768 = 38,400,000
- انتباه متعدد الرؤوس:
- 4 * 768^2 = 2,359,296
- شبكة عصبونية تغذية إلى الأمام:
- 2 * 768 * (4 * 768) + 768 + (4 * 768) = 4,719,616
- تطبيق الطبقة:
- 2 * 768 = 1,536
المعلمات الإجمالية لكل طبقة:
- 2,359,296 + 4,719,616 + (2 * 1,536) = 7,081,984
المعلمات الإجمالية ل 12 طبقة:
- 12 * 7,081,984 = 84,983,808
المعلمات الإجمالية للنموذج:
- 84,983,808 + 38,400,000 = 123,383,808
هذا النموذج سيكون له حوالي 123 مليون معلمة.
أنواع استخدام الذاكرة
عند العمل مع النماذج اللغوية الكبيرة، يجب أن نأخذ في الاعتبار نوعين رئيسيين من استخدام الذاكرة:
- ذاكرة النموذج: الذاكرة المطلوبة لتخزين معلمات النموذج.
- ذاكرة العمل: الذاكرة المطلوبة أثناء الاستدلال أو التدريب لتخزين التنشيطات الوسيطة والانحدارات وحالات المُحسِّن.
حساب ذاكرة النموذج
ذاكرة النموذج تتعلق مباشرة بعدد المعلمات. كل معلمة يتم تخزينها عادة كعدد صحيح عائم 32 بت، على الرغم من أن بعض النماذج تستخدم تدريب دقيق مختلط مع أعداد صحيحة عائمة 16 بت.
ذاكرة النموذج (بايت) = عدد المعلمات * بايت لكل معلمة
لنموذجنا مع 123 مليون معلمة:
- ذاكرة النموذج (32 بت) = 123,383,808 * 4 بايت = 493,535,232 بايت ≈ 494 ميغابايت
- ذاكرة النموذج (16 بت) = 123,383,808 * 2 بايت = 246,767,616 بايت ≈ 247 ميغابايت
تقدير ذاكرة العمل
متطلبات ذاكرة العمل يمكن أن تختلف بشكل كبير بناءً على المهمة المحددة وحجم الدفعة وطول التسلسل. تقدير تقريبي لذاكرة العمل أثناء الاستدلال هو:
ذاكرة العمل ≈ 2 * ذاكرة النموذج
هذا يأخذ في الاعتبار تخزين معلمات النموذج والتنشيطات الوسيطة. أثناء التدريب، يمكن أن تكون متطلبات الذاكرة أعلى بسبب الحاجة إلى تخزين الانحدارات وحالات المُحسِّن:
ذاكرة التدريب ≈ 4 * ذاكرة النموذج
لنموذجنا:
- ذاكرة العمل أثناء الاستدلال ≈ 2 * 494 ميغابايت = 988 ميغابايت ≈ 1 جيجابايت
- ذاكرة التدريب ≈ 4 * 494 ميغابايت = 1,976 ميغابايت ≈ 2 جيجابايت
استخدام الذاكرة المستقر وذروة استخدام الذاكرة
عند تدريب نماذج لغوية كبيرة بناءً على هيكل الترانسفورمر، فهم استخدام الذاكرة هو أمر بالغ الأهمية لتحديد الموارد بكفاءة. دعونا ننقسم متطلبات الذاكرة إلى فئتين رئيسيتين: استخدام الذاكرة المستقر وذروة استخدام الذاكرة.
استخدام الذاكرة المستقر
استخدام الذاكرة المستقر يتكون من المكونات التالية:
- أوزان النموذج: نسخ FP32 من معلمات النموذج، مما يتطلب 4N بايت، حيث N هو عدد المعلمات.
- حالات المُحسِّن:对于 محسن Adam، هذا يتطلب 8N بايت (حالتان لكل معلمة).
- الانحدارات: نسخ FP32 من الانحدارات، مما يتطلب 4N بايت.
- بيانات الإدخال: افتراض إدخالات int64، هذا يتطلب 8BD بايت، حيث B هو حجم الدفعة وD هو بعد الإدخال.
يمكن تقدير استخدام الذاكرة المستقر بواسطة:
- M_steady = 16N + 8BD بايت
ذروة استخدام الذاكرة
ذروة استخدام الذاكرة تحدث أثناء المرحلة العكسية عند تخزين التنشيطات لحساب الانحدارات. المساهمون الرئيسيون في ذروة الذاكرة هم:
- تطبيق الطبقة: يتطلب 4E بايت لكل تطبيق طبقة، حيث E = BSH (B: حجم الدفعة، S: طول التسلسل، H: حجم المخفي).
- بلوك الانتباه:
- حساب QKV: 2E بايت
- مصفوفة الانتباه: 4BSS بايت (S: طول التسلسل)
- إخراج الانتباه: 2E بايت
- بلوك الشبكة العصبونية التغذية إلى الأمام:
- الطبقة الخطية الأولى: 2E بايت
- تنشيط GELU: 8E بايت
- الطبقة الخطية الثانية: 2E بايت
- خسارة التبادل:
- اللوجيت: 6BSV بايت (V: حجم القاموس)
يمكن تقدير الذاكرة التنشيطية بواسطة:
- M_act = L * (14E + 4BSS) + 6BSV بايت
حيث L هو عدد طبقات الترانسفورمر.
إجمالي ذروة استخدام الذاكرة
يمكن تقدير ذروة استخدام الذاكرة أثناء التدريب بواسطة:
- M_peak = M_steady + M_act + 4BSV بايت
المصطلح الإضافي 4BSV يعتبر لتخصيص إضافي في بداية المرحلة العكسية.
من خلال فهم هذه المكونات، يمكننا تحسين استخدام الذاكرة أثناء التدريب والاستدلال، مما يضمن تخصيص موارد فعال ويعزز أداء النماذج اللغوية الكبيرة.
قوانين التماسك والكفاءة
قوانين التماسك للنماذج اللغوية الكبيرة
أظهرت الأبحاث أن أداء النماذج اللغوية الكبيرة يتبع قوانين معينة للتوسع مع زيادة عدد المعلمات. لاحظ Kaplan et al. (2020) أن أداء النموذج يتحسن كقانون قوة لعدد المعلمات وميزانية الحوسبة وحجم المجموعة.
يمكن تقدير العلاقة بين أداء النموذج وعدد المعلمات بواسطة:
الأداء ∝ N^α
حيث N هو عدد المعلمات وα هو معامل التماسك عادة حول 0.07 لمهام النمذجة اللغوية.
هذا يعني أن لتحقيق تحسن بنسبة 10% في الأداء، نحتاج إلى زيادة عدد المعلمات بمعامل 10^(1/α) ≈ 3.7.
تقنيات الكفاءة
مع استمرار نمو النماذج اللغوية الكبيرة، طور الباحثون والممارسون تقنيات مختلفة لتحسين الكفاءة:
أ) التدريب الدقيق المختلط: استخدام أعداد صحيحة عائمة 16 بت أو حتى 8 بت لبعض العمليات لتقليل استخدام الذاكرة والمتطلبات الحاسوبية.
ب) توصيل النموذج: توزيع النموذج عبر عدة وحدات معالجة رسومات أو وحدات معالجة تензور لتعامل مع نماذج أكبر مما يمكن أن يتناسب مع جهاز واحد.
ج) التحقق من الانحدار: التبادل بين الحساب وتخزين بعض التنشيطات أثناء المرحلة العكسية بدلاً من تخزينها.
د) التنقيح والكمية: إزالة أوزان أقل أهمية أو تقليل دقتها بعد التدريب لإنشاء نماذج أصغر وأكثر كفاءة.
ه) التنقيح: تدريب نماذج أصغر على تقليد سلوك نماذج أكبر، مع الحفاظ على الكثير من الأداء بمعلمات أقل.
مثال عملي وحسابات
GPT-3، واحدة من أكبر النماذج اللغوية، لديها 175 مليار معلمة. تستخدم جزء المرسلة من هيكل الترانسفورمر. لتفهم حجمها، دعونا ننقسم حساب المعلمات باستخدام قيم افتراضية:
د_نموذج = 12288د_ف = 4 * 12288 = 49152- عدد الطبقات = 96
لطبقة مرسلة واحدة:
المعلمات الإجمالية = 8 * 12288^2 + 8 * 12288 * 49152 + 2 * 12288 ≈ 1.1 مليار
المعلمات الإجمالية ل 96 طبقة:
- 1.1 مليار * 96 = 105.6 مليار
المعلمات الإجمالية للنموذج:
- 105.6 مليار + 38.4 مليار = 144 مليار
هذا النموذج سيكون له حوالي 144 مليار معلمة.
الختام
فهم معلمات ومتطلبات الذاكرة للنماذج اللغوية الكبيرة هو أمر بالغ الأهمية لتصميم وتدريب وتحسين أداء هذه الأدوات القوية. من خلال تفكيك مكونات هيكل الترانسفورمر ودراسة أمثلة عملية مثل GPT، نكتسب رؤية أعمق في تعقيد وขนาด هذه النماذج.
للمزيد من المعلومات حول أحدث التطورات في النماذج اللغوية الكبيرة وتطبيقاتها، تفضل بزيارة هذه الأدلة الشاملة:
- استكشف الدليل الكامل على Gemma 2: نموذج اللغة الكبير المفتوح الجديد من جوجل للحصول على رؤى حول أدائه المحسن والميزات الجديدة.
- تعلم عن بناء وكلاء النماذج اللغوية الكبيرة من الصفر وفوق ذلك: دليل شامل الذي يناقش التحديات والحلول في التوليد المعزز بالاسترجاع.
- اكتشف دقائق إعداد التدريب والتعدين والاستدلال للنماذج اللغوية الكبيرة مع وحدات معالجة رسومات NVIDIA وCUDA (NVDA ) لتحسين أنظمة الذكاء الاصطناعي.
لقد قمت بإنفاق الخمس سنوات الماضية في غمرة العالم المثير للاهتمام من التعلم الآلي والتعلم العميق. وقد أدت شغفي وخبرتي إلى المساهمة في أكثر من 50 مشروعًا متنوعًا في هندسة البرمجيات، مع التركيز بشكل خاص على الذكاء الاصطناعي والتعلم الآلي. كما أدت فضولي المستمر إلى جذبي نحو معالجة اللغة الطبيعية، وهو مجال أنا متحمس لاستكشافه بشكل أكبر.
اكتشف المزيد


متى يمكن أن يتعامل برنامج الروبوت مع أطفالك، ماذا يسمح له بالقيام به مع بياناتك؟


كيفية تمرير الأوراق العلمية المزيفة المكتوبة بواسطة الذكاء الاصطناعي عبر المراجعين


نماذج الذكاء الاصطناعي تفضل الكتابة البشرية على الكتابة التي يتم توليدها بواسطة الذكاء الاصطناعي


ثورة MoE: كيف يغير التوجيه المتقدم والتخصص النماذج اللغة الكبيرة


نهاية عصر التوسع: لماذا يهم الانكفاء الخوارزمي أكثر من حجم النموذج


لماذا لا يستطيع الذكاء الاصطناعي أن يعترف بأنه لا يعرف الإجابة؟

