التحسين التعاوني

تتم صيانته بواسطة Arm ML Tooling

يقدم هذا المستند نظرة عامة على واجهات برمجة التطبيقات التجريبية للجمع بين التقنيات المختلفة لتحسين نماذج التعلم الآلي للنشر.

ملخص

التحسين التعاوني هو عملية شاملة تشمل تقنيات مختلفة لإنتاج نموذج يُظهر، عند النشر، أفضل توازن بين الخصائص المستهدفة مثل سرعة الاستدلال وحجم النموذج والدقة.

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

المشكلة التي تنشأ عند محاولة ربط هذه التقنيات معًا هي أن تطبيق إحداها يؤدي عادةً إلى تدمير نتائج التقنية السابقة، مما يفسد الفائدة الإجمالية لتطبيقها جميعًا في وقت واحد؛ على سبيل المثال، لا يحافظ التجميع على التشتت الذي توفره واجهة برمجة التطبيقات (Pruning API). لحل هذه المشكلة، نقدم تقنيات التحسين التعاونية التجريبية التالية:

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

collaborative optimization

تم حذف مسار النشر المباشر للتكميم فقط (ما بعد التدريب أو QAT) في الشكل أعلاه.

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

يوضح الشكل أدناه مخططات الكثافة لنواة وزن العينة التي تمر عبر خط أنابيب التحسين التعاوني.

collaborative optimization density plot

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

نتائج

فيما يلي بعض نتائج الدقة والضغط التي حصلنا عليها عند تجربة مسارات التحسين التعاونية PQAT وCQAT.

التدريب على الحفاظ على الكميات المتناثرة (PQAT)

نموذج أغراض حدود نموذج مشذب (50% متناثر) نموذج قطر نموذج بي كيو تي
دي إس-سي إن إن-إل دقة FP32 Top1 95.23% 94.80% (INT8 المزيف) 94.721% (INT8 المزيف) 94.128%
INT8 تكميم الأعداد الصحيحة الكاملة 94.48% 93.80% 94.72% 94.13%
ضغط 528,128 → 434,879 (17.66%) 528,128 → 334,154 (36.73%) 512,224 ← 403,261 (21.27%) 512,032 → 303,997 (40.63%)
موبايل نت_v1-224 FP32 أعلى 1 دقة 70.99% 70.11% (INT8 المزيف) 70.67% (INT8 المزيف) 70.29%
INT8 تكميم الأعداد الصحيحة الكاملة 69.37% 67.82% 70.67% 70.29%
ضغط 4,665,520 ← 3,880,331 (16.83%) 4,665,520 ← 2,939,734 (37.00%) 4,569,416 ← 3,808,781 (16.65%) 4,569,416 ← 2,869,600 (37.20%)

التدريب على الوعي بالتكميم والحفاظ على الكتلة (CQAT)

نموذج أغراض حدود النموذج العنقودي نموذج قطر نموذج CQAT
Mobilenet_v1 على CIFAR-10 دقة FP32 Top1 94.88% 94.48% (INT8 المزيف) 94.80% (INT8 المزيف) 94.60%
INT8 تكميم الأعداد الصحيحة الكاملة 94.65% 94.41% 94.77% 94.52%
مقاس 3.00 ميجابايت 2.00 ميجابايت 2.84 ميجابايت 1.94 ميجابايت
Mobilenet_v1 على ImageNet FP32 أعلى 1 دقة 71.07% 65.30% (INT8 المزيف) 70.39% (INT8 المزيف) 65.35%
INT8 تكميم الأعداد الصحيحة الكاملة 69.34% 60.60% 70.35% 65.42%
ضغط 4,665,568 ← 3,886,277 (16.7%) 4,665,568 ← 3,035,752 (34.9%) 4,569,416 ← 3,804,871 (16.7%) 4,569,472 ← 2,912,655 (36.25%)

نتائج CQAT وPCQAT للنماذج المجمعة لكل قناة

يتم الحصول على النتائج أدناه باستخدام تقنية التجميع لكل قناة . وهي توضح أنه إذا تم تجميع الطبقات التلافيفية للنموذج في كل قناة، فإن دقة النموذج تكون أعلى. إذا كان النموذج الخاص بك يحتوي على العديد من الطبقات التلافيفية، فإننا نوصي بالتجميع لكل قناة. تظل نسبة الضغط كما هي، لكن دقة النموذج ستكون أعلى. خط أنابيب تحسين النموذج هو "مجمع -> مجموعة تحافظ على QAT -> تكميم ما بعد التدريب، int8" في تجاربنا.

نموذج متجمع -> CQAT، int8 كميًا متجمعة لكل قناة -> CQAT، int8 كميًا
دي إس-سي إن إن-إل 95.949% 96.44%
موبايل نت-V2 71.538% 72.638%
MobileNet-V2 (مقطع) 71.45% 71.901%

أمثلة

للحصول على أمثلة شاملة لتقنيات التحسين التعاوني الموصوفة هنا، يرجى الرجوع إلى دفاتر ملاحظات أمثلة CQAT و PQAT والتجميع الذي يحافظ على التناثر و PCQAT .