زیرساخت های هوش مصنوعی؛ نقش GPU چیست؟
به گزارش دور زمین، چندین دهه از ظهور هوش مصنوعی می گذرد؛ با این حال تا همین اواخر، دسترسی محدود به زیرساخت های محاسباتی مناسب برای داده های کلان از موانع پیشرفت بیشتر این حوزه بود. در حال حاضر، کسب وکارها و مدیران اجرایی فناوری اطلاعات سرمایه گذاری های قابل توجهی در زمینه فناوری های مرتبط با هوش مصنوعی انجام می دهند. هوش مصنوعی به سرعت در حال تسخیر حوزه های مختلف است؛ تا جایی که انتظار می رود به زودی سازمان ها برای ایجاد استراتژی مؤثرتر و کارآمدتر در سطوح کلان از هوش مصنوعی بهره ببرند.
به همین علت، متخصصان به بعضی از جنبه های کلیدی هوش مصنوعی ارزش و اهمیت ویژه ای می دهند و در حال کوشش برای گسترده تر کردن زیرساخت های لازم برای آن هستند. هزینه زیرساخت های لازم برای هوش مصنوعی از مهم ترین عواملی است که متخصصان را وادار نموده در پی پیدا کردن راه کارهای مالی تر و رقابتی تر باشند.
انواع سخت افزارهای هوش مصنوعی
سخت افزارهای استفاده شده در هوش مصنوعی امروز عمدتا شامل یک یا چند نمونه زیر هستند؛
CPU- واحدهای پردازش مرکزی
GPU- واحدهای پردازش گرافیک
FPGA- آرایه های دروازه ای قابل برنامه ریزی میدانی
ASIC- مدارهای مجتمع خاص برنامه
ماشین های مدرن با استفاده از ترکیب CPU های چندهسته ای قدرتمند، می توانند با سخت افزار اختصاصی پردازش موازی انجام دهند. GPU و FPGA سخت افزارهایی محبوب و اختصاصی در سیستم های هوش مصنوعی هستند. FPGA پردازنده نیست، بنابراین نمی تواند برنامه ذخیره شده را در حافظه اجرا کند. در مقابل، GPU تراشه ای است که برای سرعت بخشیدن به پردازش داده های چندبعدی مانند تصویر طراحی شده است. عملنمودهای تکراری که باید روی قسمت های مختلف ورودی مانند نقشه برداری بافت، چرخش تصویر، ترجمه و… اعمال شوند، با استفاده از GPU که حافظه اختصاصی دارد، بسیار کارآمدتر انجام می گردد.
واحدهای پردازش گرافیک یا GPU سخت افزار تخصصی است که به طور فزاینده ای در پروژه های یادگیری ماشین استفاده می گردد. از سال 2016، استفاده از پردازنده های گرافیکی برای هوش مصنوعی به سرعت در حال رشد هستند. این پردازنده ها در تسهیل یادگیری عمیق، آموزش و خودروهای اتوماتیک کاربرد زیادی داشته اند.
پردازنده های گرافیکی به طور فزاینده ای برای شتاب گیری هوش مصنوعی به کار می فرایند؛ به همین علت، فراورینمایندگان GPU سعی دارند از سخت افزارهای مخصوص شبکه عصبی برای افزایش فرایند توسعه و پیشرفت این حوزه استفاده نمایند. شرکت های بزرگ توسعه دهنده GPU، مانند Nvidia NVLink، سعی دارند قابلیت های این پردازنده ها را برای انتقال حجم داده های بیشتر، افزایش دهند.
زیرساخت های لازم برای هوش مصنوعی
ظرفیت ذخیره سازی بالا، زیرساخت های شبکه ای و امنیت از مهم ترین زیرساخت های لازم برای هوش مصنوعی هستند. در این میان عامل مهم و مشخص نماینده دیگری هم وجود دارد؛ ظرفیت بالای محاسبات. برای استفاده کامل و بهینه از فرصت های ارائه شده به وسیله هوش مصنوعی، سازمان ها به منابعی برای محاسبه کارآمد عملکرد احتیاج دارند، مانند CPU و GPU. محیط های مبتنی بر CPU می توانند برای بارهای اولیه هوش مصنوعی مناسب باشند. اما یادگیری عمیق شامل مجموعه ای از داده های بزرگ متعدد و بعلاوه الگوریتم های مقیاس پذیر شبکه عصبی است. به همین علت است که در چنین شرایطی، CPU ممکن است عملکرد ایدئالی نداشته باشد. در مقابل، GPU می تواند یادگیری عمیق را در مقایسه با CPU تا 100 برابر تسریع کند. از این گذشته، ظرفیت و تراکم محاسبات هم افزایش پیدا می نماید و تقاضا برای شبکه های با کارایی بهتر و فضای ذخیره سازی بیشتر افزایش پیدا می نماید.
تراشه های هوش مصنوعی با ترکیب تعداد زیادی ترانزیستور کوچک کار می نمایند که نسبت به ترانزیستورهای بزرگ تر سرعت و کارایی بسیار بیشتری دارند. تراشه های هوش مصنوعی باید ویژگی های خاصی داشته باشند؛
- انجام تعداد زیادی محاسبات به طور موازی
- محاسبه اعداد با دقت پایین، اما موفقیت آمیز برای الگوریتم های هوش مصنوعی
- دسترسی آسان و سریع به حافظه با ذخیره کل الگوریتم هوش مصنوعی در یک تراشه واحد
- استفاده از زبان های برنامه نویسی ویژه برای ترجمه مؤثر کدها برای اجرا روی تراشه هوش مصنوعی
انواع تراشه های هوش مصنوعی برای وظایف مختلف کاربرد دارند. GPU ها بیشتر برای توسعه اولیه و اصلاح الگوریتم های هوش مصنوعی استفاده می شوند. FPGA بیشتر برای استفاده از الگوریتم های هوش مصنوعی در ورودی داده های دنیای واقعی کاربرد دارد. ASIC ها را هم می توان برای آموزش یا نتیجه گیری به کار گرفت.
مقایسه GPU و CPU به عنوان دو زیر ساخت ضروری
- CPU ها چند هسته پیچیده دارند که با تعداد کمی رشته محاسباتی به طور متوالی کار می نمایند. در حالی که GPU ها تعداد زیادی هسته ساده دارند و می توانند به وسیله هزاران رشته محاسبه، به طور موازی و هم زمان محاسبات را انجام دهند.
- در یادگیری عمیق، کد میزبان روی CPU و کد CUDA روی GPU اجرا می گردد.
- برخلاف CPU ها، GPU وظایف پیچیده تری مانند پردازش گرافیکی سه بعدی، محاسبات برداری و… را بهتر و سریع تر انجام می دهد.
- CPU می تواند کارهای پیچیده بهینه و طولانی را انجام دهد، اما GPU ممکن است با مشکل پهنای باند کم روبرو باشد. یعنی انتقال اندازه زیادی داده به GPU ممکن است کند باشد.
پهنای باند بالا، تأخیر کم و امکان برنامه نویسی باعث می گردد GPU بسیار سریع تر از CPU باشد. به این ترتیب می توان از CPU برای آموزش مدلی که داده ها نسبتا کوچک هستند، استفاده کرد. GPU برای آموزش سیستم های یادگیری عمیق در بلند مدت و برای مجموعه های داده بسیار بزرگ مناسب است. CPU می تواند یک مدل یادگیری عمیق را به آرامی آموزش دهد؛ در حالی که GPU آموزش مدل را تسریع می نماید.
GPU در اصل برای پیاده سازی خطوط گرافیکی طراحی شده بود. بنابراین، هزینه محاسباتی استفاده از مدل های یادگیری عمیق بسیار بالاست. گوگل از ابتکاری تازه به نام TPU (واحد پردازش تنسور) رونمایی نموده و میخواهد معایب GPU را بهبود دهد. هسته های تنسور برای افزایش سرعت به آموزش شبکه های عصبی در نظر گرفته شده است.
بر اساس مطالعات صورت گرفته، تقاضا برای چیپ ست های هوش مصنوعی تا سال 2025 حدود 10 تا 15 درصد افزایش پیدا می نماید. با وجود قدرت محاسباتی، زیست بوم توسعه و در دسترس بودن داده ها، فراورینمایندگان تراشه می توانند فراوری سخت افزارهای لازم هوش مصنوعی را 40 تا 50 درصد افزایش دهند؛ و این دورانی طلایی طی چند دهه اخیر به شمار می آید.
منبع: دیجیکالا مگ