الگوریتمهای یادگیری ماشین، به ویژه شبکههای عصبی یادگیری عمیق، اغلب مدلهایی را تولید میکنند که دقت پیش بینی را بهبود میبخشند. اما این دقت به قیمت محاسبه بیشتر و مصرف حافظه بالاتر است. یک الگوریتم یادگیری عمیق، که به عنوان مدل نیز شناخته میشود، شامل لایههایی از محاسبات است که در هر لایه، هزاران پارامتر محاسبه میشود و به صورت تکراری به لایه دیگر منتقل میشود. هرچه ابعاد دادههای ورودی (به عنوان مثال یک تصویر با وضوح بالا) بیشتر باشد، نیاز محاسباتی نیز بیشتر است. مزارع GPU در ابر اغلب برای تأمین این نیازهای محاسباتی استفاده میشوند.
وقتی از یادگیری ماشین برای موارد استفادهای، مانند تشخیص کیفیت محصول در تولید، پیش بینی سلامت یک قطعه ابزار حیاتی یا نظارت تصویری استفاده میشود، انتظار میرود که استنباط نزدیک به زمان واقعی انجام شود. استنباط در ابر به انتقال داده از منبع به ابر نیاز دارد و البته چندین چالش به همراه دارد:
(الف) آوردن داده به ابر برای استنباط زمان واقعی پر هزینه است
(ب) انتقال داده از Edge به ابر منجر به تأخیر بیشتر شبکه میشود
(ج) ارسال داده از Edge به ابر با افزایش تعداد دستگاههای متصل، باعث ایجاد مقیاس پذیری میشود
(د) خطرات نگرانیهای امنیتی دادههای کاربر باعث ارسال دادهها به ابر میشود.
Edge computing یک الگوی توزیع محاسباتی است که برای بهبود زمان پاسخ و صرفه جویی در پهنای باند، محاسبات و ذخیره اطلاعات را به محلی که مورد نیاز است نزدیک میکند. اگرچه رایانش مرزی به اتصال، تأخیر، مقیاس پذیری و چالشهای امنیتی پاسخ میدهند، اما منابع محاسباتی مورد نیاز برای مدلهای عمیق یادگیری در دستگاههای Edge سخت تر از دستگاههای کوچکتر، اجرا میشوند. قبل از تعیین نوع سخت افزار برای دستگاههای Edge، تعیین معیارهای اصلی عملکرد برای استنباط، امری مهم است. در سطح بالا، معیارهای اصلی عملکرد برای یادگیری ماشین در Edge را میتوان به عنوان تأخیر، توان عملیاتی، مصرف انرژی دستگاه و دقت خلاصه کرد. تأخیر، به زمانی گفته میشود که برای استنباط یک نقطه داده لازم است، توان عملیاتی، تعداد تماسهای استنباطی در ثانیه است و دقت، سطح اطمینان از خروجی پیش بینی مورد نیاز توسط مورد استفادهای است. بسته به این الزامات، میتوان برای تسریع در استنباط در دستگاه Edge محدود به منابع، یک یا چند روش زیر را دنبال کرد.
مدل مناسب یادگیری ماشین برای دستگاه Edge
محققان دریافتهاند که کاهش تعداد پارامترها در مدلهای شبکه عصبی عمیق به کاهش منابع محاسباتی مورد نیاز برای استنباط مدل کمک میکند. برخی از مدلهای معروف که از چنین تکنیکهایی با حداقل تخریب و (یا بدون) دقت استفاده کردهاند، YOLO ، MobileNets ، Solid-State Drive و SqueezeNet هستند. بسیاری از این مدلهای از قبل آموزش دیده برای بارگیری و استفاده در سیستم عاملهای منبع باز مانند TensorFlow یا PyTorch در دسترس هستند.
مدل فشرده سازی، روش دیگری است که برای اجرای مدلها در دستگاه Edge استفاده میشود. یک مدل فشرده ممکن است در مقایسه با مدل اصلی دقت خود را از دست بدهد اما در بسیاری از موارد، قابل قبول است. با استفاده از چندین روش فشرده سازی و ذخیره متوسط نتایج برای تکرار استفاده مجدد، محققان سرعت اجرای مدلهای شبکه عصبی عمیق را بهبود بخشیدهاند. DeepMon یکی از این چارچوبهای یادگیری ماشین برای برنامههای دید مداوم رایانه در دستگاه Edge است. تکنیکهای مشابه توسط TensorFlow Lite برای اجرای مدل در Edge مورد استفاده قرار میگیرد.
سخت افزار Edge
برای سرعت بخشیدن به استنباط در Edge، فروشندگان سخت افزار توصیه میکنند تعداد هستههای CPU یا GPU را در دستگاههای Edge افزایش دهید. همچنین مولفههای سخت افزاری تخصصی مانند Edge TPU از Google یا FPGA(آرایش دروازه ای قابل برنامه ریزی) مبتنی بر شتاب دهندههای یادگیری عمیق از Intel، Microsoft و غیره نیز وجود دارد.
نرم افزار
فروشندگان سخت افزار به طور فزاینده ای وارد حوزه یادگیری ماشین شده و ابزارها و SDKها را برای پشتیبانی از سرمایه گذاری و نوآوریهای خود، ارائه میدهند. این کیتهای ابزاری به استفاده موثر از منابع سخت افزاری برای یادگیری عمیق کمک میکند و در نتیجه سرعت اجرا را افزایش میدهد. کیت ابزاری OpenVino اینتل از تراشههای اینتل شامل CPU ، GPU ، FPGA و واحدهای پردازش بصری بهره میبرد. پلت فرم EGX از انویدیا و پردازش عصبی SDK از کوالکام از سخت افزار مربوط به آنها پشتیبانی میکنند. همچنین کتابخانههای عمومی مانند RSTensorFlow وجود دارند که از GPUها برای تسریع در عملیت ماتریسی در مدل یادگیری عمیق استفاده میکنند.
به طور کلی، چالشهای زیادی برای بهبود عملکرد مدلهای یادگیری عمیق باقی مانده است. اما بدیهی است که استنباط مدل در حال حرکت به سمت دستگاههای Edge است. درک مورد استفاده کسب و کار و الزامات کلیدی عملکرد مدل برای سرعت بخشیدن به اجرا در دستگاه محدود به منابع، امری مهم است. SAP Edge Services و Data Intelligence در کنار هم ابزاری پایان به پایان (end-to-end) برای آموزش مدلهای یادگیری ماشین در فضای ابری و مدیریت مراحل کار و اجرا در دستگاههای Edge را فراهم میکنند.
شرکت گوگل در سرویسهای زیر از قابلیتهای GPU نیز استفاده کرده است.
مترجم: نیلوفر نظری
منبع: blogs.sap.com