Search⌘ K
AI Features

التكميم: تقليل حجم النموذج

تعرف على تقنيات التكميم وافهم كيف تقلل من حجم النموذج.

شهد الذكاء الاصطناعي التوليدي ثورةً في السنوات الأخيرة، حيث تطورت نماذج اللغة الكبيرة (LLMs) بسرعة لتصبح أكثر قوةً من أي وقت مضى. باتت هذه النماذج قادرةً على فهم استفسارات المستخدمين والاستجابة لها بطريقةٍ تُحاكي البشر. كما أنها قادرة على أداء مهام معقدة مثل الإجابة على الأسئلة، وتوليد النصوص، وتحليل المشاعر، وتوليد الأكواد، وتوليد الصور، وغير ذلك الكثير. ومع كل هذا الذكاء والتقدم، أصبحت هذه النماذج أكبر حجمًا وأكثر تعقيدًا من حيث عدد المعاملات. على سبيل المثال، فيما يلي عدد المعاملات لبعض نماذج اللغة الكبيرة واسعة الانتشار:

Model

Number of Parameters

ChatGPT-4

1.7 trillion

Llama 3.1

405 billion

Gemini 1.0 ultra

175 billion

Mistral

7 billion

Bloom

176 billion

يُؤدي هذا التعقيد المتزايد إلى ظهور تحديات، مثل الذاكرة المطلوبة لتدريب نشر هذه النماذج واسعة النطاق. ومع توسع النماذج، يزداد الطلب على الموارد الحاسوبية، مما يُصعّب إدارتها نشر بكفاءة. وهذا يطرح سؤالاً جوهرياً: كيف يُمكننا ضبط النماذج واسعة النطاق مثل GPT وLlama بدقة على بيانات مُخصصة لمهام مُحددة؟

هنا يأتي دور التكميم، الذي يقدم حلاً لهذه التحديات. دعونا نتناول تفاصيل عملية التكميم وكيف تُسهّل عملية الضبط الدقيق.

التكميم

التكميم هو أسلوب لتقليل حجم النموذج عن طريق ضغط أوزان النموذج من قيمة عالية الدقة إلى قيمة منخفضة الدقة. أوزان نموذج اللغة هي المتجهات التي يمكن تمثيلها بأنواع بيانات مختلفة بناءً على توافر الموارد الحاسوبية والدقة المطلوبة. نوع البيانات الافتراضي لمعظم النماذج هو عدد عشري 32 بت (float32 وهذا يعني أن كل وزن من هذه النماذج يأخذ 4 بايت 1 بايت = 8 بت مساحة في الذاكرة.

يقلل التكميم عدد البتات المطلوبة لكل وزن من أوزان النموذج عن طريق تغيير نوع البيانات من رقم عائم مكون من 32 بت (float32 ، والتي تحتوي على معلومات أكثر، إلى 8 بت (int8 ) أو عدد صحيح مكون من 4 بتات (int4 )، وهو ما يحمل قيمة أقل.

Quantization reducing the model's size by changing its weight from a high precision value to a low precision value
Quantization reducing the model's size by changing its weight from a high precision value to a low precision value

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

لماذا نستخدم التكميم؟

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

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

  • الاستدلال السريع: تعمل تقنية التكميم على زيادة سرعة تدريب النموذج واستدلاله نظرًا لانخفاض العمليات الحسابية والذاكرة المطلوبة للأوزان منخفضة الدقة. وتُعد هذه السرعة المتزايدة مفيدة عند نشر النماذج في التطبيقات الآنية.

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

  • تقليل زمن الاستجابة : يُسهم التكميم في تقليل زمن الاستجابة في التطبيقات التي تعمل في الوقت الفعلي. وبما أن النموذج يُعالج المعلومات بسرعة أكبر باستخدام عمليات منخفضة الدقة، فهو مثالي للحالات التي تُعد فيها السرعة أمرًا بالغ الأهمية، كما هو الحال في السيارات ذاتية القيادة أو ترجمة اللغات.

Advantages of quantization
Advantages of quantization

أنواع التكميم

يمكن تطبيق التكميم في مراحل مختلفة أثناء عملية تدريب النموذج. وهناك أنواع عديدة من التكميم، ومن أبرزها النوعان التاليان:

التكميم بعد التدريب (PTQ)

كما يوحي الاسم، فإن التكميم بعد التدريب (PTQ) هو تكميم نموذج التعلم الخطي (LLM) بعد تدريبه. ويتضمن ذلك تكميم معلمات النموذج خلال مرحلة الاستدلال بعد تدريبه. يتميز التكميم بعد التدريب بالسرعة وسهولة التطبيق، إلا أنه يؤدي إلى انخفاض دقة النموذج وأدائه نتيجةً لانخفاض دقة قيم الأوزان.

Post-training quantization (PTQ)
Post-training quantization (PTQ)

يُعدّ التكميم بعد التدريب الخيار الأمثل في الحالات التي تتطلب سرعة النشر وكفاءة استخدام الموارد. ومن تطبيقاته العملية:

  • الأجهزة المتطورة : نشر نماذج الذكاء الاصطناعي على الأجهزة المتطورة ذات الذاكرة المحدودة وموارد الحوسبة، مثل الهواتف الذكية وأجهزة المنزل الذكية وما إلى ذلك.

  • إنترنت الأشياء : تحسين نماذج الذكاء الاصطناعي لأجهزة إنترنت الأشياء، مثل أجهزة الاستشعار الذكية والكاميرات وما إلى ذلك.

  • الأنظمة المدمجة : تقليل الذاكرة وزيادة الأداء في الأنظمة المدمجة، مثل الأجهزة الطبية.

التدريب الواعي بالتكميم (QAT)

يتضمن التدريب المُراعي للتكميم (QAT) تكميم النموذج أثناء التدريب. تعمل هذه الطريقة عن طريق تغيير الأوزان أثناء التدريب، مما ينتج عنه نموذج ذو دقة وأداء أفضل؛ ومع ذلك، فهي تتطلب موارد حاسوبية أكبر مقارنةً بالتدريب المُراعي للتكميم (PTQ).

Quantization-aware training
Quantization-aware training

يُعدّ التدريب المُراعي للتكميم مناسبًا للتطبيقات التي تتطلب تحسينًا ودقةً عاليتين. فيما يلي بعض التطبيقات العملية للتدريب المُراعي للتكميم:

  • رؤية الحاسوب : تدريب نماذج لمهام رؤية الحاسوب مثل تصنيف الصور، واكتشاف الكائنات، ومهام التجزئة.

  • معالجة اللغة الطبيعية : بناء نماذج لغوية مضغوطة لمهام معالجة اللغة الطبيعية مثل تصنيف النصوص، وترجمة اللغات، وما إلى ذلك.

  • المركبات ذاتية القيادة : تحسين نماذج الذكاء الاصطناعي لتحقيق الكفاءة والدقة والموثوقية في المركبات ذاتية القيادة.

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

توجد عدة تقنيات لتقسيم النموذج إلى أجزاء أصغر لتقليل حجمه. وتشمل هذه التقنيات ما يلي:

  • GGML (خوارزمية التجميع القائمة على التدرج المختلط منخفض الرتبة): هي مكتبة تعلم آلي مكتوبة بلغة C، مصممة خصيصًا لتكميم نماذج اللاما. وهي تستخدم أنظمة الكميات k هي تقنية تُقسّم فيها الأوزان إلى كتل، ويُحسب عامل القياس لكل كتلة بناءً على أكبر وزن فيها (أعلى قيمة للتدرج). الكتلة ذات أعلى عامل قياس تحصل على مساحة تخزين ذات دقة أعلى. تُستخدم هذه التقنية لتقليل حجم النموذج مع الحفاظ على دقته. يُستخدم هذا الأسلوب لتخصيص عروض بت مختلفة لأوزان مختلفة بناءً على مقادير تدرجها، مما يقلل من تكاليف الذاكرة والحساب مع الحفاظ على أداء النموذج. وقد طُوّر خصيصًا لتكميم النماذج لتمكين تشغيلها على نطاق أوسع من الأجهزة، وخاصة وحدات المعالجة المركزية.

  • GGUF (تنسيق موحد تم إنشاؤه بواسطة GPT): هذا هو خليفة GGML ويعالج قيوده المتمثلة في تكميم نماذج Llama فقط من خلال توفير الدعم لمجموعة أوسع من النماذج.

  • تقنية GPTQ (التكميم اللاحق للتدريب للمحولات التوليدية المدربة مسبقًا): هي تقنية تكميم طبقي، حيث تُكمّم أوزان كل طبقة بشكل مستقل عن طريق تحويل قيم الفاصلة العائمة إلى أعداد صحيحة من 2 أو 3 أو 4 أو 8 بت، مما يقلل متوسط ​​مربع الخطأ (MSE)، أي مربع الخطأ بين مخرجات الطبقة عالية الدقة والطبقة المُكمّمة. تدعم GPTQ التحويل من 2 إلى 8 بت مع دقة 4 بت الشائعة الاستخدام للأوزان. ويمكن تنفيذها بواسطةAutoGPTQ مكتبة مقدمة من Hugging Facetransformers مكتبة.

  • Bitsandbytes: تُعدّل هذه العملية أوزان النموذج بتحويلها إلى دقة 4 بت باستخدام تنسيق NF4 (العدد العشري العادي ذو 4 بت). أثناء الاستدلال، تُعاد هذه الأوزان إلى دقة أعلى (عادةً 16 بت) لإجراء العمليات الحسابية. تُحسّن هذه العملية أداء النموذج، مع تحقيق التوازن بين الكفاءة واستهلاك الذاكرة. ويمكن تنفيذها بواسطةbitsandbytes مكتبة مقدمة من Hugging Facetransformers مكتبة.

تستخدم تقنيات Educative Bytes: GGML و GGUF و GPTQ تقنية التكميم بعد التدريب (PTQ) التي تقوم بتكميم النموذج بعد التدريب، بينما تستخدم تقنية bitsandbytes تقنية التدريب الواعي بالتكميم (QAT) التي تقوم بتكميم النموذج أثناء التدريب، مما يسمح له بالتكيف مع الدقة المنخفضة.

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

ملاحظة: في هذه الدورة، سنقوم بتطبيق تقنية التكميم QAT باستخدام تقنية البت والبايتات.