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

By
عيوش ميتال ميتال
نماذج اللغات الكبيرة شهدت برامج ماجستير القانون (LLM) تطورات ملحوظة في السنوات الأخيرة. تُرسي نماذج مثل GPT-4، وGemini من جوجل، وClaude 3 معايير جديدة في القدرات والتطبيقات. لا تُحسّن هذه النماذج توليد النصوص وترجمتها فحسب، بل تُحدث نقلة نوعية في المعالجة متعددة الوسائط، حيث تجمع بين مُدخلات النصوص والصور والصوت والفيديو لتوفير حلول ذكاء اصطناعي أكثر شمولاً.
على سبيل المثال، أظهر نموذج GPT-4 من OpenAI تحسينات ملحوظة في فهم النصوص وتوليدها، بينما تتفوق نماذج Gemini من Google في التعامل مع أنواع بيانات متنوعة، بما في ذلك النصوص والصور والصوت، مما يتيح تفاعلات أكثر سلاسة وارتباطًا بالسياق. وبالمثل، تتميز نماذج Claude 3 من Anthropic بقدراتها المتعددة اللغات وأدائها المحسّن في مهام الذكاء الاصطناعي.
مع استمرار تسارع تطوير LLMs، يصبح فهم تعقيدات هذه النماذج، وخاصة معلماتها ومتطلبات الذاكرة، أمرًا بالغ الأهمية. ويهدف هذا الدليل إلى إزالة الغموض عن هذه الجوانب، وتقديم شرح مفصل وسهل الفهم.
أساسيات نماذج اللغات الكبيرة
ما هي نماذج اللغات الكبيرة؟
نماذج اللغة الكبيرة هي شبكات عصبية مدربة على مجموعات بيانات ضخمة لفهم وتوليد اللغة البشرية. إنهم يعتمدون على بنيات مثل المحولات، والتي تستخدم آليات مثل الاهتمام الذاتي لمعالجة النص وإنتاجه.
أهمية المعلمات في LLMs
تُعدّ المعلمات المكونات الأساسية لهذه النماذج. وتشمل الأوزان والتحيزات، التي يُعدّلها النموذج أثناء التدريب لتقليل أخطاء التنبؤات. غالبًا ما يرتبط عدد المعلمات بسعة النموذج وأدائه، ولكنه يؤثر أيضًا على متطلباته الحسابية ومتطلبات الذاكرة.
فهم بنية المحولات
نظرة عامة
بنية المحولات، التي تم تقديمها في ورقة "الانتباه هو كل ما تحتاجه" التي أعدها فاسواني وآخرون. (2017)، أصبح الأساس للعديد من ماجستير إدارة الأعمال. وهو يتألف من جهاز تشفير وجهاز فك تشفير، يتكون كل منهما من عدة طبقات متطابقة.
مكونات التشفير وفك التشفير
- التشفير: يعالج تسلسل الإدخال وينشئ تمثيلاً مدركًا للسياق.
- فك:يولد تسلسل الإخراج باستخدام تمثيل المبرمج والرموز التي تم إنشاؤها مسبقًا.
اللبنات الأساسية
- اهتمام متعدد الرؤوس: يمكّن النموذج من التركيز على أجزاء مختلفة من تسلسل الإدخال في وقت واحد.
- الشبكات العصبية ذات التغذية الأمامية: يضيف عدم الخطية والتعقيد إلى النموذج.
- تطبيع الطبقة: استقرار وتسريع التدريب من خلال تطبيع النواتج المتوسطة.
حساب عدد المعلمات
حساب المعلمات في LLMs القائمة على المحولات
دعونا نحلل حساب المعاملات لكل مكون من مكونات برنامج ماجستير إدارة الأعمال المعتمد على المحول. سنستخدم الصيغة الواردة في الورقة الأصلية، حيث d_model يمثل أبعاد الحالات المخفية للنموذج.
- طبقة التضمين:
- المعلمات =
vocab_size*d_model
- المعلمات =
- اهتمام متعدد الرؤوس:
- في عمل
hرؤساء، معd_k = d_v = d_model / h: - المعلمات = 4 *
d_model^2 (لإسقاطات Q وK وV والمخرجات)
- في عمل
- شبكة التغذية إلى الأمام:
- المعلمات = 2 *
d_model*d_ff+d_model+d_ff - في
d_ffعادة 4 *d_model
- المعلمات = 2 *
- تطبيع الطبقة:
- المعلمات = 2 *
d_model(للحجم والتحيز)
- المعلمات = 2 *
إجمالي المعلمات لطبقة محول واحدة:
Parameters_layer=Parameters_attention+Parameters_ffn+2 *Parameters_layernorm
لنموذج مع N طبقات:
- إجمالي المعلمات =
N*Parameters_layer+Parameters_embedding+Parameters_output
مثال على الحساب
دعونا نفكر في نموذج بالمواصفات التالية:
d_model= 768h(عدد رؤوس الانتباه) = 12N(عدد الطبقات) = 12vocab_size= 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 مليون معلمة.
أنواع استخدام الذاكرة
عند العمل مع LLMs، نحتاج إلى النظر في نوعين رئيسيين من استخدام الذاكرة:
- نموذج الذاكرة: الذاكرة المطلوبة لتخزين معلمات النموذج.
- الذاكرة العاملة: الذاكرة اللازمة أثناء الاستدلال أو التدريب لتخزين عمليات التنشيط المتوسطة والتدرجات وحالات المُحسِّن.
حساب الذاكرة النموذجية
ترتبط ذاكرة النموذج مباشرة بعدد المعلمات. عادةً ما يتم تخزين كل معلمة كرقم فاصلة عائمة 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، فإن هذا يتطلب 8 بايت بايت، حيث B هو حجم الدُفعة وD هو بُعد الإدخال.
يمكن تقريب إجمالي استخدام ذاكرة الحالة المستقرة من خلال:
- M_steady = 16N + 8BD بايت
ذروة استخدام الذاكرة
يحدث استخدام الذاكرة الذروة أثناء التمرير للخلف عندما يتم تخزين عمليات التنشيط لحساب التدرج. المساهمين الرئيسيين في ذروة الذاكرة هم:
- تطبيع الطبقة: يتطلب 4E بايت لكل معيار طبقة، حيث E = BSH (B: حجم الدفعة، S: طول التسلسل، H: الحجم المخفي).
- كتلة الاهتمام:
- حساب QKV: 2E بايت
- مصفوفة الانتباه: 4 بايت BSS (S: طول التسلسل)
- إخراج الاهتمام: 2E بايت
- كتلة التغذية إلى الأمام:
- الطبقة الخطية الأولى: 2E بايت
- تفعيل جيلو: 8E بايت
- الطبقة الخطية الثانية: 2E بايت
- خسارة عبر الانتروبيا:
- السجلات: 6BSV بايت (V: حجم المفردات)
يمكن تقدير إجمالي ذاكرة التنشيط على النحو التالي:
- M_act = L * (14E + 4BSS) + 6BSV بايت
حيث L هو عدد طبقات المحولات.
إجمالي استخدام الذاكرة الذروة
يمكن تقريب ذروة استخدام الذاكرة أثناء التدريب من خلال الجمع بين ذاكرة الحالة المستقرة وذاكرة التنشيط:
- M_peak = M_steady + M_act + 4BSV بايت
يمثل مصطلح 4BSV الإضافي تخصيصًا إضافيًا في بداية التمريرة الخلفية.
ومن خلال فهم هذه المكونات، يمكننا تحسين استخدام الذاكرة أثناء التدريب والاستدلال، مما يضمن تخصيص الموارد بكفاءة وتحسين أداء نماذج اللغات الكبيرة.
قوانين التوسع واعتبارات الكفاءة
قوانين التوسع في LLMs
أظهرت الأبحاث أن أداء LLM يميل إلى اتباع قوانين قياس معينة مع زيادة عدد المعلمات. كابلان وآخرون. (2020) لاحظ أن أداء النموذج يتحسن كقانون قوة لعدد المعلمات وميزانية الحساب وحجم مجموعة البيانات.
يمكن تقريب العلاقة بين أداء النموذج وعدد المعلمات من خلال:
الأداء ∝ N^α
حيث N هو عدد المعلمات و α هو أس القياس عادة حوالي 0.07 لمهام نمذجة اللغة.
وهذا يعني أنه لتحقيق تحسن في الأداء بنسبة 10%، نحتاج إلى زيادة عدد المعلمات بعامل 10^(1/α) ≈ 3.7.
تقنيات الكفاءة
مع استمرار نمو LLMs، طور الباحثون والممارسون تقنيات مختلفة لتحسين الكفاءة:
a) تدريب مختلط الدقة: استخدام أرقام الفاصلة العائمة ذات 16 بت أو حتى 8 بت لعمليات معينة لتقليل استخدام الذاكرة والمتطلبات الحسابية.
b) نموذج التوازي: توزيع النموذج عبر وحدات معالجة الرسومات أو وحدات TPU المتعددة للتعامل مع نماذج أكبر مما يمكن احتواؤه على جهاز واحد.
c) نقطة تفتيش التدرج: تداول الحساب للذاكرة عن طريق إعادة حساب بعض التنشيطات أثناء التمرير للخلف بدلاً من تخزينها.
d) التقليم والتكميم: إزالة الأوزان الأقل أهمية أو تقليل دقتها بعد التدريب لإنشاء نماذج أصغر وأكثر كفاءة.
e) التقطير: تدريب النماذج الأصغر حجمًا لتقليد سلوك النماذج الأكبر حجمًا، مما قد يؤدي إلى الحفاظ على جزء كبير من الأداء باستخدام معلمات أقل.
مثال عملي والحسابات
GPT-3، أحد أكبر النماذج اللغوية، يحتوي على 175 مليار معلمة. ويستخدم جزء فك التشفير من بنية المحولات. لفهم مقياسها، دعونا نقسم عدد المعلمات بقيم افتراضية:
d_model = 12288d_ff = 4 * 12288 = 49152- عدد الطبقات = 96
لطبقة فك ترميز واحدة:
إجمالي المعلمات = 8 * 12288^2 + 8 * 12288 * 49152 + 2 * 12288 ≈ 1.1 مليار
إجمالي 96 طبقة:
1.1 مليار * 96 = 105.6 مليار
تأتي المعلمات المتبقية من التضمين والمكونات الأخرى.
خاتمة
يعد فهم المعلمات ومتطلبات الذاكرة لنماذج اللغات الكبيرة أمرًا بالغ الأهمية لتصميم هذه الأدوات القوية وتدريبها ونشرها بشكل فعال. من خلال تحليل مكونات بنية المحولات وفحص الأمثلة العملية مثل GPT، نكتسب نظرة أعمق حول مدى تعقيد هذه النماذج وحجمها.
لمزيد من فهم أحدث التطورات في نماذج اللغات الكبيرة وتطبيقاتها، راجع هذه الأدلة الشاملة:
- استكشف الدليل الكامل على Gemma 2: نموذج اللغة الكبير المفتوح الجديد من Google للحصول على رؤى حول أدائها المحسن وميزاتها المبتكرة.
- تعرف على بناء وكلاء LLM لـ RAG من الصفر وما بعده: دليل شامل الذي يناقش التحديات والحلول في مجال توليد الاسترجاع المعزز.
- اكتشف تعقيدات إعداد التدريب والضبط والاستدلال على LLMs باستخدام وحدات معالجة الرسومات NVIDIA وCUDA لتحسين أنظمة الذكاء الاصطناعي.
لقد أمضيت السنوات الخمس الماضية منغمسًا في عالم رائع من التعلم الآلي والتعلم العميق. قادني شغفي وخبرتي إلى المساهمة في أكثر من 50 مشروعًا متنوعًا لهندسة البرمجيات ، مع التركيز بشكل خاص على الذكاء الاصطناعي / التعلم الآلي. جذبني فضولي المستمر أيضًا نحو معالجة اللغة الطبيعية ، وهو مجال أتوق لاستكشافه بشكل أكبر.
قد يعجبك
-


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


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


ثورة وزارة التعليم: كيف يُحدث التوجيه المتقدم والتخصص تحولاً في برامج الماجستير في القانون
-


نهاية عصر التوسع: لماذا تُعدّ الاختراقات الخوارزمية أكثر أهمية من حجم النموذج
-


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


التحول العصبي الرمزي: لماذا تواجه برامج الماجستير في القانون البحتة صعوبات؟

