حسّن نماذج تعلم الآلة باستخدام تقليم النموذج. حقق استدلالًا أسرع، وتقليل استخدام الذاكرة، وكفاءة الطاقة لعمليات النشر محدودة الموارد.
تشذيب النماذج هو تقنية تحسين النموذج المصممة لتقليل الحجم والتعقيد الحسابي للشبكات العصبية الشبكات العصبية عن طريق إزالة المعلمات غير ضرورية. عندما تنمو نماذج الذكاء الاصطناعي بشكل أكبر لتحقيق أداء أعلى، فإنها غالباً ما تصبح أكثر من اللازم، حيث تحتوي على العديد من الوصلات أو الخلايا العصبية التي لا تساهم إلا بالقليل في الناتج النهائي. من خلال تحديد والتخلص من هذه المكونات الزائدة عن الحاجة، يمكن للمطورين إنشاء نماذج أصغر حجماً تتطلب ذاكرة وطاقة أقل مع تقديم استدلال أسرع في الوقت الحقيقي. هذه العملية حيوية بشكل خاص لنشر البنى المتطورة مثل YOLO11 على الأجهزة التي تكون فيها الموارد شحيحة، مثل الهواتف المحمولة أو أجهزة الاستشعار المدمجة.
تتضمن عملية التقليم عادةً ثلاث مراحل رئيسية: التدريب، والتشذيب، و والتشذيب. في البداية، يتم تدريب نموذج كبير على التقارب لالتقاط الميزات المعقدة. أثناء مرحلة التقليم، تقوم خوارزمية بتقييم أهمية معلمات محددة محددة - عادةً weights and biases-بناءً على معايير مثل الحجم أو الحساسية. يتم تعيين المعلمات التي تعتبر غير مهمة إلى الصفر أو إزالتها بالكامل.
ومع ذلك، فإن مجرد قطع أجزاء من الشبكة يمكن أن يقلل من دقتها. ولمواجهة ذلك، يخضع النموذج إلى جولة لاحقة من إعادة التدريب تعرف باسم الضبط الدقيق. تسمح هذه الخطوة للمعلمات المتبقية بتعديل و وتعويض الوصلات المفقودة، وغالباً ما تعيد أداء النموذج إلى مستويات قريبة من المستويات الأصلية. إن فعالية هذا النهج مدعومة بفرضية فرضية تذكرة اليانصيب، والتي تشير إلى أن الشبكات الكثيفة تحتوي على شبكات فرعية أصغر قادرة على تحقيق دقة مماثلة عند تدريبها بمعزل عن غيرها.
يتم تصنيف استراتيجيات التقليم بشكل عام حسب بنية المكونات التي تتم إزالتها:
على الرغم من أن كلاهما من تقنيات التحسين الشائعة، إلا أنه من المهم التمييز بين التقليم التقليم الكمي للنموذج. يركز التقليم على تقليل عدد المعلمات (الوصلات أو الخلايا العصبية)، مما يؤدي إلى تغيير بنية النموذج بشكل فعال. في المقابل على النقيض من ذلك، يقلل التكميم من دقة تلك المعلمات، على سبيل المثال، تحويل 32 بت من 32 بت إلى أعداد صحيحة من 8 بت. غالباً ما تكون هذه الطرق مكملة لبعضها البعض؛ قد يقوم المطور أولاً بتهذيب النموذج لإزالة التكرار ومن ثم تكميمه لتقليل بصمة الذاكرة الخاصة به من أجل للنشر.
يلعب التقليم دورًا حاسمًا في جعل الرؤية الحاسوبية المتقدمة في السيناريوهات العملية في السيناريوهات العملية:
أطر عمل مثل PyTorch توفر أدوات مساعدة مدمجة لتطبيق التقليم برمجيًا. يوضّح المثال التالي كيفية تطبيق التقليم غير المهيكل على طبقة التلافيف وهي عملية شائعة قبل تصدير نموذج إلى صيغة محسّنة مثل ONNX.
import torch
import torch.nn.utils.prune as prune
# Initialize a standard convolutional layer
layer = torch.nn.Conv2d(in_channels=3, out_channels=64, kernel_size=3)
# Apply L1 unstructured pruning to remove 30% of the connections
# This sets the smallest 30% of weights (by absolute value) to zero
prune.l1_unstructured(layer, name="weight", amount=0.3)
# Verify sparsity: calculate the percentage of zero parameters
sparsity = float(torch.sum(layer.weight == 0)) / layer.weight.nelement()
print(f"Layer sparsity: {sparsity:.2%}")