Model Pruning
تعرف على كيفية تقليل تقليم النموذج (model pruning) لحجم الشبكة العصبية وتعقيدها من أجل الذكاء الاصطناعي على الحافة. استكشف استراتيجيات تحسين Ultralytics YOLO26 لاستدلال أسرع على الأجهزة المحمولة.
تقليم النموذج هو تقنية في تعلم الآلة تُستخدم لتقليل حجم وتعقيد العمليات الحسابية لـ الشبكة العصبية عن طريق إزالة المعلمات غير الضرورية بشكل منهجي. تماماً كما يقوم البستاني بتقليم الأغصان الميتة أو الزائدة لتشجيع الشجرة على النمو والازدهار، يقوم المطورون بتقليم الشبكات الاصطناعية لجعلها أسرع وأصغر وأكثر كفاءة في استهلاك الطاقة. تُعد هذه العملية ضرورية لنشر بنى التعلم العميق الحديثة على الأجهزة ذات الموارد المحدودة، مثل الهواتف الذكية وأجهزة الاستشعار المدمجة وأجهزة الحوسبة الطرفية.
Link to this sectionكيف يعمل تقليم النموذج#
الفكرة الأساسية وراء التقليم هي أن الشبكات العصبية العميقة غالباً ما تكون "مفرطة في المعلمات"، مما يعني أنها تحتوي على أوزان وتحيزات أكثر بكثير مما هو ضروري تماماً لحل مشكلة معينة. أثناء عملية التدريب، يتعلم النموذج عدداً هائلاً من الروابط، ولكن ليست كلها تساهم بشكل متساوٍ في المخرج النهائي. تقوم خوارزميات التقليم بتحليل النموذج المدرب لتحديد هذه الروابط الزائدة أو غير المعلوماتية - وعادة ما تكون تلك التي لديها أوزان قريبة من الصفر - وإزالتها.
تتبع دورة حياة النموذج المقلم عادةً هذه الخطوات:
-
التدريب: يتم تدريب نموذج كبير حتى التقارب لالتقاط الميزات المعقدة.
-
التقليم: يتم ضبط المعلمات ذات الأهمية المنخفضة على صفر أو إزالتها فعلياً من هيكل الشبكة.
-
الضبط الدقيق: يخضع النموذج لجولة ثانوية من الضبط الدقيق للسماح للمعلمات المتبقية بالتكيف واستعادة أي دقة فُقدت خلال مرحلة التقليم.
غالباً ما ترتبط هذه المنهجية بـ فرضية تذكرة اليانصيب، التي تشير إلى أن الشبكات الكثيفة تحتوي على شبكات فرعية أصغر ومعزولة (تذاكر رابحة) يمكنها تحقيق دقة مماثلة للنموذج الأصلي إذا تم تدريبها بشكل منفصل.
Link to this sectionأنواع استراتيجيات التقليم#
يتم تصنيف طرق التقليم عموماً بناءً على هيكل المكونات التي يتم إزالتها.
- التقليم غير المهيكل: يزيل هذا النهج الأوزان الفردية في أي مكان في النموذج بناءً على عتبة (مثل الحجم). بينما يقلل هذا بشكل فعال من عدد المعلمات، فإنه يؤدي إلى مصفوفات متناثرة قد يصعب على الأجهزة القياسية معالجتها بكفاءة. بدون برامج متخصصة أو مسرعات أجهزة، قد لا يحقق التقليم غير المهيكل تحسينات كبيرة في السرعة.
- التقليم المهيكل: تزيل هذه الطريقة هياكل هندسية كاملة، مثل القنوات أو المرشحات أو الطبقات داخل الشبكة العصبية التلافيفية (CNN). من خلال الحفاظ على هيكل المصفوفة الكثيفة، يظل النموذج المقلم متوافقاً مع أجهزة GPU وCPU القياسية، مما يؤدي إلى تحسينات مباشرة في زمن انتقال الاستدلال والإنتاجية.
Link to this sectionتطبيقات العالم الحقيقي#
يعد التقليم عاملاً تمكينياً حاسماً لـ Edge AI، حيث يسمح للنماذج المتطورة بالعمل في البيئات التي يكون فيها الاتصال بالسحابة غير متاح أو بطيئاً جداً.
- كشف الكائنات المحمول: تستخدم التطبيقات على الأجهزة المحمولة، مثل الترجمة الفورية للغات أو الواقع المعزز، نماذج مقلمة للحفاظ على عمر البطارية وتقليل استخدام الذاكرة. غالباً ما تكون البنى المحسنة مثل YOLO26 هي الأساس المفضل لهذه المهام نظراً لكفاءتها المتأصلة.
- سلامة السيارات: تتطلب السيارات ذاتية القيادة والمركبات ذاتية القيادة اتخاذ قرارات في أجزاء من الثانية. تسمح النماذج المقلمة لأجهزة الكمبيوتر الموجودة على متن المركبة بمعالجة موجزات الكاميرا عالية الدقة للكشف عن المشاة دون زمن الانتقال الناتج عن نقل البيانات إلى خادم.
- إنترنت الأشياء الصناعي: في التصنيع، تستخدم أنظمة الفحص البصري على خطوط التجميع نماذج خفيفة الوزن للكشف عن العيوب. يضمن التقليم أن هذه الأنظمة يمكن أن تعمل على وحدات تحكم دقيقة فعالة من حيث التكلفة بدلاً من أرفف الخوادم باهظة الثمن.
Link to this sectionالتقليم مقابل تقنيات التحسين ذات الصلة#
على الرغم من أن تقليم النموذج أداة قوية، إلا أنه غالباً ما يتم الخلط بينه وبين أو استخدامه جنباً إلى جنب مع تقنيات تحسين النموذج الأخرى.
- التقليم مقابل التكميم: يقلل التقليم من عدد المعلمات (الروابط) في النموذج. في المقابل، يقلل تكميم النموذج من دقة تلك المعلمات، على سبيل المثال، عن طريق تحويل أرقام الفاصلة العائمة 32-بت إلى أعداد صحيحة 8-بت. غالباً ما يتم دمج كليهما لزيادة الكفاءة إلى أقصى حد من أجل نشر النموذج.
- التقليم مقابل تقطير المعرفة: يعدل التقليم النموذج الأصلي عن طريق قطع أجزاء منه. يتضمن تقطير المعرفة تدريب نموذج "طالب" جديد تماماً وأصغر لمحاكاة سلوك نموذج "معلم" أكبر.
Link to this sectionمثال على التنفيذ#
يوضح مثال Python التالي كيفية تطبيق التقليم غير المهيكل على طبقة تلافيفية باستخدام PyTorch. هذه خطوة شائعة قبل تصدير النماذج إلى تنسيقات محسنة مثل ONNX.
import torch
import torch.nn as nn
import torch.nn.utils.prune as prune
# Initialize a standard convolutional layer
module = nn.Conv2d(in_channels=1, out_channels=20, kernel_size=3)
# Apply unstructured pruning to remove 30% of the connections
# This sets the weights with the lowest L1-norm to zero
prune.l1_unstructured(module, name="weight", amount=0.3)
# Calculate and print the sparsity (percentage of zero elements)
sparsity = 100.0 * float(torch.sum(module.weight == 0)) / module.weight.nelement()
print(f"Layer Sparsity: {sparsity:.2f}%")للمستخدمين الذين يتطلعون إلى إدارة دورة الحياة الكاملة لمجموعات البيانات والنماذج الخاصة بهم - بما في ذلك التدريب والتقييم والنشر - توفر Ultralytics Platform واجهة مبسطة. إنها تبسط عملية إنشاء نماذج محسنة للغاية مثل YOLO26 وتصديرها إلى تنسيقات صديقة للأجهزة مثل TensorRT أو CoreML.






