ابزار و کتابخانه هااخبار و مقالات

انویدیا، RAPIDS وتحولی نوین در پردازش داده

شرکت معروف انویدیا (nvidia) که در حوزه کارت‌های گرافیک، سابقه‌ای دیرینه دارد، سالهاست که که در حوزه پردازش‌های داده به کمک GPU ها یا همان واحدهای پردازش گرافیک هم  فعال است که ماحصل آن، ایجاد کتابخانه برنامه نویسی کودا (CUDA) برای استفاده از توان پردازنده‌های گرافیکی برای محاسبات و برنامه‌های عمومی و عرضه آن به بازار از سال ۲۰۰۷ است .

معماری اجرای موازی  و همزمان کد بر روی داده‌های مختلف  (یک دستور/چند داده یا همان SIMD) که برای کارهای گرافیکی که عملیات یکسانی باید به سرعت بر روی پیکسل‌های تصویر به صورت همزمان انجام گیرد، پردازنده‌های گرافیکی را برای محاسبات ریاضی و اخیرا برای حوزه‌های هوش مصنوعی و پردازش داده نیز جذاب کرده است.

شرکت انویدیا با بهره‌گیری از آپاچی پیکان (Apache Arrow) به عنوان بستر تحلیل داده در حافظه و توزیع آن در یک شبکه، که امروزه نقش مهمی در پروژه‌های پردازش داده دنیا و استارتاپ‌هایی مانند Dremio ایفا می‌کند و به کمک کتابخانه کودا که امروزه به نسخه ۱۰ خود رسیده است، کتابخانه جدیدی با نام RAPIDS‌ روانه بازار کرده است که تمامی عملیات کلاسیک پردازش داده را به کمک پردازند‌ه‌های گرافیکی و توان محاسباتی بالای آنها میسر کرده است .

لوگوی RAPIDS که ترکیب RAPID+DS را تداعی می‌کند

انویدیا با تشکیل یک گروه کاری از برخی از  بازیکنان اصلی حوزه پردازش داده مانند شرکت آناکوندا (توزیع معروف پایتون) ، دیتابریکز (حامی و توسعه دهنده اصلی اسپارک)، MAPR‌ (یکی از توزیع‌کنندگان اصلی نسخه‌های سفارشی هدوپ)، توسعه‌دهندگان پای‌ترچ (یکی از کتابخانه‌های مطرح حوزه یادگیری عمیق)، IBM، اوبر (یکی از شرکتهای اصلی حوزه حمل و نقل آنلاین)، والمارت  و Scikit-Learn (کتابخانه اصلی یادگیری ماشین پایتون) و چند شرکت دیگر حدود ۱۸ ماه بر روی پروژه‌ای کار کردند با هدف استفاده از توان محاسباتی بالای پردازنده‌های گرافیکی در علم داده و ساخت خطوط پردازش داده سریعتر که نهایتا خروجی آن، منجر به پروژه متن‌باز RAPIDS گشت.  امروزه می‌توان علاوه بر پردازش‌های معمولی و آزمایش بر روی داده‌ها، پردازش کلان‌داده را هم به کمک این کتابخانه جدید و با ساختاری مشابه با پردازش‌های معمول داده‌ در پایتون  انجام داد.

شرکتهای همکار با انویدیا در تولید RAPIDS
شرکتهای همکار با انویدیا در تولید RAPIDS

رابط اصلی کار با کتابخانه RAPIDS ‌  زبان پایتون است که نکته بسیار مثبت این امر این است که با کتابخانه‌های اصلی پایتون مانند Pandas‌ و ساختمان داده اصلی آن یعنی Dataframe ها هم کاملا منطبق است. یعنی می‌توان کدهای موجود پردازش داده با پایتون و حتی اسپارک را به راحتی با این کتابخانه پردازش کرد و سرعت تحلیل و آماده سازی داده‌ها را بالا برد. تصویر زیر نمونه‌ای از برنامه‌های نوشته شده با RAPIDS را نشان می‌دهد :

نمونه‌ای از کدهای پردازش داده با RAPIDS
نمونه‌ای از کدهای پردازش داده با RAPIDS

در وبلاگ رسمی انویدیا، یک مثال عملی خواندن و تحلیل ۴۰۰ گیگابایت اطلاعات وام مسکن و وضعیت رهن آنها با کمک این کتابخانه پیاده سازی شده است و نتایج آن بر روی دو نوع سرور معمولی انویدیا ( یک سرور DGX-2‌ و یا پنج سرور DGX-1 ) که دارای کارت گرافیک‌های قوی این شرکت هستند در مقایسه با پردازش مبتنی بر CPU، بهبودی فوق‌العاده را نشان می دهد.

مقایسه عملکرد RAPIDS با اجرای یک پروژه پردازش داده
مقایسه عملکرد RAPIDS با اجرای یک پروژه پردازش داده

شکل زیر خروجی تصویرسازی از این ۴۰۰ گیگابایت داده بوده با این کتابخانه است که در عرض چند دقیقه صورت گرفته است و در مقایسه با زمان یک یا دوساعتی که برای ۲۰ تا ۱۰۰ سی‌پی یو طول کشیده است، زمان بسیار دلگرم‌کننده‌ای است :

نمونه‌ای از خروجی تهیه شده توسط کتابخانه RAPIDS
نمونه‌ای از خروجی تهیه شده توسط کتابخانه RAPIDS

هدف گذاری اصلی این کتابخانه در سه حوزه پیش پردازش، مدلسازی و اعمال الگوریتم‌های یادگیری ماشین و نیز تصویرسازی داده هاست که برای نیل به این مقصود، از کتابخانه‌های متناظر پردازش گراف، یادگیری ماشین، تحلیل دیتافریم‌ها، یادگیری عمیق و تصویرسازی اختصاصی بهره می‌برد (مشاهده جزییات) که همه آنها داده‌های خود را برای پردازش از حافظه و از طریق واسط استاندارد Apache Arrow می خوانند.

خط پردازش داده نوین مبتنی بر کتابخانه RAPIDS
خط پردازش داده نوین مبتنی بر کتابخانه RAPIDS

مجتبی بنائی

دانشجوی دکترای نرم‌افزار دانشگاه تهران (yun.ir/smbanaie)، مدرس دانشگاه و فعال در حوزه توسعه نرم‌افزار و مهندسی داده که تمرکز کاری خود را در چند سال اخیر بر روی مطالعه و تحقیق در حوزه کلان‌داده و زیرساخت‌های پردازش داده و تولید محتوای تخصصی و کاربردی به زبان فارسی و انتشار آنها در سایت مهندسی داده گذاشته است. مدیریت پروژه‌های نرم‌افزاری و طراحی سامانه‌های مقیاس‌پذیر اطلاعاتی از دیگر فعالیتهای صورت گرفته ایشان در چند سال گذشته است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

دکمه بازگشت به بالا