Yolo فيجن شنتشن
شنتشن
انضم الآن
مسرد المصطلحات

تقليم النموذج (Model Pruning)

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

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

كيف يعمل التقليم النموذجي

الفكرة الأساسية وراء التقليم هي أن الشبكات العصبية العميقة غالبًا ما تكون "مفرطة في المعلمات"، مما يعني أنها تحتوي على عدد أكبر بكثير weights and biases مما هو ضروري لحل مشكلة معينة. أثناء عملية التدريب، يتعلم النموذج عددًا كبيرًا من الروابط، ولكن لا تساهم جميعها بشكل متساوٍ في الناتج النهائي. تحلل خوارزميات التقليم النموذج المدرب لتحديد هذه الروابط الزائدة أو غير المفيدة — عادةً تلك التي تقترب أوزانها من الصفر — وإزالتها.

يتبع دورة حياة النموذج المُعدل عمومًا الخطوات التالية:

  1. التدريب: يتم تدريب نموذج كبير على التقارب لالتقاط الميزات المعقدة.
  2. التشذيب: يتم تعيين المعلمات ذات الأهمية المنخفضة إلى صفر أو إزالتها فعليًا من بنية الشبكة .
  3. الضبط الدقيق: يخضع النموذج لجولة ثانوية من الضبط الدقيق للسماح للمعلمات المتبقية بالتكيف واستعادة أي دقة فقدت خلال مرحلة التقليم .

غالبًا ما ترتبط هذه المنهجية بـ فرضية تذكرة اليانصيب، التي تشير إلى أن الشبكات الكثيفة تحتوي على شبكات فرعية أصغر ومعزولة (تذاكر فائزة) يمكنها تحقيق دقة مماثلة للنموذج الأصلي إذا تم تدريبها بشكل منفصل.

أنواع استراتيجيات التقليم

تصنف طرق التقليم عمومًا بناءً على بنية المكونات التي يتم إزالتها.

  • التقليم غير المنظم: يزيل هذا النهج الأوزان الفردية في أي مكان في النموذج بناءً على عتبة (على سبيل المثال، الحجم). في حين أن هذا يقلل بشكل فعال من عدد المعلمات، إلا أنه ينتج عنه مصفوفات متفرقة قد يكون من الصعب على الأجهزة القياسية معالجتها بكفاءة. بدون برامج متخصصة أو مسرعات للأجهزة، قد لا يؤدي التقليم غير المنظم إلى تحسينات كبيرة في السرعة.
  • التقليم المنظم: تزيل هذه الطريقة الهياكل الهندسية بالكامل، مثل القنوات أو المرشحات أو الطبقات داخل شبكة عصبية تلافيفية (CNN). من خلال الحفاظ على بنية المصفوفة الكثيفة، يظل النموذج المُقلّم متوافقًا مع GPU و CPU مما يؤدي إلى تحسينات مباشرة في زمن الاستدلال و الإنتاجية.

تطبيقات واقعية

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

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

التقليم مقابل تقنيات التحسين ذات الصلة

على الرغم من أن تقليم النموذج أداة قوية، إلا أنه غالبًا ما يتم الخلط بينه وبين تقنيات تحسين النموذج الأخرى أو استخدامه جنبًا إلى جنب معها .

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

مثال على التنفيذ

يوضح Python التالي 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 واجهة مبسطة. وهي تبسط عملية إنشاء نماذج محسّنة للغاية مثل YOLO26 وتصديرها إلى تنسيقات متوافقة مع الأجهزة مثل TensorRT TensorRT أو CoreML.

انضم إلى مجتمع Ultralytics

انضم إلى مستقبل الذكاء الاصطناعي. تواصل وتعاون وانمو مع المبتكرين العالميين

انضم الآن