فهم أحجام النموذج اللغوي الكبير

Maud Nalpas
Maud Nalpas

في حين أنّ الحرف "L" في النماذج اللغوية الكبيرة يشير إلى نطاق واسع، إنّ الواقع أكثر دقةً. وتحتوي بعض النماذج اللغوية الكبيرة على تريليونات من المعلَمات، والبعض الآخر يعمل بفعالية بعدد أقل بكثير.

ألقِ نظرة على بعض الأمثلة الواقعية والآثار العملية لأحجام النماذج المختلفة.

أحجام النموذج اللغوي الكبير وفئات الحجم

بصفتنا مطوّري برامج على الويب، نميل إلى النظر إلى حجم المورد باعتباره حجم تنزيله. ويشير الحجم الموثق للنموذج إلى عدد معلماته بدلاً من ذلك. على سبيل المثال، تشير Gemma 2B إلى Gemma بمليارَي مَعلمة.

قد تضمّ النماذج اللغوية الكبيرة مئات الآلاف أو الملايين أو المليارات أو حتى تريليونات المَعلمات.

تشمل النماذج اللغوية الأكبر حجمًا معلَمات أكثر من نظيراتها الأصغر حجمًا، ما يتيح لها إنشاء علاقات لغوية أكثر تعقيدًا والتعامل مع الطلبات الدقيقة. وغالبًا ما يتم تدريبهم على مجموعات البيانات الأكبر.

ربما لاحظت أن أحجام نماذج معينة، مثل 2 مليار أو 7 مليار، شائعة. على سبيل المثال، Gemma 2B أو Gemma 7B أو Mistral 7B. تعتبر فئات حجم النموذج مجموعات تقريبية. على سبيل المثال، تحتوي Gemma 2B على ما يقرب من مليارَي معلَمة، ولكن ليس بالضبط.

تقدّم فئات حجم النموذج طريقة عملية لقياس أداء النموذج اللغوي الكبير. فكر فيهم مثل فئات الوزن في الملاكمة: النماذج ضمن نفس فئة الحجم أكثر تشابهًا. ومن المفترض أن يحقّق نموذجان من نموذجَي 2B أداءً مشابهًا.

مع ذلك، يمكن أن يكون النموذج الأصغر مساويًا للأداء الأكبر حجمًا لمهام محدّدة.

لقطة شاشة لمربّعات اختيار حجم نموذج HuggingFace
صفوف حجم النموذج على HuggingFace. وهذه الفئات ليست المعايير المتّبعة في المجال، بل ظهرت بشكل طبيعي.

مع أنّ أحجام النماذج لأحدث النماذج اللغوية الكبيرة، مثل GPT-4 وGemini Pro أو Ultra، لا يتم دائمًا الإفصاح عنها، إلا أنّه يُعتقد أنّها تتضمّن مئات المليارات أو تريليونات من المَعلمات.

يمكن أن تختلف أحجام النماذج اختلافًا كبيرًا. في هذا الرسم التوضيحي، يمثل DistillBERT نقطة صغيرة مقارنةً بنموذج Gemini Pro العملاق.

ولا تشير بعض النماذج إلى عدد المعلَمات في أسمائها. يتم إرفاق بعض النماذج برقم الإصدار الخاص بها. على سبيل المثال، يشير Gemini 1.5 Pro إلى الإصدار 1.5 من النموذج (بعد الإصدار 1).

النموذج اللغوي الكبير أو لا؟

متى يكون النموذج صغيرًا جدًا بحيث لا يصلح إلى نموذج لغوي كبير (LLM)؟ قد يكون تعريف النموذج اللغوي الكبير (LLM) سلسًا إلى حدٍّ ما ضمن منتدى الذكاء الاصطناعي (AI) وتعلُّم الآلة.

يعتبر البعض أنّ النماذج الأكبر التي تضم مليارات المعلَمات هي نماذج لغوية كبيرة (LLM)، في حين تعتبر النماذج الأصغر حجمًا، مثل DistilBERT، نماذج بسيطة للمعالجة والتصويب اللغوي الكبير. وتشمل نماذج أخرى نماذج أصغر حجمًا ولكنّها لا تزال فعّالة، في تعريف النموذج اللغوي الكبير (LLM)، نذكر أيضًا نماذج DistillBERT.

نماذج لغوية أصغر حجمًا لحالات الاستخدام على الجهاز

تتطلّب النماذج اللغوية الكبيرة الأكبر مساحة تخزين كبيرة والكثير من القوة الحاسوبية للاستنتاج. يجب أن تعمل هذه الأجهزة على خوادم قوية ومخصَّصة مع أجهزة معيّنة (مثل وحدات معالجة الموتّرات).

إنّ أحد الأشياء التي تهمّنا، بصفتنا مطوّري برامج على الويب، هو ما إذا كان النموذج صغيرًا بما يكفي ليتم تنزيله وتشغيله على جهاز المستخدم.

لكن، سؤال صعب الإجابة عليه! اعتبارًا من اليوم، ليست هناك طريقة سهلة لمعرفة أنه يمكن تشغيل هذا النموذج على معظم الأجهزة متوسطة المدى، لعدة أسباب:

  • تختلف إمكانات الجهاز على نطاق واسع باختلاف مواصفات الذاكرة ووحدة معالجة الرسومات (CPU) ووحدة المعالجة المركزية (CPU) وغيرها. هناك اختلاف كبير بين هاتف Android منخفض المستوى والكمبيوتر المحمول NVIDIA® RTX. قد يكون لديك بعض نقاط البيانات حول الأجهزة التي يمتلكها المستخدمون. ليس لدينا حتى الآن تعريف للجهاز الأساسي المستخدم للوصول إلى الويب.
  • قد يتم تحسين النموذج أو إطار العمل الذي يعمل فيه للتشغيل على أجهزة معينة.
  • ما مِن طريقة آلية لتحديد ما إذا كان من الممكن تنزيل نموذج لغوي كبير معيّن وتشغيله على جهاز معيّن. تعتمد إمكانية تنزيل الجهاز على مقدار ذاكرة الفيديو العشوائية للفيديو (VAM) في وحدة معالجة الرسومات، من بين عوامل أخرى.

مع ذلك، لدينا بعض المعرفة التجريبية: في الوقت الحالي، يمكن تشغيل بعض النماذج التي تتضمّن بضعة ملايين إلى مليارات المعلَمات في المتصفّح على الأجهزة المناسبة للمستهلكين.

مثلاً:

  • Gemma 2B مع واجهة برمجة تطبيقات MediaPipe LLM Inference API (حتى لو كانت مناسبة للأجهزة التي تعمل بوحدة المعالجة المركزية (CPU) فقط). التجربة الآن
  • DiscellBERT مع Transformers.js.

هذا حقل حديث وجديد. يمكنك توقّع تطوّر المشهد:

  • بفضل ابتكارات WebAssembly وWebGPU، يمكن استخدام WebGPU في المزيد من المكتبات والمكتبات والتحسينات الجديدة، وبالتالي زيادة قدرة أجهزة المستخدمين على تشغيل النماذج اللغوية الكبيرة بكفاءة بأحجام مختلفة.
  • توقَّع أن تصبح النماذج اللغوية الكبيرة الأصغر حجمًا ذات الأداء العالي أن تصبح شائعة بشكل متزايد، وذلك من خلال أساليب تقليص المهام الناشئة.

اعتبارات النماذج اللغوية الكبيرة الأصغر حجمًا

عند العمل على نماذج لغوية صغيرة الحجم، يجب دائمًا التركيز على الأداء وحجم التنزيل.

عروض أداء

تعتمد قدرة أي نموذج إلى حد كبير على حالة استخدامك. وقد تحقّق النموذج اللغوي الكبير الأصغر حجمًا أداءً أفضل من النموذج اللغوي الكبير والعام الأكبر حجمًا.

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

لقطة شاشة للوحة شبكة "أدوات مطوري البرامج في Chrome".
نتيجة Gemma 2B أقل من نتيجة Gemma 7B.
المصدر: HuggingFace Open LLM Leaderboard، نيسان (أبريل) 2024

حجم التنزيل

وتعني المزيد من المعلَمات حجم تنزيل أكبر، ما يؤثر أيضًا في إمكانية تنزيل النموذج بشكل معقول استنادًا إلى حالات الاستخدام على الجهاز، حتى وإن كان صغيرًا، حتى لو كان صغيرًا.

على الرغم من توفُّر أساليب لحساب حجم تنزيل نموذج استنادًا إلى عدد المعلَمات، قد يكون ذلك معقّدًا.

اعتبارًا من أوائل عام 2024، نادرًا ما يتم توثيق أحجام تنزيل النماذج. لذا، بالنسبة إلى حالات الاستخدام على الجهاز وفي المتصفّح، ننصحك بالاطّلاع على حجم التنزيل تجريبيًا، في لوحة الشبكة في "أدوات مطوري البرامج في Chrome" أو من خلال أدوات المطوّرين الأخرى في المتصفّح.

لقطة شاشة للوحة شبكة "أدوات مطوري البرامج في Chrome".
في لوحة شبكة "أدوات مطوري البرامج في Chrome"، Gemma 2B وDistilBERT، للاستدلالات على المتصفّح وعلى الجهاز في تطبيق الويب ويجب أن تكون أحجام التنزيل 1.3 غيغابايت و67 ميغابايت على التوالي.

تُستخدم Gemma مع MediaPipe LLM Inference API. يتم استخدام DiscellBERT مع Transformers.js.

تقنيات تقليص النماذج

توجد أساليب متعددة لتقليل متطلبات ذاكرة النموذج بشكل كبير:

  • LoRA (تعديل الترتيب المنخفض): أسلوب ضبط دقيق يتم فيه تجميد الأوزان المدرّبة مسبقًا. اطّلِع على المزيد من المعلومات عن LoRA.
  • التشذيب: إزالة الأوزان الأقل أهمية من النموذج لتقليل حجمه.
  • الكمّية: تقليل دقة الأوزان من أرقام النقاط العائمة (مثل 32 بت) إلى تمثيلات بتات أقل (مثل 8 بت).
  • استخلاص المعرفة: يمكنك تدريب نموذج أصغر لمحاكاة سلوك نموذج أكبر مدرَّب مسبقًا.
  • مشاركة المَعلمات: استخدام القيم التقديرية نفسها لأجزاء متعددة من النموذج، ما يؤدّي إلى خفض إجمالي عدد المَعلمات الفريدة.