زیرساختهای هوش مصنوعی؛ نقش GPU چیست؟
چندین دهه از ظهور هوش مصنوعی میگذرد؛ با این حال تا همین اواخر، دسترسی محدود به زیرساختهای محاسباتی مناسب برای دادههای کلان از موانع پیشرفت بیشتر این حوزه بود. در حال حاضر، کسبوکارها و مدیران اجرایی فناوری اطلاعات سرمایهگذاریهای قابلتوجهی در زمینهی فناوریهای مرتبط با هوش مصنوعی انجام میدهند. هوش مصنوعی بهسرعت در حال تسخیر حوزههای مختلف است؛ تا جایی که انتظار میرود بهزودی سازمانها برای ایجاد استراتژی مؤثرتر و کارآمدتر در سطوح کلان از هوش مصنوعی بهره ببرند.
به همین دلیل، متخصصان به برخی از جنبههای کلیدی هوش مصنوعی ارزش و اهمیت ویژهای میدهند و در حال تلاش برای گستردهتر کردن زیرساختهای لازم برای آن هستند. هزینهی زیرساختهای لازم برای هوش مصنوعی از مهمترین عواملی است که متخصصان را وادار کرده به دنبال پیدا کردن راهکارهای اقتصادیتر و رقابتیتر باشند.
انواع سختافزارهای هوش مصنوعی
سختافزارهای استفاده شده در هوش مصنوعی امروز عمدتا شامل یک یا چند نمونهی زیر هستند؛
CPU- واحدهای پردازش مرکزی
GPU- واحدهای پردازش گرافیک
FPGA- آرایههای دروازهای قابل برنامهریزی میدانی
ASIC- مدارهای مجتمع خاص برنامه
ماشینهای مدرن با استفاده از ترکیب CPU های چندهستهای قدرتمند، میتوانند با سختافزار اختصاصی پردازش موازی انجام دهند. GPU و FPGA سختافزارهایی محبوب و اختصاصی در سیستمهای هوش مصنوعی هستند. FPGA پردازنده نیست، بنابراین نمیتواند برنامهی ذخیرهشده را در حافظه اجرا کند. در مقابل، GPU تراشهای است که برای سرعت بخشیدن به پردازش دادههای چندبعدی مانند تصویر طراحی شده است. عملکردهای تکراری که باید روی قسمتهای مختلف ورودی مانند نقشهبرداری بافت، چرخش تصویر، ترجمه و… اعمال شوند، با استفاده از GPU که حافظهی اختصاصی دارد، بسیار کارآمدتر انجام میشود.
واحدهای پردازش گرافیک یا GPU سختافزار تخصصی است که بهطور فزایندهای در پروژههای یادگیری ماشین استفاده میشود. از سال ۲۰۱۶، استفاده از پردازندههای گرافیکی برای هوش مصنوعی بهسرعت در حال رشد هستند. این پردازندهها در تسهیل یادگیری عمیق، آموزش و خودروهای اتوماتیک کاربرد زیادی داشتهاند.
پردازندههای گرافیکی بهطور فزایندهای برای شتابگیری هوش مصنوعی به کار میروند؛ به همین دلیل، تولیدکنندگان GPU سعی دارند از سختافزارهای مخصوص شبکهی عصبی برای افزایش روند توسعه و پیشرفت این حوزه استفاده کنند. شرکتهای بزرگ توسعهدهندهی GPU، مانند Nvidia NVLink، سعی دارند قابلیتهای این پردازندهها را برای انتقال حجم دادههای بیشتر، افزایش دهند.
زیرساختهای لازم برای هوش مصنوعی
ظرفیت ذخیرهسازی بالا، زیرساختهای شبکهای و امنیت از مهمترین زیرساختهای لازم برای هوش مصنوعی هستند. در این میان عامل مهم و تعیینکنندهی دیگری هم وجود دارد؛ ظرفیت بالای محاسبات. برای استفادهی کامل و بهینه از فرصتهای ارائهشده توسط هوش مصنوعی، سازمانها به منابعی برای محاسبهی کارآمد عملکرد نیاز دارند، مانند CPU و GPU. محیطهای مبتنی بر CPU میتوانند برای بارهای اولیهی هوش مصنوعی مناسب باشند. اما یادگیری عمیق شامل مجموعهای از دادههای بزرگ متعدد و همچنین الگوریتمهای مقیاسپذیر شبکهی عصبی است. به همین دلیل است که در چنین شرایطی، CPU ممکن است عملکرد ایدئالی نداشته باشد. در مقابل، GPU میتواند یادگیری عمیق را در مقایسه با CPU تا ۱۰۰ برابر تسریع کند. از این گذشته، ظرفیت و تراکم محاسبات هم افزایش پیدا میکند و تقاضا برای شبکههای با کارایی بهتر و فضای ذخیرهسازی بیشتر افزایش پیدا میکند.
تراشههای هوش مصنوعی با ترکیب تعداد زیادی ترانزیستور کوچک کار میکنند که نسبت به ترانزیستورهای بزرگتر سرعت و کارایی بسیار بیشتری دارند. تراشههای هوش مصنوعی باید ویژگیهای خاصی داشته باشند؛
- انجام تعداد زیادی محاسبات بهطور موازی
- محاسبهی اعداد با دقت پایین، اما موفقیتآمیز برای الگوریتمهای هوش مصنوعی
- دسترسی آسان و سریع به حافظه با ذخیرهی کل الگوریتم هوش مصنوعی در یک تراشهی واحد
- استفاده از زبانهای برنامهنویسی ویژه برای ترجمهی مؤثر کدها برای اجرا روی تراشهی هوش مصنوعی
انواع تراشههای هوش مصنوعی برای وظایف مختلف کاربرد دارند. GPU ها بیشتر برای توسعهی اولیه و اصلاح الگوریتمهای هوش مصنوعی استفاده میشوند. FPGA بیشتر برای استفاده از الگوریتمهای هوش مصنوعی در ورودی دادههای دنیای واقعی کاربرد دارد. ASIC ها را هم میتوان برای آموزش یا نتیجهگیری به کار گرفت.
مقایسهی GPU و CPU بهعنوان دو زیر ساخت ضروری
– CPU ها چند هستهی پیچیده دارند که با تعداد کمی رشتهی محاسباتی بهطور متوالی کار میکنند. در حالی که GPU ها تعداد زیادی هستهی ساده دارند و میتوانند از طریق هزاران رشتهی محاسبه، بهطور موازی و همزمان محاسبات را انجام دهند.
– در یادگیری عمیق، کد میزبان روی CPU و کد CUDA روی GPU اجرا میشود.
– برخلاف CPU ها، GPU وظایف پیچیدهتری مانند پردازش گرافیکی سهبعدی، محاسبات برداری و… را بهتر و سریعتر انجام میدهد.
– CPU میتواند کارهای پیچیدهی بهینه و طولانی را انجام دهد، اما GPU ممکن است با مشکل پهنای باند کم مواجه باشد. یعنی انتقال مقدار زیادی داده به GPU ممکن است کند باشد.
پهنای باند بالا، تأخیر کم و امکان برنامهنویسی باعث میشود GPU بسیار سریعتر از CPU باشد. به این ترتیب میتوان از CPU برای آموزش مدلی که دادهها نسبتا کوچک هستند، استفاده کرد. GPU برای آموزش سیستمهای یادگیری عمیق در بلند مدت و برای مجموعههای داده بسیار بزرگ مناسب است. CPU میتواند یک مدل یادگیری عمیق را بهآرامی آموزش دهد؛ در حالی که GPU آموزش مدل را تسریع میکند.
GPU در اصل برای پیادهسازی خطوط گرافیکی طراحی شده بود. بنابراین، هزینهی محاسباتی استفاده از مدلهای یادگیری عمیق بسیار بالاست. گوگل از ابتکاری جدید به نام TPU (واحد پردازش تنسور) رونمایی کرده و قصد دارد معایب GPU را بهبود دهد. هستههای تنسور برای افزایش سرعت به آموزش شبکههای عصبی در نظر گرفته شده است.
بر اساس مطالعات انجام شده، تقاضا برای چیپستهای هوش مصنوعی تا سال ۲۰۲۵ حدود ۱۰ تا ۱۵ درصد افزایش پیدا میکند. با وجود قدرت محاسباتی، اکوسیستم توسعه و در دسترس بودن دادهها، تولیدکنندگان تراشه میتوانند تولید سختافزارهای لازم هوش مصنوعی را ۴۰ تا ۵۰ درصد افزایش دهند؛ و این دورانی طلایی طی چند دههی اخیر به شمار میآید.