ذخیره سازها در عرصه هوش مصنوعی
نویسنده : روابط عمومی پانا
تاریخ :2018/08/05
تعداد دیده شدن : 868

ذخیره سازها در عرصه هوش مصنوعی

 

چگونه می توان ذخیره ساز خود را به یک ماشین یاد گیرنده تبدیل کرد؟

اگر به دنبال آن هستید که هوش مصنوعی را به عرصه داده های حجیم خود وارد کنید و سیستم شما تبدیل به یک ماشین تصمیم گیرنده شود ، خواندن این مقاله را به شما توصیه می کنیم.

 

معرفی

این روز ها واژه هوش مصنوعی بیشتر از هر زمانی در زندگی روزمره و حرفه ای ما شنیده می شود. همچنین به علت پیشرفت سریع این شاخه از علم رایانه ، شاهد حضور محصولات و سرویس های متنوعی هستیم که مبتنی بر هوش مصنوعی هستند. آن چه که متخصصان علوم رایانه و برنامه نویسان در حوزه هوش مصنوعی جستجو می کنند این است که بتوانند به رایانه ها قابلیت تفکر را اضافه کنند. در واقع این قابلیت تعریف دقیق هوش مصنوعی است. تلاش گران این حوزه در سال های اخیر ،در حوزه های مختلفی، به این هدف دست پیدا کرده اند.

قسمت زیادی از حوزه هوش مصنوعی به آنالیز و بررسی داده ها مربوط می شود که در واژگان تخصصی علوم رایانه، یادگیری ماشین نامیده می شود.یادگیری ماشین شاخه ای از هوش مصنوعی محسوب میشود که در طبقه بندی جزء رشته های بین رشته ای قرار می گیرد از این میان می‌توان به علوم احتمالات آمار، طراحی الگوریتم، تئوری محاسبه پیچیدگی و سایرموارد اشاره کرد که حاصل اشتراک ۳۰ ساله آنها به یادگیری ماشین رسیده است.

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

 


دلیل این روند برعکس در این حوزه این است که در موارد زیادی نمی توان  به شکل عادی برنامه را تهیه کرد. برای مثال پیش بینی شاخص های بورس و یا تشخیص اشیا موجود در یک تصویر و یا اتومبیل های خودران را در نظر بگیرید ، طراحی و توسعه هیچ یک از این موارد بدون حضور هوش مصنوعی و یادگیری ماشین غیر ممکن است.البته توسعه محصولات و سرویس های مبتنی بر یادگیری ماشین، علاوه بر الگوریتم ها و برنامه های مختلف مستلزم سخت افزار ها و بستر های پردازشی قدرتمندی است که بتواند محاسبات سنگین و متعدد را در زمان بسیار کوتاهی پردازش کنند.

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

 

 

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


 

داده در حکم نفت

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

در این نوشته  سعی خواهد شد که به معرفی و نقد وبررسی QuAI  محصول شرکت کیونپ  پرداخته شود. بی شک مدیریت منابع پردازشی و مدیریت منابع ذخیره سازی و همگام سازی آن ها با یکدیگر از بزرگترین دغدغه ها و چالش های  توسعه دهندگان حوزه هوش مصنوعی و دانشمندان علوم داده است.

 

 

شرکت کیونپ

کمپانی کیونپ اغلب با سیستم های NAS شناخته می شود و همچنین در طبقه بندی شرکت های تولید کننده تجهیزات شبکه نیز قرار دارد. این شرکت در جدیدترین محصول خود قسمت بزرگی از نیاز سخت افزاری کاربران حوزه داده را به خوبی شناسایی کرده و در رفع این نیاز QuAI را معرفی کرده است. توسعه دهندگان هوش مصنوعی و دانشمندان داده در قسمت سخت افزاری به دنبال یک سیستم یکپارچه که شامل منابع ذخیره سازی و پردازشی در کنار هم، هستند که بتوانند در سایه این سیستم همگام ، به پیاده سازی پروژه های خود بپردازند.   در این نوشته به نقد و بررسی QuAI  خواهیم پرداخت.

کیو اِ آی (QuAI)کارهای زیادی را برای حرفه ای ها انجام  می دهد.

کیو ا آی این امکان را برای دانشمندان داده و توسعه دهندگان حوزه هوش مصنوعی فراهم کرده است که بتوانند مدل های یادگیری ماشین را به راحتی و در کمترین زمان بسازنند و مدل های ساخته شده را بهینه کرده و آن  را آموزش دهند. علاوه بر سرعت انجام کار، مزیت یکپارچه بودن سیستم پردازشی و ذخیره سازی را نیز باید به آن افزود که از بروز چالش ها و معضلات ناشی از تطابق ناپذیری سیستم ها جلوگیری می می کند.

 

 

مزایای QuAI

  • هزینه کل مالکیت پایین

پروژه های هوش مصنوعی اغلب به دلیل پیچیدگی و نو بودن کار در دسته پروژه های هزینه بر قرار می گیرند.این موضوع با طولانی شدن مدت انجام پروژه پررنگ تر می شود.در این میان دغدغه اصلی مدیران پروژه و مدیران سیستم به حداقل رسانی هزینه ها است. هزینه مربوط به طراحی و راه اندازی سیستم پردازشی و ذخیره سازی جز اصلی ترین هزینه های یک پروژه هوش مصنوعی می باشد.زمانی که هزینه نگه داری  را نیز به این مقدار می افزاییم سهم قابل توجهی  از بودجه پروژه را به خود اختصاص می دهد. QuAI با هزینه مالکیت پایین تاثیر چشم گیری در بهینه سازی و کاهش هزینه های ساخت ونگهداری سیستم ها دارد.

 

  • نصب و راه اندازی آسان پردازنده گرافیکی (GPU) در کنار سیستم های ذخیره سازی

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

 

  • انعطاف پذیری بالادر توسعه منابع ذخیره سازی

تجهیزات کیونپ به دلیل انعطاف پذیری بالا در یکپارچه سازی منابع ذخیره سازی این قابلیت را دارد که در مجموعه ای از منابع ذخیره سازی همگام شده عنصر جدیدی را به مجموعه اضافه نماید. این خاصیت مدیریت منابع ذخیره سازی را بسیار کارا تر می نماید. چرا که عدم توسعه پذیری منابع ذخیره سازی در بسیاری از موارد می تواند پروژه را به شکست منجر کند.

 

  • پشتیبانی از تکنولوژی container station

پروژه های بزرگ همواره به صورت تیمی انجام می شوند و به صورتی که قسمت های مختلف بر عهده گروهی از تیم ها قرار میگیرد که حاصل فعالیت همه گروه ها در تیم، نهایتا به پروژه نهایی می انجامد. کنترل نسخه های مختلف و هم چنین دسترسی همه توسعه دهنده ها به پروژه محوله نیازمند یک سیتسم است که از قابلیت container station  پشتیبانی کند. ویژگی container station باعث می شود تا توسعه دهنده بتواند کانتینر هایی را روی سیتسم عامل ایجاد کند و پروژ های خود را روی آن اجرا کند. این خاصیت باعث می شود که برای توسعه دهنده فضایی حفاظت شده ایجاد گردد.

 

  • اکوسیستم مبتنی بر اپلیکیشن

هنگام استفاده از QuAI کاربر این امکان را دارد که سیستم خود را با استفاده از اپلیکیشن موبایلی که کیونپ  برای دستگاه طراحی کرده است مدیریت کند. این اپلیکشن گزارش هایی را از قسمت های مختلف سیستم در اختیار کاربرد قرار می دهد و امکان ایجاد تغییر در سیستم را فراهم می کند. کاربر با این امکان می تواند  در هر مکان و زمانی  از وضعیت سیتسم مطلع شود.

 

  • بررسی سازگاری و پشتیبانی سخت افزاری و نرم افزاری

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

 

TS-1677X-1200-4G | TS-1677X-1600-8G | TS-1677X-1700-16G | TS-1677X-1700-64G

TS-1277-1600-8G | TS-1277-1700-16G | TS-1277-1700-64G

TS-1685-D1521-32G-550W | TS-1685-D1531-64GR-550W | TS-1685-D1531-128GR TDS-16489U

 

  • نتایج بررسی GPU های تست شده با  QuAI

در ادامه به بررسی سازگاری محبوب ترین کارت گرافیک های موجود در بازار می پردازیم که خوشبختانه QuAI با اکثر قریب به اتفاق برند های تولید کننده GPU سازگار است. از بین هر کدام از برند ها نمونه های تست شده که با موفقیت با سیستم QuAI همگام شده اند در جدول زیر لیست شده اند:

 

Model

Brand

GTX1060 6G SC GAMING

EVGA

PH-GTX1050-2G

ASUS

PH-GTX1050TI-4G

ASUS

GV-N1070IXOC-8GD

GIGABYTE

PH-GTX1060-3G

ASUS

Quadro P2000 5G

NVIDIA

Quadro M2000

NVIDIA

DUAL-GTX1050-O2G-GAMING

ASUS

GV-N1050TD5-4GD

GIGABYTE

GTX1050 TI 4GT LP

MSI

GTX1060 AERO ITX 3G OC

MSI

Quadro P4000

NVIDIA

GTX1050 2G SC

EVGA

GTX1060 6GT OC

MSI

GTX1050TI 4G SC GAMING

EVGA

 

           

  • تجربه برنامه نویسی با QuAI

در این قسمت به توضیح روند ایجاد یک پروژه کلاسیفیکیشن تصویر با استفاده   Caffeو GoogleNet می پردازیم.کلاسیفایر های تصویر در یادگیری ماشین به پروژه هایی گفته می شود که در آن ابتدا با استفاده تعداد زیادی تصویر یک مدل ساخته می شود که نهایتا  کاربر یک تصویر را به عنوان ورودی به مدل می دهد و برنامه با یک درصد دقتی تشخیص می دهد که تصویر ورودی کاربر در کدام یک از دسته ها قرار  می گیرد. در این قسمت ما از مدل از پیش آماده شده استفاده خواهیم کرد.

برای دسترسی به فایل های پروژه و دستورالعمل راه اندازی می توانید به آدرس گیت هاب پروژه نمونه مراجعه فرمایید. در ادامه لازم است دستوراتی را جهت اجرای پروژه در ترمینال وارد کنیم.

 

 

 برای شروع ابتدا  باید که وارد سیستم شویم:

ssh admin@nas_ip

در ادامه کارت گرافیکی را که در سیستم وجود دارد باید تایید شود

GPU=nvidia0   gpu-docker   run --rm nvidia/cuda nvidia-smi

 

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

 

 

ورژن مربوط به کارت گرافیکی Caffe را اجرا می کنیم

GPU=nvidia0  gpu-docker run -it bvlc/caffe:gpu bash

با دستور زیر به فولدر caffe بروید

cd/opt/caffe

دستور زیر مدل googleNet را اجرا می کند. توجه داشته باشید که وزن های مربوط به Caffe باید به صورت دستی دانلود شوند:

ls -l models/bvlc_googlenet/

برای دانلود کردن وزن ها، دستور زیر را درترمینال وارد کنید:

./scripts/download_model_binary.py models/bvlc_googlenet

بعد از اتمام دانلود فایل با نام زیر دانلود خواهد شد

./data/ilsvrc12/get_ilsvrc_aux.sh

 

نهایتا با اجرای دستور زیر تصویری که در آدرس اینترنتی زیر وجود دارد به عنوان ورودی برنامه تعیین شده و وارد الگوریتم می شود

./build/examples/cpp_classification/classification.bin models/bvlc_googlenet/deploy.prototxt models/bvlc_googlenet/bvlc_googlenet.caffemodel data/ilsvrc12/imagenet_mean.binaryproto data/ilsvrc12/synset_words.txt examples/images/cat.jpg

 

نهایتا میتوانید تصاویر دیگری را به عنوان ورودی به برنامه بدهید و دقت تشخیص تصاویر مشاهد کنید. دقت داشته باشید که دفعات بیشتربه افزایش دقت مدل کلاسیفایر منجر خواهد شد. توجه داشته باشید که مراحل بالا با استفاده از رابط گرافیکی هم قابل پیاده سازی است.

در این نوشته به بررسی امکانات QuAI پرداختیم و سعی کردیم  دلیل هر یک از امکانات موجود در دستگاه را بیان کنیم . چرا که هر کدام از موارد بیان شده مزیت بزرگی را نصیب کاربران می کند.

 

MYMDsLoading
X
Close
MYMDsLoading