تراشه های هوش مصنوعی چه هستند و چرا در سال 2021 اهمیت زیادی دارند؟
قبل از پرداخت به اهمیت تراشه های هوش مصنوعی باید به این نکته توجه شود که دهههاست هوش مصنوعی در دنیا وجود دارد، اما محدودیت دسترسی به مجموعههای کلاندادهها و نبود معماریهای محاسباتی مناسب، پیشرفتهای این فناوری را تا اندازه زیادی مهار کرده است. با اینحال موج جدید سرمایهگذاری در سختافزار هوش مصنوعی میتواند سرعت توسعه برنامهها را افزایش دهد.
ظهور یادگیری عمیق، ابر، معماری محاسبات موازی و رقابت برای دستیابی به قابلیتهای پیشرفته هوش مصنوعی مانند تشخیص گفتار، تصویر، فیلم و متن، باعث تسریع در تحقیقات هوش مصنوعی شده است و این امر باعث سرمایهگذاری بیشتر در این زمینه هم میشود.
یکی از لایههای موجود در فناوری مربوط به بخشهایی از هوش مصنوعی مانند ذخیرهسازی، حافظه، منطق و شبکه، سختافزار هوش مصنوعی و محاسبات شتابدهندهها است.
طبق مطالعات تقاضا برای تراشه های هوش مصنوعی و سختافزارهای مخصوص برنامههای آن بین 10 تا 15 درصد افزایش خواهد داشت و این یعنی تا سال 2025 میلادی بازاری 109 میلیارد دلاری برای سختافزارهای هوش مصنوعی ایجاد میشود. به دلیل رشد مداوم و در دسترس بودن دادهها و همچنین قدرت محاسبه و اکوسیستم توسعهدهنده، سازندگان تراشه در حال ساخت سختافزار هوش مصنوعی برای به دست آوردن 40 تا 50 درصد از کل ارزش پشته فناوری، بهترین فرصت دهههای اخیر زندگی خود را در اختیار دارند.
انواع سختافزار هوش مصنوعی
سختافزارهای قابل استفاده برای هوش مصنوعی امروزه عمدتاً از یک یا چند مورد زیر تشکیل شده است:
- CPU – واحدهای پردازش مرکزی
- GPU – واحدهای پردازش گرافیک
- FBGA – آرایههای دروازه قابل برنامهریزی میدانی
- ASIC – مدارهای مجتمع خاص برنامه
در ماشینهای مدرن پردازندههای چندهستهای قدرتمند برای پردازش موازی با سختافزار اختصاصی ترکیب شدهاند. GPU و FPGA سختافزار هوش مصنوعی محبوب، اختصاصی و رایج در سیستمهای هوش مصنوعی توسعهیافته در ایستگاههای کاری هستند. GPU تراشهای است که برای سرعت بخشیدن به پردازش دادههای چندبعدی، مانند تصویر طراحیشده است. پردازنده گرافیکی از هزاران هسته کوچکتر تشکیل شده که برای کار مستقل بر روی فضایی از دادههای ورودی که به محاسبات سنگین نیاز دارد، طراحی شده است. توابع تکراری که میتوانند بر روی قسمتهای مختلف ورودی اعمال شوند، مانند نگاشت بافت، چرخش تصویر و ترجمه و فیلتر کردن، با استفاده از GPU که دارای حافظه اختصاصی است، سریعتر و کارآمدتر انجام میشوند.
FPGA یک منطق دیجیتالی قابل تنظیم است که شامل مجموعهای از بلوکهای منطقی قابل برنامهریزی و یک سلسلهمراتب اتصال مجدد قابل تنظیم است. FPGA پردازنده نیست، درنتیجه نمیتواند یک برنامه ذخیرهشده در حافظه را اجرا کند. برای پیکربندی FPGA از یک زبان توصیف سختافزار (HDL) استفاده میشود و بر خلاف پردازنده مرکزی، این زبان توصیف سختافزار موازی است. یعنی یک بخش اختصاصی از تراشه به کار پردازش مستقلی اختصاص داده شده و این در حالی است که بسیاری از قسمتهای یک برنامه را میتوان بهطور همزمان اجرا کرد. همچنین یک FPGA معمولی ممکن است دارای بلوکهای حافظه اختصاصی، مدیر ساعت دیجیتال، بانکهای IO و چندین عملکرد دیگر باشد که در مدلهای مختلف متفاوت است. درحالیکه GPU برای عملکرد کارامل با موضوعات مشابه در زیرمجموعههای مختلف ورودی برنامهریزی شده، FPGA برای پردازش متوالی سریال و موازی همان برنامه طراحی شده است.
سرعت بیشتر با ترانزیستورها
تراشه های هوش مصنوعی مانند سایر پردازندههای هدف عمومی، با در اختیار داشتن تعداد زیادی ترانزیستور کوچکتر که با سرعت بیشتر کار میکنند و انرژی کمتری نسبت به ترانزیستورهای بزرگتر مصرف میکنند، سرعت و کارایی بیشتری پیدا میکنند. اما برخلاف پردازندههای مرکزی، تراشه های هوش مصنوعی دارای ویژگیهای طراحی دیگریاند که بهینهسازیشده هم هستند. این ویژگیها محاسبات مستقل، قابل پیشبینی و مورد نیاز الگوریتمهای هوش مصنوعی را به طرز چشمگیری تسریع میکنند. آنها عبارتاند از:
- انجام تعداد زیادی محاسبات موازی بهجای توالی
- محاسبه اعداد با دقت کم به روشی که الگوریتمهای هوش مصنوعی را با موفقیت پیادهسازی کند، اما تعداد ترانزیستورهای مورد نیاز برای محاسبه مشابه را کاهش دهد
- افزایش سرعت دسترسی به حافظه با ذخیره کل الگوریتم هوش مصنوعی در یک تراشه هوش مصنوعی
- استفاده از زبانهای برنامهنویسی مخصوص ساخته شده برای ترجمه مؤثر کد رایانه هوش مصنوعی برای اجرا در تراشه هوش مصنوعی
انواع مختلف تراشه های هوش مصنوعی برای کارهای مختلف مفید هستند. GPUها معمولاً برای توسعه اولیه و اصلاح الگوریتمهای هوش مصنوعی استفاده میشوند. این فرایند بهعنوان «آموزش» شناخته میشود. FPGA بیشتر برای اعمال الگوریتم آموزشدیده هوش مصنوعی در ورودی دادههای دنیای واقعی استفاده میشود و این اغلب بهعنوان «استنباط» شناخته میشود. ASICها را میتوان برای آموزش یا استنباط طراحی کرد.
چرا برای هوش مصنوعی به تراشههای پیشرفته هوش مصنوعی نیاز داریم؟
تراشه های هوش مصنوعی به دلیل ویژگیهای منحصربهفرد خود دهها یا حتی هزاران برابر سریعتر و کارآمدتر از آموزش و الگوریتمهای هوش مصنوعی برای CPUها هستند. تراشههای پیشرفته هوش مصنوعی به دلیل کارایی بیشتر برای الگوریتمهای هوش مصنوعی نسبت به پردازندههای پیشرفته به شکل قابلتوجهی مقرونبهصرفه هستند. تراشه هوش مصنوعی هزار برابر مؤثرتر از CPU پیشرفتی معادل 26 سال پیشرفت در CPUاست.
سیستمهای پیشرفته هوش مصنوعی بهغیر از تراشههای اختصاصی هوش مصنوعی به تراشههای پیشرفته هوش مصنوعی هم نیاز دارند. تراشه های هوش مصنوعی قدیمیتر با ترانزیستورهای بزرگتر، کندتر و پرمصرفتر، هزینههای هنگفتی را در مصرف انرژی متحمل میشوند. در نتیجه استفاده از تراشه های هوش مصنوعی قدیمی امروزه به معنای هزینههای کلی و البته کندی بیشتر است.
این پویایی هزینه و سرعت، توسعه و استقرار الگوریتمهای پیشرفته هوش مصنوعی را بدون وجود تراشههای پیشرفته هوش مصنوعی تقریباً غیرممکن میکند. حتی با پیشرفتهترین تراشه های هوش مصنوعی هم آموزش یک الگوریتم هوش مصنوعی دهها میلیون دلار هزینه دارد و تکمیل آن هفتهها به طول میانجامد.
بررسی فناوریهای مرتبط با تراشه هوش مصنوعی
* ویدئو/تصویر: تشخیص چهره، تشخیص اشیاء، تولید تصویر، آنالیز ویدئو، ممیزی محتوای ویدئو، زیباسازی تصویر، جستجو بر اساس تصویر، واقعیت افزوده.
* صدا و گفتار: تشخیص گفتار، تلفیق زبان، بیدار شدن از خواب، تشخیص اثر صدا، تولید موسیقی، جعبه صدای هوشمند، پیمایش هوشمند.
* پردازش زبان طبیعی: تجزیهوتحلیل متن، ترجمه زبان، ارتباط انسان و ماشین، درک مطلب، سیستم توصیهگر.
* کنترل: خلبان اتوماتیک، پهپاد، رباتیک، اتوماسیون صنعتی.
* توپولوژی شبکه عصبی: پرسپترون چندلایه (MLP)، شبکه عصبی کانولوشن (CNN)، شبکه عصبی عودکننده (RNN)، حافظه کوتاهمدت بلندمدت (LSTM)، شبکه عصبی سنبلهدار.
* شبکههای عصبی عمیق: AlexNet، ResNet، VGGNet، GoogLeNet.
* الگوریتمهای شبکهعصبی: انتشار عقب، یادگیری انتقالی، یادگیری تقویتی، یادگیری یکضربهای، یادگیری خصمانه، ماشین تورینگ عصبی، STDP.
* الگوریتمهای یادگیری ماشین: ماشین بردار پشتیبان (SVM)، نزدیکترین همسایه K، بیزی، درخت تصمیم، زنجیره مارکوف، جایگزینی کلمات و Adaboost.
* بهینهسازی تراشه: بهینهسازی در بهرهوری، کممصرفی، سرعت بالا، انعطافپذیری.
* تراشه نورومورفیک: محاسبات مغزی، تحریک بیولوژیکی مغز، شبیهسازی مکانسیم مغز.
* تراشههای قابل برنامهریزی: انعطافپذیری، قابل برنامهنویسی بودن، سازگاری الگوریتم و سازگاری نرمافزار مانند GPU، DSP و FPGA
* معماری سیستم روی تراشه: چندهستهای، SIMD، آرایه واحدهای حسابی، رابط حافظه، شبکه روی تراشه، اتصال چند تراشه، رابط حافظه، کانالهای ارتباطی، حافظه پنهان چندسطحی.
* توسعه زنجیره ابزار: رابط کتابخانه با Deep Frameworks (Tensorflow , Caffe)، کامپایلر، شبیهساز، بهینهساز (اندازهگیری، هرس)، عملیات اتمی (لایههای شبکه).
* پهنای باند حافظه خارج از تراشه: DRAM، HBM، GDDR پرسرعت، LPDDR، STT-MRAM.
* رابط پرسرعت: SerDes، ارتباطات نوری.
* دستگاههای Bionic (سیناپس مصنوعی، نورون مصنوعی): ممریستورها.
* دستگاههای جدید محاسباتی: محاسبات آنالوگ، محاسبات حافظه.
* حافظه روی تراشه (آرایه سیناپتیک): توزیع PCRAM، ReRAM، SRAM و غیره.
* فرایند CMOS: گروه فرایند (16، 7، 5 نانومتر)
* انباشت CMOS سهبعدی: 2.5D IC/SiP، تکنولوژی انباشت سهبعدی، مونولیتیک سهبعدی و غیره.
* تکنولوژیهای جدید: 3D NAND، Flash Tunneling FETs، FETs، FeFET، FinFET.
عدم قطعیت در تراشه های هوش مصنوعی
در حالحاضر تراشه های هوش مصنوعی هنوز در مرحله ابتدایی هستند و عدم قطعیتهای زیادی در آنها وجود دارد. بااینحال، تحقیقات پیرامون تراشه های هوش مصنوعی پیشرفت چشمگیری در یادگیری ماشین مبتنی بر یک شبکه عصبی دارند که در برخی از مسائل فشرده رایانهای برتر از هوش انسان است. بااینحال، وقتی که میخواهیم مشکلات شناختی را حل کنیم، اگر قرار باشد از هوش مصنوعی استفاده کنیم، هنوز راهی طولانی پیش رو داریم. درواقع برای این کار توانایی محاسبات ایدهآل AGI و بهرهوری انرژی باید حداقل چندین مرتبه بیشتر از تراشه های هوش مصنوعی امروزی باشد.