ما هو تحسين النماذج؟ دليل سريع
تعرف على كيفية مساعدة تقنيات تحسين النماذج مثل ضبط المعاملات الفائقة (hyperparameter tuning)، وتقليم النماذج (model pruning)، وتكميم النماذج (model quantization) في تشغيل نماذج الرؤية الحاسوبية بكفاءة أكبر.

Model optimization is a process that aims to improve the efficiency and performance of machine learning models. By refining a model's structure and function, optimization makes it possible for models to deliver better results with minimal computational resources and reduced training and evaluation time.
هذه العملية مهمة بشكل خاص في مجالات مثل computer vision، حيث غالباً ما تتطلب models موارد كبيرة لتحليل complex images. في البيئات المحدودة الموارد مثل mobile devices أو أنظمة الحافة، يمكن للنماذج المحسنة أن تعمل بشكل جيد مع موارد محدودة مع الحفاظ على دقتها.
تُستخدم عدة تقنيات بشكل شائع لتحقيق تحسين النماذج، بما في ذلك ضبط المعلمات الفائقة، وتقليم النماذج، وتكميم النماذج، والدقة المختلطة. في هذه المقالة، سنستكشف هذه التقنيات والفوائد التي تقدمها لـ computer vision applications. لنبدأ!
فهم تحسين النماذج#
تتميز Computer vision models عادةً بـ deep layers وهياكل معقدة ممتازة التعرف على الأنماط المعقدة في الصور، ولكنها قد تكون أيضاً متطلبة للغاية من حيث processing power. عندما يتم deployed هذه النماذج على أجهزة ذات عتاد محدود، مثل mobile phones أو edge devices، فقد تواجه تحديات أو قيوداً معينة.
قوة المعالجة والذاكرة والطاقة المحدودة على هذه الأجهزة يمكن أن تؤدي إلى انخفاض ملحوظ في performance، حيث تكافح النماذج لمواكبة ذلك. تقنيات تحسين النماذج تعتبر أساسية لمعالجة هذه المخاوف. فهي تساعد في تبسيط النموذج وتقليل computational needs وضمان قدرته على العمل بفعالية حتى مع الموارد المحدودة. يمكن إجراء تحسين النماذج عبر تبسيط model architecture أو تقليل precision الحسابات أو إزالة المكونات غير الضرورية لجعل النموذج أخف وأسرع.

الشكل 1. أسباب تحسين نماذجك. الصورة من تأليف الكاتب.
إليك بعض التقنيات الأكثر شيوعاً لـ optimization النماذج، والتي سنستكشفها بمزيد من التفصيل في الأقسام التالية:
- Hyperparameter tuning: يتضمن هذا ضبط المعلمات الفائقة منهجياً، مثل معدل التعلم وحجم الدفع، لتحسين أداء النموذج.
- Model pruning: تزيل هذه التقنية الأوزان والاتصالات غير الضرورية من الشبكة العصبية، مما يقلل من تعقيدها وتكلفتها الحسابية.
- Model quantization: يتضمن التكميم تقليل دقة أوزان وتنشيطات النموذج، عادةً من 32 بت إلى 16 بت أو 8 بت، مما يقلل بشكل كبير من بصمة الذاكرة والمتطلبات الحسابية.
- Precision adjustments: تُعرف أيضاً بتدريب الدقة المختلطة، وتتضمن استخدام تنسيقات دقة مختلفة لأجزاء مختلفة من النموذج وتحسين استخدام الموارد دون المساس بالدقة.
شرح: المعلمات الفائقة في نماذج تعلم الآلة#
يمكنك مساعدة النموذج على التعلم والأداء بشكل أفضل عن طريق ضبط معلماته الفائقة - وهي إعدادات تشكل كيفية تعلم النموذج من البيانات. Hyperparameter tuning هي تقنية لتحسين هذه الإعدادات، مما يحسن كفاءة النموذج و accuracy. على عكس المعلمات التي يتعلمها النموذج أثناء training، فإن المعلمات الفائقة هي قيم مسبقة الصنع توجه عملية التدريب.
دعنا نستعرض بعض الأمثلة للمعلمات الفائقة التي يمكن ضبطها:
- Learning rate: تتحكم هذه المعلمة في حجم الخطوة التي يتخذها النموذج لضبط أوزانه الداخلية. معدل التعلم الأعلى يمكن أن يسرع التعلم ولكنه يخاطر بتفويت الحل الأمثل، بينما قد يكون المعدل الأقل أكثر دقة ولكنه أبطأ.
- Batch size: يحدد عدد عينات البيانات التي يتم معالجتها في كل خطوة تدريب. أحجام الدفع الأكبر توفر تعلماً أكثر استقراراً ولكنها تحتاج إلى ذاكرة أكبر. الدفعات الأصغر تتدرب بشكل أسرع ولكنها قد تكون أقل استقراراً.
- Epochs: يمكنك تحديد عدد المرات التي يرى فيها النموذج الـ dataset بالكامل باستخدام هذه المعلمة. المزيد من الحقبات يمكن أن يحسن الدقة ولكنه يخاطر بـ overfitting.
- حجم النواة: يحدد حجم المرشح في Convolutional Neural Networks (CNNs). النوات الأكبر تلتقط أنماطاً أوسع ولكنها تحتاج إلى معالجة أكثر؛ النوات الأصغر تركز على التفاصيل الدقيقة.
كيف يعمل ضبط المعلمات الفائقة#
يبدأ ضبط المعلمات الفائقة عادةً بتحديد نطاق من القيم الممكنة لكل معلمة فائقة. بعد ذلك، تستكشف خوارزمية بحث مجموعات مختلفة ضمن هذه النطاقات لتحديد الإعدادات التي تنتج best performance.
تشمل طرق الضبط الشائعة البحث الشبكي، والبحث العشوائي، والتحسين البايزي. يختبر البحث الشبكي كل مجموعة ممكنة من القيم ضمن النطاقات المحددة. يختار البحث العشوائي المجموعات بشكل عشوائي، وغالبًا ما يجد إعدادات فعالة بسرعة أكبر. يستخدم التحسين البايزي نموذجًا احتماليًا للتنبؤ بقيم المعلمات الفائقة الواعدة بناءً على النتائج السابقة. عادةً ما يقلل هذا النهج من عدد التجارب المطلوبة.
في النهاية، بالنسبة لكل مجموعة من المعلمات الفائقة، يتم evaluated أداء النموذج. تتكرر العملية حتى يتم تحقيق النتائج المرجوة.
المعلمات الفائقة مقابل معلمات النموذج#
أثناء العمل على ضبط المعلمات الفائقة، قد تتساءل عن الفرق بين المعلمات الفائقة و model parameters.
Hyperparameters are values set before training that control how the model learns, such as the learning rate or batch size. These settings are fixed during training and directly influence the learning process. Model parameters, on the other hand, are learned by the model itself during training. These include weights and biases, which adjust as the model trains and ultimately guide its predictions. In essence, hyperparameters shape the learning journey, while model parameters are the results of that learning process.

Fig 2. مقارنة المعلمات والمعلمات الفائقة.
لماذا يعد تقليم النموذج مهمًا في التعلم العميق#
Model pruning هي تقنية لتقليل الحجم تزيل الأوزان والمعلمات غير الضرورية من النموذج، مما يجعله أكثر كفاءة. في computer vision، خاصة مع الـ neural networks العميقة، يمكن أن يؤدي عدد كبير من المعلمات، مثل الأوزان والتنشيطات (المخرجات الوسيطة التي تساعد في حساب المخرج النهائي)، إلى زيادة التعقيد والمتطلبات الحسابية. يساعد التقليم في تبسيط النموذج من خلال تحديد وإزالة المعلمات التي تساهم بشكل طفيف في الأداء، مما ينتج عنه نموذج أخف وزناً وأكثر كفاءة.

Fig3. قبل وبعد تقليم النموذج.
بعد تدريب النموذج، يمكن لتقنيات مثل التقليم القائم على الحجم أو تحليل الحساسية تقييم أهمية كل معلمة. يتم بعد ذلك تقليم المعلمات ذات الأهمية المنخفضة باستخدام واحدة من ثلاث تقنيات رئيسية: تقليم الأوزان، أو تقليم الخلايا العصبية، أو التقليم الهيكلي.
يزيل تقليم الأوزان الاتصالات الفردية مع تأثير طفيف على المخرج. يزيل تقليم الخلايا العصبية الخلايا العصبية بأكملها التي تساهم مخرجاتها قليلاً في وظيفة النموذج. يلغي التقليم المهيكل الأقسام الأكبر، مثل مرشحات الالتفاف أو الخلايا العصبية في الطبقات المتصلة بالكامل، مما يحسن كفاءة النموذج. بمجرد اكتمال التقليم، يتم إعادة تدريب النموذج لـ fine-tune المعلمات المتبقية، مما يضمن احتفاظه بدقة عالية في شكل مخفض.
تقليل زمن الاستجابة في نماذج الذكاء الاصطناعي بالتكميم#
Model quantization يقلل من عدد البتات المستخدمة لتمثيل أوزان وتنشيطات النموذج. وعادةً ما يحول قيم الفاصلة العائمة عالية الدقة 32 بت إلى دقة أقل، مثل أعداد صحيحة 16 بت أو 8 بت. من خلال تقليل دقة البت، يقلل التكميم بشكل كبير من model's size وبصمة الذاكرة والتكلفة الحسابية.
في computer vision، تعتبر قيم الفاصلة العائمة 32 بت قياسية، ولكن التحويل إلى 16 بت أو 8 بت يمكن أن يحسن الكفاءة. هناك نوعان أساسيان من التكميم: تكميم الأوزان وتكميم التنشيط. يقلل تكميم الأوزان من دقة أوزان النموذج، مما يوازن بين تقليل الحجم والدقة. يقلل تكميم التنشيط من دقة التنشيطات، مما يقلل بشكل أكبر من متطلبات الذاكرة والحوسبة.

Fig 4. مثال على التكميم من فاصلة عائمة 32 بت إلى عدد صحيح 8 بت.
كيف تسرع الدقة المختلطة استنتاجات الذكاء الاصطناعي#
Mixed precision هي تقنية تستخدم دقة رقمية مختلفة لأجزاء مختلفة من neural network. من خلال الجمع بين قيم الدقة الأعلى، مثل فاصلة عائمة 32 بت، وقيم الدقة الأقل، مثل فاصلة عائمة 16 بت أو 8 بت، تجعل الدقة المختلطة من الممكن لـ computer vision models تسريع التدريب وتقليل استخدام الذاكرة دون التضحية بالدقة.
أثناء التدريب، يتم تحقيق الدقة المختلطة باستخدام دقة أقل في طبقات معينة مع الحفاظ على دقة أعلى حيثما لزم الأمر عبر الشبكة. يتم ذلك من خلال التحويل وتوسيع نطاق الخسارة. يقوم التحويل بتحويل أنواع البيانات بين دقات مختلفة حسب متطلبات النموذج. يعدل توسيع نطاق الخسارة الدقة المنخفضة لمنع التلاشي العددي، مما يضمن تدريبًا مستقرًا. تعد الدقة المختلطة مفيدة بشكل خاص للنماذج الكبيرة وأحجام الدفعات الكبيرة.

Fig 5. يستخدم تدريب الدقة المختلطة نوعي الفاصلة العائمة 16 بت (FP16) و 32 بت (FP32).
الموازنة بين دقة النموذج وكفاءته#
الآن بعد أن غطينا عدة تقنيات لتحسين النماذج، دعنا نناقش كيفية تحديد التقنية التي يجب استخدامها بناءً على احتياجاتك الخاصة. يعتمد الاختيار على عوامل مثل hardware المتاح، والقيود الحسابية والذاكرة لـ deployment environment, ومستوى الدقة المطلوب.
على سبيل المثال، تعتبر النماذج الأصغر والأسرع أكثر ملاءمة للأجهزة المحمولة ذات الموارد المحدودة، بينما يمكن استخدام النماذج الأكبر والأكثر دقة على الأنظمة عالية الأداء. إليك كيف تتوافق كل تقنية مع different goals:
- التقليم: مثالي لتقليل حجم النموذج دون التأثير بشكل كبير على الدقة، مما يجعله مثاليًا للأجهزة محدودة الموارد مثل الهواتف المحمولة أو أجهزة إنترنت الأشياء (IoT).
- Quantization: خيار رائع لتقليص حجم النموذج وتسريع inference، خاصة على الأجهزة المحمولة و embedded systems ذات الذاكرة المحدودة وقوة المعالجة. وهو يعمل بشكل جيد للتطبيقات التي تكون فيها تخفيضات الدقة البسيطة مقبولة.
- Mixed precision: مصممة للنماذج واسعة النطاق، تقلل هذه التقنية من استخدام الذاكرة وتسرع التدريب على الأجهزة مثل GPUs و TPUs التي تدعم عمليات الدقة المختلطة. غالباً ما تستخدم في المهام عالية الأداء حيث تكون الكفاءة مهمة.
- Hyperparameter tuning: على الرغم من أنها كثيفة الحوسبة، إلا أنها ضرورية للتطبيقات التي تتطلب دقة عالية، مثل medical imaging أو autonomous driving.
أبرز النقاط#
يعد تحسين النموذج جزءًا حيويًا من تعلم الآلة، خاصة لنشر الذكاء الاصطناعي في تطبيقات العالم الحقيقي. تساعد تقنيات مثل ضبط المعلمات الفائقة، وتقليم النماذج، والتكميم، والدقة المختلطة في تحسين أداء وكفاءة واستخدام موارد نماذج الرؤية الحاسوبية. تجعل هذه التحسينات النماذج أسرع وأقل استهلاكًا للموارد، وهو أمر مثالي للأجهزة ذات الذاكرة وقوة المعالجة المحدودتين. النماذج المحسنة أسهل أيضًا في التوسع والنشر عبر منصات مختلفة، مما يتيح حلول ذكاء اصطناعي فعالة وقابلة للتكيف مع مجموعة واسعة من الاستخدامات.
قم بزيارة Ultralytics GitHub repository وانضم إلى community الخاص بنا لمعرفة المزيد حول تطبيقات الذكاء الاصطناعي في manufacturing و agriculture.






