این سند یک نمای کلی در مورد هرس مدل ارائه می دهد تا به شما کمک کند تعیین کنید که چگونه با موارد استفاده شما مطابقت دارد.
- برای فرو رفتن مستقیم در یک مثال انتها به انتها، به مثال Pruning with Keras مراجعه کنید.
- برای یافتن سریع API های مورد نیاز خود برای موارد استفاده خود، به راهنمای جامع هرس مراجعه کنید.
- برای بررسی کاربرد هرس برای استنتاج روی دستگاه، به Pruning برای استنتاج روی دستگاه با XNNPACK مراجعه کنید.
- برای مشاهده نمونه ای از هرس سازه ای، آموزش هرس سازه ای را با پراکندگی 2 در 4 اجرا کنید.
بررسی اجمالی
هرس وزنی مبتنی بر بزرگی به تدریج وزن مدل را در طول فرآیند آموزش به صفر میرساند تا به پراکندگی مدل برسد. فشردهسازی مدلهای پراکنده آسانتر است و میتوانیم از صفرها در طول استنتاج برای بهبود تأخیر بگذریم.
این تکنیک از طریق فشرده سازی مدل، بهبودهایی را به همراه دارد. در آینده، پشتیبانی از چارچوب برای این تکنیک، بهبودهایی را در تأخیر ارائه خواهد کرد. ما تا 6 برابر پیشرفت در فشرده سازی مدل با حداقل کاهش دقت مشاهده کرده ایم.
این تکنیک در کاربردهای گفتاری مختلف مانند تشخیص گفتار و تبدیل متن به گفتار در حال ارزیابی است و در مدلهای بینایی و ترجمه مختلف آزمایش شده است.
ماتریس سازگاری API
کاربران می توانند هرس را با API های زیر اعمال کنند:
- ساختمان مدل:
keras
تنها با مدل های ترتیبی و کاربردی - نسخه های TensorFlow: TF 1.x برای نسخه های 1.14+ و 2.x.
-
tf.compat.v1
با بسته TF 2.X وtf.compat.v2
با بسته TF 1.X پشتیبانی نمی شوند.
-
- حالت اجرای TensorFlow: هم گراف و هم مشتاق
- آموزش توزیع شده:
tf.distribute
فقط با اجرای گراف
در نقشه راه ما افزودن پشتیبانی در زمینه های زیر است:
نتایج
طبقه بندی تصویر
مدل | غیر پراکنده Top-1 دقت | دقت پراکنده تصادفی | پراکندگی تصادفی | دقت پراکنده ساختاریافته | پراکندگی ساختار یافته |
---|---|---|---|---|---|
InceptionV3 | 78.1٪ | 78.0٪ | 50% | 75.8٪ | 2 در 4 |
76.1٪ | 75% | ||||
74.6٪ | 87.5٪ | ||||
MobilenetV1 224 | 71.04٪ | 70.84٪ | 50% | 67.35٪ | 2 در 4 |
MobilenetV2 224 | 71.77٪ | 69.64٪ | 50% | 66.75٪ | 2 در 4 |
مدل ها در Imagenet تست شدند.
ترجمه
مدل | BLEU غیر پراکنده | Sparse BLEU | پراکندگی |
---|---|---|---|
GNMT EN-DE | 26.77 | 26.86 | 80% |
26.52 | 85% | ||
26.19 | 90% | ||
GNMT DE-EN | 29.47 | 29.50 | 80% |
29.24 | 85% | ||
28.81 | 90% |
مدلها از مجموعه داده آلمانی و انگلیسی WMT16 با news-test2013 به عنوان مجموعه توسعه و news-test2015 به عنوان مجموعه آزمایشی استفاده میکنند.
مدل لکه گیری کلمه کلیدی
DS-CNN-L یک مدل لکه گیری کلمه کلیدی است که برای دستگاه های لبه ایجاد شده است. می توان آن را در مخزن نمونه های نرم افزار ARM یافت.
مدل | دقت غیر پراکنده | دقت پراکنده ساختاریافته (الگوی 2 در 4) | دقت پراکنده تصادفی (تنگی هدف 50%) |
---|---|---|---|
DS-CNN-L | 95.23 | 94.33 | 94.84 |
مثال ها
علاوه بر آموزش Prune with Keras ، نمونه های زیر را مشاهده کنید:
- آموزش یک مدل CNN در کار دستهبندی رقم دستنویس MNIST با هرس: کد
- آموزش یک LSTM در طبقه بندی احساسات IMDB با هرس: کد
برای پیشزمینه، به هرس کردن یا هرس نکردن مراجعه کنید: بررسی اثربخشی هرس برای فشردهسازی مدل [ کاغذ ].