DeepBench: ابزاری برای سنجش عملکرد پردازنده‌های سخت‌افزاری در آموزش شبکه‌های عصبی ژرف

DeepBench: ابزاری برای سنجش عملکرد پردازنده‌های سخت‌افزاری در آموزش شبکه‌های عصبی ژرف

DeepBench یک ابزار سنجش اپن‌سورس بوده و هدف اول آن ارزیابی عملیاتی است که این عملیات در فرآیند یادگیری ژرف روی پلتفرم‌های سخت‌افزاری مختلف مهم هستند. اگرچه محاسبات اصلی فرآیند یادگیری ژرف روی کاغذ به‌ خوبی مشخص هستند، اما نحوۀ استفاده از آن‌ها در عمل می‌تواند بسیار متفاوت باشد. به عنوان مثال، ضرب ماتریس‌ها ممکن است بسته به اندازۀ ماتریس‌هایی که ضرب می‌شوند و همچنین کِرنِلی که این عملیات روی آن پیاده‌سازی شده است، با مشکلاتی مانند توانایی محدود پردازنده در انجام محاسبات، محدودیت پهنای باند یا محدودیت حافظۀ آن روبه‌رو شود و از آنجایی که در هر مدل یادگیری ژرف عملیات در آن با پارامترهای مختلف استفاده می‌شوند، بهینه‌سازی سخت‌افزار و نرم‌افزار با هدف بهینه‌سازی یادگیری عمیق، کاری مشکل و مبهم است.

DeepBench در پاسخ به این سؤال که کدام سخت‌افزار بهترین عملکرد را در عملیات پایۀ مورد استفاده برای شبکه‌های عصبی عمیق فراهم می‌کند، توسعه داده شد. در واقع، این ابزار در سطوح پایین‌تر ابتدا عملیات مناسب را برای استفاده در شبیه‌سازهای سخت‌افزاری و برای گروه‌هایی که پردازنده‌های جدید برای یادگیری ژرف طراحی می‌کنند، مشخص می‌کند (برای آشنایی بیشتر با مفهوم دیپ لرنینگ، به مقالهٔ یادگیری ژرف چیست و چگونه کار می‌کند؟ مراجعه نمایید.)

همچنین این ابزار با هدف بهینه‌سازی فرآیند یادگیری عمیق (ژرف) با در نظر گرفتن عملیات و حجم کاری که در فاز Train و Inference انجام می‌شود، توسعه داده شده است (برای آشنایی بیشتر با فاز Inference در مدل‌های یادگیری ماشینی، به مقالۀ TensorFlow.js: یک لایبرری جاوااسکریپتی مبتنی بر مرورگر برای اجرای مدل‌های یادگیری ماشینی مراجعه نمایید.)



اکرم امراه‌نژاد