GPU؛ دلیلی برای اجرای برنامه‌های یادگیری ماشین با استفاده از پردازش ابری

سه‌شنبه ۲۲ فروردین ۱۳۹۶ - ۱۷:۳۰
مطالعه 4 دقیقه
اجرای برنامه‌های یادگیری ماشین نیاز به توان پردازشی بالایی دارد و سرویس‌های پردازش ابری این توان پردازشی را با استفاده از GPU‌ فراهم می‌کنند.
تبلیغات

بزرگ‌ترین ارائه‌دهندگان سرویس‌های پردازش ابری می‌خواهند شما داده‌های زیادی روی سرویس‌های آن‌ها ذخیره و با آن‌ها برنامه‌های یادگیری ماشین اجرا کنید. آن‌ها علاوه بر ارائه‌ی سرویس‌های پردازشی و ذخیره‌ی اطلاعات با قیمت مناسب، سعی دارند با استفاده از جدیدترین تکنولوژی‌های GPU مشتریان بیشتری جذب کنند.

چرا ناگهان چنین عجله‌ای برای استفاده از GPU‌ در سرویس‌های ابری وجود دارد؟ جواب ساده است: اوج گرفتن یادگیری ماشین. آمازون. گوگل، آی‌بی‌ام و مایکروسافت می‌خواهند شما از سرویس آن‌ها برای ذخیره، پردازش و آنالیز داده استفاده کنید.

هفته‌ی گذشته آی‌بی‌ام اعلام کرد که پلتفرم زیرساخت-به عنوان-یک-سرویس (IaaS) این شرکت از آخرین GPU انویدیا با نام تسلا P100 پشتیبانی می‌کند. در ترکیب با CPU، این پلتفرم وعده می‌دهد که عملکردی بی‌رقیب برای پردازش و آنالیز میزان عظیمی از داده فراهم آورد. آی‌بی‌ام یکی از اولین شرکت‌هایی است که از جدیدترین تکنولوژی GPU انویدیا در سرویس ابری خود بهره می‌برد.

در سال ۲۰۱۰،‌ آمازون مدل مبتنی بر GPU سرویس EC2 Cluster را معرفی کرد که از تسلا M2050s انویدیا بهره می‌برد. این اولین بار بود که توسعه‌دهندگان در سرویس ابری به GPU دسترسی داشتند. آمازون به‌مرور مدل‌های دیگری از GPU را به خانواده EC2 اضافه کرد. جدیدترین عضو EC2 که در سه نسخه عرضه می‌شود، از GPU‌-های K80 انویدیا بهره می‌برد. کاربران قادر خواهند بود ماشین‌های مجازی با ۱۶ GPU و ۱۹۲ گیگابایت رم اجرا کنند.

مایکروسافت نیز چندان در استفاده از GPU در اژور عقب نیست. ماشین‌های مجازی مایکروسافت که در دو نسخه NC و NV عرضه می‌شوند، دارای قابلیت‌های منحصربه‌فردی برای اجرای برنامه‌های هوش مصنوعی، تصویرسازی سه‌بعدی و تحقیقات پزشکی هستند؛ برنامه‌هایی که نیاز به توان پردازشی بالا دارند. مشتریان NC برای اجرای برنامه‌های یادگیری عمیق، شبیه‌سازی سنگین، رندر کردن، تحلیل داده‌ی هم‌زمان و تجزیه و تحلیل دی‌ان‌ای از این نوع ماشین مجازی استفاده می‌کنند. ماشین‌های مجازی NV برای کارهای تجسمی مانند رندر کردن ویدئو استفاده می‌شوند. NC و NV به ترتیب از GPU‌-های K80 و M60 تسلا استفاده می‌کنند.

انویدیا

گوگل نیز با استفاده از Compute Engine ماشین‌های مجازی مبتنی بر GPU ارائه می‌دهد. این ماشین‌ها در حال حاضر در مرحله‌ی آزمایشی هستند و کاربران قادر خواهند بود ماشین‌های مجازی مبتنی بر GPU‌ تسلا K80 اجرا کنند. به‌زودی پشتیبانی از FirePro ای‌ام‌دی و تسلا P1000 انویدیا افزوده می‌شود.

علاوه بر استفاده از GPU‌ انویدیا و ای‌ام‌دی، گوگل TPU‌ ساخت خودش را برای اجرای برنامه‌های یادگیری عمیق استفاده می‌کند. بسیاری از محصولات و سرویس‌های گوگل در حال حاضر از TPU استفاده می‌کنند. TPU به‌زودی برای اجرای برنامه‌های یادگیری عمیق و یادگیری ماشین در اختیار کاربران قرار خواهد گرفت.

تی پی یو

GPU چه اثری بر یادگیری ماشین خواهد داشت؟ GPU زمان پردازش داده‌های زیاد را از چند هفته به چند ساعت کاهش می‌دهد. به‌طور معمول، CPU‌ به‌گونه‌ای ساخته شده‌ است تا دستورالعمل‌های پشت سرهم را اجرا کند. از طرف دیگر، GPU‌ دستورالعمل‌ها را به‌صورت موازی اجرا می‌کند و به‌اندازه‌ی CPU قدرتمند نیست؛‌ اما ارزان‌تر و سریع‌تر به حافظه دسترسی پیدا می‌کند. همان‌گونه که می‌توان با استفاده از سرورهای ارزان، کارهای Map Reduce را با استفاده از Hadoop انجام داد، می‌توان از هسته‌های متعدد GPU برای پردازش موازی استفاده کرد. از آنجایی که کارهای یادگیری ماشین و یادگیری عمیق نیاز به انجام عملیات با استفاده از بردار و ماتریس‌ دارند، GPU‌ قادر خواهد بود داده‌ها را تقسیم و آن‌ها را به‌صورت موازی پردازش کند. این همان دلیلی است که پی‌سی‌های بازی رده‌بالا از GPU استفاده می‌کنند. رندر ویدئو با کیفیت بالا و پردازش گرافیک سریع نیاز به اجرای عملیات موازی دارد. ترکیبی از CPU و GPU بهترین عملکرد را برای تکامل مدل‌های یادگیری ماشین ایجاد می‌کند.

ساختن کلاسترهای فیزیکی با استفاده از GPU‌ برای اجرای برنامه‌های یادگیری عمیق به‌طور کمرشکنی گران است. افراد آکادمیک و دانشمندان داده برای ساخت ماشین‌های مجازی منعطف به سرویس‌های ابری عمومی روی آورده‌اند. آن‌ها دریافته‌اند که پرداخت-در-صورت-استفاده و دسترسی سریع باعث می‌شود این مدل از نظر اقتصادی به‌صرفه باشد و بازدهی بیشتری داشته باشد.

استفاده از GPU در سرویس ابری عمومی روند رو به رشدی است که تازه آغاز شده است. در سال‌های آینده، نوآوری‌های سخت‌افزاری زیادی خواهیم دید که برای پاسخ دادن به نیازهای مرتبط با برنامه‌های یادگیری ماشین و یادگیری عمیق به وجود آمده‌اند.

تبلیغات
داغ‌ترین مطالب روز

نظرات

تبلیغات