شتابدهنده هوش مصنوعی
شتابدهنده هوش مصنوعی (به انگلیسی: AI accelerator) یک کلاس از شتابدهندههای سختافزاری[۱] یا سیستم کامپیوتری[۲][۳]است که برای شتاب دهندگی به برنامههای هوش مصنوعی و یادگیری ماشین، از جمله شبکههای عصبی مصنوعی و بینایی ماشین طراحی شدهاست. برنامههای کاربردی معمولی شامل الگوریتمهایی برای رباتیک، اینترنت اشیا، و سایر وظایف مبتنی بر داده یا حسگر است.[۴] این برنامهها اغلب طرحهای چند هستهای هستند و عموماً روی محاسبات با دقت پایین ، معماریهای جدید جریان داده یا قابلیت محاسبات درون حافظه تمرکز میکنند. تا به امروز، سال ۲۰۱۸، یک تراشه مدار مجتمع هوش مصنوعی عادی حاوی میلیاردها ترانزیستور ماسفت است.[۵] چندین اصطلاح خاص تجاری برای دستگاههای این گروه به کار میرود و این فناوری، یک فناوری نوظهور بدون طراحی فراگیر است.
تاریخ[ویرایش]
سیستمهای رایانهای اغلب واحد پردازش مرکزی را با شتابدهندههای ویژه برای کارهای تخصصی تکمیل میکنند که به عنوان کمک پردازنده شناخته میشوند. واحدهای سختافزاری ویژه برنامه کاربردی شامل کارتهای گرافیکی، کارتهای صدا، واحدهای پردازش گرافیکی و پردازندههای سیگنال دیجیتال هستند. همانطور که در دهه ۲۰۱۰ کاربردهای یادگیری عمیق و هوش مصنوعی افزایش یافت، واحدهای سختافزاری تخصیص یافته نیز از محصولات موجود توسعه یافتند تا به اعمال این الگوریتمها شتاب دهند
تلاشهای ابتدایی[ویرایش]
اولین طراحیها مانند ETANN 80170NX[۶] از شرکت اینتل، مدارهای آنالوگ را برای محاسبه توابع عصبی دخیل کرده بودند. نمونه دیگری از تراشههای این گروه، ANNA است که یک شتابدهنده شبکه عصبی CMOS است که توسط یان لی کان توسعه یافتهاست.[۷] بعداً نیز تمام تراشههای دیجیتال مانند Nestor/Intel Ni1000 از این تراشه الگو برداری کردند.
در اوایل سال ۱۹۹۳، پردازندههای سیگنال دیجیتال در زمینههایی مانند سرعت بخشیدن به نرمافزار تشخیص کاراکتر نوری، به عنوان شتابدهنده شبکه عصبی، مورد استفاده قرار گرفتند.[۸]
در دهه ۱۹۹۰ نیز تلاشهایی برای ایجاد سیستمهای موازی با توان عملیاتی بالا برای محیطهای کاری با هدف کاربردهای گوناگون از جمله شبیهسازی شبکههای عصبی صورت گرفت.[۹][۱۰] شتابدهندههای با مبنای FPGA نیز نخستین بار در دهه ۱۹۹۰ برای استدلال و استنباط[۱۱] و آموزش مورد بررسی قرار گرفتند. گوشیهای هوشمند نیز شروع به توسعه شتابدهندههای هوش مصنوعی کردند که اولین نمونه آن کوالکام Snapdragon 820 بود که در سال ۲۰۱۵ میلادی طراحی شد.[۱۲][۱۳]
محاسبات ناهمگن[ویرایش]
محاسبات ناهمگن به معنی ترکیب تعدادی پردازنده تخصیص یافته در یک سیستم یا حتی یک تراشه واحد است که هر یک برای وظیفهٔ خاصی طراحی شدهاند. معماریهایی مانند ریزپردازنده سلولی[۱۴] دارای خصوصیاتی هستند که دارای اشتراکهای زیادی با شتابدهندههای هوش مصنوعی هستند، از جمله: پشتیبانی از محاسبات با دقت محدود، معماری جریان داده، و اولویت دادن به «نتیجه» بر زمان مورد نیاز. ریزپردازنده سلولی بعداً برای تعدادی از وظایف[۱۵] از جمله هوش مصنوعی به کار گرفته شدند.[۱۶]
در دهه ۲۰۰۰، واحدهای پردازش مرکزی همچنان واحدهای SIMD گستردهتری را به دست آوردند که ناشی از کاربردشان در ویدئو و بازی و پشتیبانی از انواع دادههای ساختار یافته با دقت پایین بود.[۱۷]
به دلیل افزایش کارایی واحدهای پردازش مرکزی، از آنها برای انجام وظایف الگوریتمهای هوش مصنوعی نیز استفاده میشود. پردازندههای مرکزی برای DNNهای با موازیسازی در مقیاس کوچک یا متوسط نسبت به DNNهای پراکنده و در طراحیهای با حجم کم، برتر هستند.
استفاده از GPU[ویرایش]
واحدهای پردازش گرافیکی یا GPUها، سختافزارهای تخصیص یافتهای برای اعمال تغییرات بر روی تصاویر و محاسبه خصوصیات تصاویر هستند. اساس ریاضی شبکههای عصبی و الگوریتمهای تغییر تصاویر، اعمال مشابه و مستقلاً موازی ای شامل ماتریسها هستند که باعث شدهاند پردازندههای گرافیکی بهطور روزافزون برای راه اندازی الگوریتمهای یادگیری ماشین استفاده شوند.[۱۸][۱۹][۲۰]
تا به امروز، سال ۲۰۱۶، واحدهای پردازش گرافیکی برای راه اندازی الگوریتمهای هوش مصنوعی محبوب هستند و به تکامل خود ادامه میدهند تا یادگیری عمیق را، هم برای آموزش[۲۱] و هم برای استنباط در دستگاههایی مانند ماشینهای خودران، مجهزتر کنند.[۲۲] توسعه دهندگان GPUها مانند Nvidia NVLink، در حال توسعه توانایی اتصال این سختافزارها به جریان دادههایی هستند که الگوریتمهای هوش مصنوعی از آن بهره میبرند.[۲۳] از آنجایی که واحدهای پردازش گرافیکی بهطور روزافزون در شتاب دهندگی به الگوریتمهای هوش مصنوعی به کار میروند، تولیدکنندگان واحدهای پردازش گرافیکی، سختافزارهایی تخصیص یافته برای شبکههای عصبی مصنوعی را برای سرعت بخشیدن بیشتر به این الگوریتمها در نظر گرفتهاند.[۲۴][۲۵] هستههای تانسوری برای سرعت بخشیدن به آموزش شبکههای عصبی در نظر گرفته شدهاند.[۲۵]
بکارگیری FPGA[ویرایش]
محیطهای کاری یادگیری عمیق همچنان در حال تکامل و رشد هستند که باعث سخت شدن طراحی سختافزارهای تخصیص یافته شدهاست. دستگاههای با قابلیت تنظیم مجدد مانند آرایههای دروازه قابل برنامهریزی میدانی (FPGA)، تکامل سختافزارها، محیطهای کاری و نرمافزارها را در کنار یکدیگر آسانتر میکنند.[۲۶][۱۱][۲۷]
شرکت مایکروسافت نیز از تراشههای FPGA برای سرعت بخشیدن استنتاج بهره بردهاست.[۲۸]
ظهور شتابدهندههای تخصیص یافتهٔ هوش مصنوعی[ویرایش]
با اینکه که واحدهای پردازش گرافیکی و FPGA برای وظایف مرتبط با هوش مصنوعی عملکرد بسیار بهتری نسبت به CPUها دارند، اما همچنان ممکن است با طراحیهای خاص تر بازدهی ای تا ۱۰ برابر[۲۹][۳۰] از طریق یک مدار مجتمع مختص برنامه یا ASIC به دست آید.[نیازمند منبع]این شتابدهندهها از رویکردهایی مانند استفاده بهینه از حافظه[نیازمند منبع] یا انجام محاسبات با دقت محدودتر برای افزایش سرعت و توان عملیاتی محاسبات بهره میبرند.[۳۱] برخی از چارچوبهای ممیز شناور که با شتاب دهندگی هوش مصنوعی با دقت پایین استفاده میکنند، نیم-دقت و ممیز شناور bfloat16 هستند.[۳۲][۳۳][۳۴][۳۵][۳۶] شرکتهایی مانند گوگل، کوالکام، آمازون، اپل، فیس بوک، AMD و سامسونگ همگی در حال طراحی AI ASIC خود هستند.[۳۷][۳۸][۳۹][۴۰][۴۱][۴۲]
معماریهای محاسباتی درون حافظه ای[ویرایش]
در ژوئن ۲۰۱۷، پژوهشگران آیبیام معماری ای را بر خلاف معماری فون نیومن معرفی کردند که متکی بر محاسبات درون حافظه ای و آرایههای حافظهٔ تغییر فاز دهنده است که برای تشخیص همبستگی زمانی اعمال میشود و قصد توسعه رویکرد محاسبات ناهمگن و سیستمهای موازی حجیم را دارند.[۴۳]
همچنین در اکتبر ۲۰۱۸، محققان IBM معماری ای متکی بر پردازش درون حافظه ای و مدلسازی شده از شبکه سیناپسی مغز انسان را برای شتاب دهندگی به شبکههای عصبی عمیق معرفی کردند.[۴۴] این سیستم بر اساس آرایههای حافظهٔ تغییر فاز دهنده است.
محاسبات درون حافظه ای با حافظههای مقاومتی آنالوگ[ویرایش]
در سال ۲۰۱۹، محققان از مؤسسه Politecnico di Milano راه حلی از طریق یک عملیات واحد برای حل سیستمهای معادلات خطی در چند ده نانوثانیه یافتند. الگوریتم آنها متکی بر محاسبات درون حافظه ای با حافظههای مقاومتی آنالوگ بود که از طریق محاسبه ضرب ماتریس-بردار در یک گام با استفاده از قانون اهم و قانون کیرشهوف، کار میکرد که بازدهی بالایی در زمان و انرژی داشت.
پژوهشگران نشان دادند که یک مدار بازخوردی با حافظههای مقاومتی نقطه متقاطع میتواند مسائل جبری مانند سیستمهای معادلات خطی، بردارهای ویژه ماتریس و معادلات دیفرانسیل را تنها در یک گام حل کند. چنین رویکردی زمان مورد نیاز برای محاسبات را در مقایسه با الگوریتمهای دیجیتال به طرز چشمگیری کاهش میدهد.[۴۵]
نیمه رساناهای نازک اتمی[ویرایش]
در سال ۲۰۲۰ میلادی، Marega و همکارانش. آزمایشهایی را با یک ماده تونل فعال با مساحت بزرگ برای توسعه دستگاهها و مدارهای منطقی در حافظه بر اساس ترانزیستورهای اثر میدانی دروازه شناور (FGFET) معرفی کردند.[۴۶] چنین نیمه رساناهای نازک اتمی ای برای برنامههای پرکاربرد یادگیری ماشینی با انرژی کارا مورد استفاده قرار میگیرند، جایی که ساختار اصلی دستگاه برای عملیات منطقی و ذخیره دادهها استفاده میشود. این پژوهشگران مواد دو بعدی مانند دی سولفید مولیبدن که نیمه رسانا است را به کار گرفتند.[۴۶]
هسته مجتمع تانسور فوتونیک[ویرایش]
در سال ۲۰۲۱ میلادی، J. Feldmann و همکارانش، یک شتابدهنده سختافزاری فوتونیک مجتمع برای پردازش کانولوشنی موازی ارائه کردند.[۴۷] نویسندگان دو مزیت کلیدی فوتونیک مجتمع را نسبت به همتایان الکترونیکی آن مورد بررسی قرار دادند که آنها عبارتند از: (۱) انتقال انبوه داده موازی از طریق مالتی پلکسی تقسیم طول موج در ترکیب با شانههای فرکانسی، و (۲) سرعت تلفیق بسیار بالای دادهها.[۴۷] سیستم آنها میتواند تریلیونها عملیات انباشته چند برابری را در ثانیه پردازش کند که نشاندهنده پتانسیل فوتونیک مجتمع در برنامههای کاربردی هوش مصنوعی با دادههای حجیم است.[۴۷]
نامگذاری[ویرایش]
از سال ۲۰۱۶ میلادی، این زمینه هنوز در جریان است و فروشندگان، اصطلاح تجاری خود را برای معادل «شتابدهنده هوش مصنوعی» مطرح میکنند، به این امید که طرحها و APIهایشان به طرح غالب در این زمینه تبدیل شود. با وجود آنکه هیچ نقطه نظر مشترکی در مورد مرز بین این دستگاهها و همچنین شکل دقیق آنها وجود ندارد، اما چندین نمونه به جهت پر کردن این فضای جدید، با مقدار قابل توجهی از همپوشانی در قابلیتها، اختصاص یافتهاند.
در نهایت، زمانی که شتابدهندههای گرافیکی مصرفکننده روی کار آمدند، صنعت در نهایت اصطلاح به کار برده شده توسط شرکت Nvidia، یعنی "GPU"[۴۸] را به عنوان اسم جمع برای «شتابدهندههای گرافیکی» سط Direct3D، شکلهای مختلفی به خود گرفته بود.
کاربردهای بالقوه[ویرایش]
- رباتهای کشاورزی، به عنوان مثال کنترل علفهای هرز بدون علف کش.[۴۹]
- وسایل نقلیه خودمختار: انویدیا بردهای سری Drive PX خود را در این برنامه هدف قرار دادهاست.[۵۰]
- تشخیص به کمک کامپیوتر
- رباتهای صنعتی، با افزودن قابلیت انطباق به موقعیتهای متغیر، دامنه کارهایی را که میتوانند خودکار شوند را افزایش میدهند.
- ترجمه ماشینی
- روباتهای نظامی
- پردازش زبان طبیعی
- موتورهای جستجو، افزایش بهرهوری انرژی مراکز داده و توانایی استفاده از پرس و جو پیشرفته روزافزون.
- وسایل نقلیه هوایی بدون سرنشین، به عنوان مثال سیستمهای ناوبری، مثال دیگرMovidius Myriad 2 است که نشان داده شدهاست که با موفقیت هواپیماهای بدون سرنشین خودران را هدایت میکند.[۵۱]
- رابط کاربری صوتی، به عنوان مثال در تلفنهای همراه، هدف Qualcomm Zeroth.[۵۲]
جستارهای وابسته[ویرایش]
- کامپیوتر شناختی
- پردازنده یادگیری عمیق
- محاسبات نورومورفیک
- شبکه عصبی نوری
- شبکه عصبی فیزیکی
- ۰۲/۱۲/۲۲