
ابزار تولید و بهینهسازی شبکههای یادگیری عمیق برای پیاده سازی روی FPGA ها
deep learning network accelerator and optimization tool for fpga implementation
نویسندگان :
نیما شیرین زاده چنه سری ( دانشگاه گیلان ) , مهدی امینیان ( دانشگاه گیلان )
چکیده
یکی از انواع مهم شبکههای عصبی، شبکههای عصبی بازگشتی هستند. به طور کلی از این شبکهها میتوان برای پیدا کردن الگوها در دادههایی که توالی در آنها وجود دارد، استفاده کرد. از جلمه کاربردهای شبکههای عصبی بازگشتی میتوان به تشخیص صوت، ترجمه گرها، تشخیص دست خط، تشخیص حالتهای انسانی، کنترل رباتها، تولید موسیقی و کارهای مختلف دیگر اشاره کرد. اما یکی از چالشهای مهم برای این نوع الگوریتمها پیاده سازی آنها روی سختافزار است. پیاده سازی این الگوریتمها روی CPU و GPU و FPGA امکان پذیر است. پیادهسازی با استفاده از CPU و GPU به دلیل سهولت پیاده سازی و وجود راهکارهای نرم افزاری آسان، روش های پیاده سازی شناخته شده تر هستند. از طرفی، امروزه FPGAها به دلیل مصرف توان پایین و امکان طراحی بهینه و مناسب هر الگوریتم و امکان پیادهسازی موازی میتواند در بخشهای مختلف جایگزین مناسبی برای CPU و GPU باشد. با توجه به ویژگیهای ذکر شده FPGA می-تواند ابزار مناسبی برای پیادهسازی شبکههای عصبی نیز باشد. با توجه به ماهیت پیچیدهی الگوریتمهای شبکههای عصبی، پیادهسازی این نوع الگوریتمها روی FPGA کاری زمان بر است و از طرفی برای پیادهسازی بهینه و مناسب الگوریتمهای شبکههای عصبی به تجربه کافی در زمینه پیادهسازی سختافزاری الگوریتمها و همچین تسلط کافی به ماژولهای تشکیل دهنده یک شبکهی عصبی نیاز است. اما برای رفع این مشکلات و امکان پیادهسازی سریع و بهینه شبکههای عصبی روی FPGA میتوان با ترکیب راهکارهای سختافزاری و نرمافزاری نظیر روشهای بهینهسازی مختلف ماژولهای تشکیل دهنده شبکههای عصبی این امکان را فراهم نمود تا شبکهی عصبی پیاده شده در پلتفرمهای نرمافزاری مانند Keras و Pytorch را به شبکههای سختافزاری بهینهسازی شده و قابل پیادهسازی روی FPGAها تبدیل کرد. یکی از خروجیهای سختافزاری ممکن، خروجی در زبانهای سطح بالا مانند C یا C++ برای پیادهسازی از طریق HLSها و سنتز سطح بالا است. که به این ترتیب میتوان فرایند زمانبر پیادهسازی و بهینهسازی سختافزاری یک شبکه را در کوتاهترین زمان ممکن طی نمود و همچنین این امکان فراهم میشود تا استفادهکنندگان حوزههای نرمافزاری هم بدون نیاز به دانش سختافزاری بالا بتوانند به راحتی یک شبکهی عصبی روی سختافزار اجرا کنند.کليدواژه ها
شبکههای عصبی، سنتز سطح بالا، شتابدهندههای سختافزاری، بهینهسازی، Framework ،LSTM، HLSکد مقاله / لینک ثابت به این مقاله
برای لینک دهی به این مقاله، می توانید از لینک زیر استفاده نمایید. این لینک همیشه ثابت است :نحوه استناد به مقاله
در صورتی که می خواهید در اثر پژوهشی خود به این مقاله ارجاع دهید، به سادگی می توانید از عبارت زیر در بخش منابع و مراجع استفاده نمایید:نیما شیرین زاده چنه سری , 1400 , ابزار تولید و بهینهسازی شبکههای یادگیری عمیق برای پیاده سازی روی FPGA ها , بیستمین کنفرانس ملی دانشجویی مهندسی برق ایران
دیگر مقالات این رویداد
© کلیه حقوق متعلق به دانشگاه رازی کرمانشاه میباشد.