ابزار تولید و بهینهسازی شبکههای یادگیری عمیق برای پیاده سازی روی Fpga ها
|
|
|
DOR
|
20.1001.2.9920177913.1400.20.1.50.6
|
نویسنده
|
شیرین زاده چنه سری نیما ,امینیان مهدی
|
منبع
|
كنفرانس ملي دانشجويي مهندسي برق ايران - 1400 - دوره : 20 - بیستمین کنفرانس ملی دانشجویی مهندسی برق ایران - کد همایش: 99201-77913
|
|
|
چکیده
|
یکی از انواع مهم شبکههای عصبی، شبکههای عصبی بازگشتی هستند. به طور کلی از این شبکهها میتوان برای پیدا کردن الگوها در دادههایی که توالی در آنها وجود دارد، استفاده کرد. از جلمه کاربردهای شبکههای عصبی بازگشتی میتوان به تشخیص صوت، ترجمه گرها، تشخیص دست خط، تشخیص حالتهای انسانی، کنترل رباتها، تولید موسیقی و کارهای مختلف دیگر اشاره کرد. اما یکی از چالشهای مهم برای این نوع الگوریتمها پیاده سازی آنها روی سختافزار است. پیاده سازی این الگوریتمها روی cpu و gpu و fpga امکان پذیر است. پیادهسازی با استفاده از cpu و gpu به دلیل سهولت پیاده سازی و وجود راهکارهای نرم افزاری آسان، روش های پیاده سازی شناخته شده تر هستند. از طرفی، امروزه fpgaها به دلیل مصرف توان پایین و امکان طراحی بهینه و مناسب هر الگوریتم و امکان پیادهسازی موازی میتواند در بخشهای مختلف جایگزین مناسبی برای cpu و gpu باشد. با توجه به ویژگیهای ذکر شده fpga می-تواند ابزار مناسبی برای پیادهسازی شبکههای عصبی نیز باشد. با توجه به ماهیت پیچیدهی الگوریتمهای شبکههای عصبی، پیادهسازی این نوع الگوریتمها روی fpga کاری زمان بر است و از طرفی برای پیادهسازی بهینه و مناسب الگوریتمهای شبکههای عصبی به تجربه کافی در زمینه پیادهسازی سختافزاری الگوریتمها و همچین تسلط کافی به ماژولهای تشکیل دهنده یک شبکهی عصبی نیاز است. اما برای رفع این مشکلات و امکان پیادهسازی سریع و بهینه شبکههای عصبی روی fpga میتوان با ترکیب راهکارهای سختافزاری و نرمافزاری نظیر روشهای بهینهسازی مختلف ماژولهای تشکیل دهنده شبکههای عصبی این امکان را فراهم نمود تا شبکهی عصبی پیاده شده در پلتفرمهای نرمافزاری مانند keras و pytorch را به شبکههای سختافزاری بهینهسازی شده و قابل پیادهسازی روی fpgaها تبدیل کرد. یکی از خروجیهای سختافزاری ممکن، خروجی در زبانهای سطح بالا مانند c یا c++ برای پیادهسازی از طریق hlsها و سنتز سطح بالا است. که به این ترتیب میتوان فرایند زمانبر پیادهسازی و بهینهسازی سختافزاری یک شبکه را در کوتاهترین زمان ممکن طی نمود و همچنین این امکان فراهم میشود تا استفادهکنندگان حوزههای نرمافزاری هم بدون نیاز به دانش سختافزاری بالا بتوانند به راحتی یک شبکهی عصبی روی سختافزار اجرا کنند.
|
کلیدواژه
|
شبکههای عصبی ,سنتز سطح بالا ,شتابدهندههای سختافزاری ,بهینهسازی ,Framework ,Lstm ,Hls
|
آدرس
|
دانشگاه گیلان, ایران, دانشگاه گیلان, ایران
|
|
|
|
|
|
|