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

منتشر شده در towardsdatascience به تاریخ ۲۸ ژوئن ۲۰۲۱
لینک منبع Building your own Data Science Infrastructure for Deep Learning
ساختن یا خرید
آیا میخواهید با علم داده شروع کنید اما فاقد زیرساخت مناسب هستید یا در حال حاضر حرفهای هستید اما هنوز شکاف دانش در یادگیری عمیق دارید؟
پس شما دو گزینه دارید:
۱. یک ماشین مجازی را از یک ارائهدهنده ابری مانند آمازون، مایکروسافت آژور، Google Cloud یا مشابه اجاره کنید.

۲. ماشین فیزیکی خود را بسازید و نرمافزار مناسب را نصب کنید

من هر دو گزینه را امتحان کردم، اما در نهایت تصمیم برای ساختن تجهیزات خود، گزینه بهتری بود، و اینها دلایل آن هستند:
صرفهجویی در هزینهها
اگر به سیستمی با کارت گرافیکی قوی (GPU) ، پردازنده سریع(CPU) و حافظه RAM زیادی نیاز دارید، ساخت یک ماشین میتواند در دراز مدت شما را نجات دهد! قیمتها از یک ارائهدهنده به ارائهدهنده دیگر بسته به خدمات ابری بسیار متفاوت هستند، اما در نهایت شما میتوانید ماشین خود را با آن قیمت بسازید و آن را برای همیشه نگه دارید. و اگر شما به ویندوز به عنوان سیستمعامل (OS) نیاز دارید، قطعا در هزینهها صرفهجویی خواهید کرد. باور کنید که در پایان کار به ویندوز احتیاج خواهید داشت.
قدرت و منابع بیشتر
یک مطالعه از Bizon-Tech نشان میدهد که یک پیش ساخت با استفاده از ۱ GPU تا ۱۰ برابر ارزانتر است و آنهایی که ۴ GPU دارند در طول یک سال در مقایسه با خدمات مبتنی بر وب تا ۲۱ برابر ارزانتر هستند. و وقتی صحبت از ظرفیت ذخیرهسازی میشود، قیمت خدمات وب از سقف بالاتر از اندازه مشخص عبور میکند.
دستگاه شما همچنین میتواند برای کارهای دیگر نیز مورد استفاده قرار گیرد
در نهایت، شما میتوانید از کامپیوتر خود برای کارهای دیگر مانند ویرایش فیلم یا بازی PC استفاده کنید و آن را برای همیشه نگه دارید.
بخش ۱: انتخاب سیستم و نرمافزار مناسب
برای ساخت سیستم خود، ما باید چندین نقطه را از قبل در نظر بگیریم.
یکی از نکات کلیدی انتخاب سیستمعامل مناسب است.
ما گزینههایی برای انتخاب بین ویندوز ۱۰ Pro، لینوکس و Mac OS X داریم.
اما کدام سیستم تمام نیازهای ما را برآورده میکند؟
بیایید ابتدا الزامات مورد نیاز خود را لیست کنیم:
۱. تواناییهای یادگیری عمیق
ما میخواهیم مدلهای یادگیری عمیق را محاسبه کنیم. بهترین انتخاب در حال حاضر، استفاده از GPU های Nvidia برای این کار است. هر دوی TensorFlow وKeras، دو چارچوب یادگیری عمیق پیشرفته، به یک کارت گرافیک nvidia نیاز دارند. سیستمعامل Mac OS X اپل پشتیبانی از Nvidia را متوقف کردهاست و حتی با یک Hackintosh (یک مک سفارشی که با قطعات PC ساخته شدهاست) دیگر نمی توان یک GPU Nvidia را برای کار به دست آورد.
در سیستمهای ویندوز و لینوکس، nvidia GPU بدون مشکل کار میکند و همچنین میتوانید محرکهای لازم را پیدا کنید.
· نتیجه: ویندوزی و لینوکس به هم گره خوردهاند.
۲. جوپیتر-نوت بوک
ما میخواهیمJupyter-Notebook را با پایتون نصب کنیم. Jupyter دفتر محاسباتی دانشمندان داده است و ما قطعا نمیخواهیم آن را از دست بدهیم. آناکوندا یک نصب بدون عارضه مشابه برای تمام سیستمهای عامل ارائه میدهد و بنابراین ما پایتون را نیز قبلا نصب کردهایم.
· نتیجه: ویندوز، لینوکس و مکOS X گره خوردهاند.
۳. ترکیب دادههای درست و ابزار ETL
بهترین ترکیب دادهها و ابزار ETL به نظر منKNIME است. من قبلا یک مقاله در این مورد نوشتهام، که شما میتوانید دلایل آن را بخوانید.
بستههای نصبKNIME برای هر سه سیستمعامل در اینجا وجود دارد.
· نتیجه: ویندوز، لینوکس و مکOS X گره خوردهاند.
۴. یک ابزار بصری خوب
شما باور نخواهید کرد که پیدا کردن یک ابزار تجسم که رایگان در دسترس باشد و تمام ویژگیهای مورد نیاز شما را ارائه دهد، چقدر دشوار است. Tableau Public در اینجا انتخاب صحیحی است. اما شما نیاز دارید که چند راهحل را بدانید تا بتوانید از آنها در یک حالت مفید استفاده کنید. اما به هر حال هنوز هم بهترین انتخاب در حال حاضر است. بستههای نصب تنها برای ویندوز و Mac OS X موجود هستند.
· نتیجه: ویندوز و مک OS X به هم گره خوردهاند.
۵. پایگاهداده برای ذخیرهسازی
برای آسان کردن کارها، ما با SQL Lite به عنوان راهحل پایگاهداده شروع میکنیم. در واقع این یک پایگاه داده پیچیده مانندOracle MySQL یا Teradata نیست، اما می توانید از اکثر دستورات SQL با آن استفاده کنید و در ترکیب با KNIME بسیار خوب کار میکند. به نظر من، SQLLite کاملا دستکم گرفته شدهاست.
بستههای نصب برای هر سه سیستمعامل وجود دارد.
(اگر KNIME از قبل نصب شدهاست، لازم نیست هیچ بسته SQL اضافی نصب کنید)
· نتیجه: ویندوز، لینوکس و مکOS X گره خوردهاند.
۶. ریموت دسکتاپ از راه دور از طریق سایر لپتاپ ها / تبلت ها
ما میخواهیم قادر به ورود از راه دور به ماشین خود باشیم و برای مثال از یک لپتاپ یا تبلت بر روی آن کار کنیم.
من ابزارهای مختلفی را از VNC گرفته تاTeamviewer امتحان کردهام. اما تا کنون بهترین تجربه را با برنامهWindows Remote Desktop داشتهام.
همچنین از طریق یک تبلت بهتر کار میکند، همیشه وضوح مناسب صفحه نمایش و تجربهای را فراهم میکند که انگار شما در مقابل دستگاه خود نشستهاید. برای فعال کردن برنامه کنترل از راه دور بر روی ویندوز، شما باید از Home به Pro نسخه ارتقا دهید
· نتیجه: پنجرهها
بنابراین، در پایان، کدام سیستمعامل به بهترین شکل تمام نیازهای ما را برآورده میکند؟
شاید تعجب کنید اما برنده مسابقه این است: ویندوز ۱۰ Pro!
بخش ۲: ساخت ماشین
حالا ما باید ماشین خود را بسازیم و باید قطعات مناسب را انتخاب کنیم. ساخت یک کامپیوتر شخصی شامل اجزای زیر است:
- سی پی یو
- مادربورد
- مورد PC-case
- حافظه RAM
- سرد کردن
- هارددیسک
- کارت گرافیگ GPU
- تامین برق PSU
سی پی یو
اگر شما با اطلاعات اندازه گیگابایتی کار میکنید و اگر نیاز به پرس و جوهای زیادی دارید، من توصیه میکنم که بر یک CPU خوب سرمایهگذاری کنید. CPUها عمدتا برای بارگذاری دادهها در یادگیری عمیق استفاده میشوند. رشتههای بیشتر در یک CPU به این معنی است که شما میتوانید دادههای بیشتری را به صورت موازی بارگذاری کنید تا به مدلهای خود برای آموزش وارد شوید.
رقابت بزرگی در بازار بین اینتل و AMD برای بهترین عملکرد و قیمت وجود دارد. اما در حال حاضر، من به سراغ CPU های AMD ریزنز میروم.
آنها هر ساله به انتشار پردازندههای چند رشتهای نسبتا مقرونبهصرفه ادامه میدهند.
برای کامپیوتر شخصی ام، من حتی یک AMD ریزن ۷ ۲۷۰۰ X (۳.۷۰ GHz) را از یک گیمر قدیمی خریدم. چند سالی طول میکشد، اما اگر خوششانس باشید، میتوانید آن را از طریق یک حراج آنلاین مانند eBay و غیره به قیمت ارزان بخرید.
برای بهترین عملکرد چند هستهای CPU (و نه تک هستهای) ، سایتGeektebchMark را بررسی کنید.

مادربورد
اطمینان حاصل کنید که مادربورد با CPU و RAM شما سازگار باشد. همیشه انتخاب خوبی است که مادربورد را همراه با CPU در یک بسته خریداری کنید.
هنگام انتخاب یک مادربورد مطمئن شوید که شکافهای PCIe کافی برای تعداد پردازندههای مورد نظر شما دارد. قانون اینجاست که GPU برای ۲ اسلات PCIe فضا اشغال می کند.
نکته دیگر عامل شکل است. من قطعا در اینجا یک مادربورد کلاسیک ATX را انتخاب میکنم، چون هدف ما ساخت یک کامپیوتر عامل کوچک نیست، بلکه یک راهحل علمی داده با کارایی بالا است.
کیس پیسی
من برای کیس پیسیCorsair Carbide Air 540 را انتخاب کردهام. این فضای کافی برای همه اجزا را فراهم میکند، جمعآوری آن آسان است و جریان هوای خوبی دارد. و همیشه مراقب دما باشید. اگر نیاز به محاسبه یک مدل یادگیری عمیق پیچیده دارید، دمای ماشین میتواند در طول زمان به شدت افزایش یابد.
حافظه RAM
یک علم کامل در پشت گرفتن مشخصات RAM مناسب وجود دارد. اما مهمترین نکته هنوز مقدار RAM است (بیشتر = بهتر).
اگر شما با مجموعه دادههای بزرگ مانند تصاویر یا دادههای لاگ کار میکنید، دادههای شما میتوانند به طور کامل در حافظه جا بگیرند، که میتواند زمان پردازش را به طور قابلتوجهی سرعت ببخشد.
برای دکل من، من ۳۲ گیگابایت رم corsair را انتخاب کردم.
خنک کننده
یک خنککننده قوی برای پایین نگه داشتن دمای سیستم بسیار مهم است. یک سیستم خنککننده آبی عملکرد بالایی دارد و صدا را کاهش میدهد. اما نه همیشه. من در گذشته تنظیمات مختلفی را امتحان کردهام و باید بگویم که حتی یک کولر خوب هوا نیز می تواند ساکت باشد. و به طور قطع معمولا فضای کمتری نیاز دارد و نصب آن نیز آسانتر است. در اینجا مزیت پردازنده AMD Ryzen به چشم می خورد. با سرعت کمتری نسبت به پردازنده مرکزی اینتل گرم میشود.
حافظه
در مورد هارد دیسک نیز همین مورد در مورد RAM وجود دارد. بیشتر = بهتر. اما نه تنها!
اگر میخواهید سرعت بارگذاری داده خود را بهینه کنید، به ذخیره سازی سریعتر از یک درایو حالت جامد(SSD) نیاز خواهید داشت. درایوهای حالت جامد گرانتر از یک درایوهای سخت استاندارد هستند، اما این نباید یک معیار خرید باشد.
من توصیه میکنم که یک SSD برای سیستمعامل و نرمافزار نصبشده (اندازه ۵۰۰ گیگابایت) و یکی برای دادهها (اندازه ۱ تا ۲ TB) نصب شود.
من SSD سامسونگ را دوست دارم. اما هر برند دیگری نیز این کار را انجام خواهد داد.
کارت گرافیک (GPU)
در واقع، محاسبه (برخی) مدلهای یادگیری عمیق حتی با یک CPU قوی ممکن است. اما شما به زمان نیاز دارید … وقت بسیار زیاد!
در اصل GPU ها در محاسبه مدلهای یادگیری عمیق بسیار سریع هستند، زیرا بر خلاف CPU ها با تعداد نسبتا کمی از هستههای محاسباتی، GPU ها صدها یا هزاران هسته ساده دارند که در ضرب ماتریسها بسیار سریع هستند.
همانطور که قبلاً گفتم، ما به شدت به دنبال کارت گرافیک nvidia هستیم زیرا تمام شرایط موجود در هنر (اعم از Keras ، TensorFlow ، PyTorch یا هر کتابخانه دیگر) به طور کامل از nvidia’s CUDA SDK پشتیبانی میکنند، یک کتابخانه نرم افزاری برای ارتباط با GPUها.
نکته مهم دیگر هستههایTensor است. هستههای تنسور عملیات ماتریس را تسریع میکند، که برای یادگیری عمیق اساسی است، و محاسبات ضرب و جمع ماتریس با دقت مختلط را در یک عملیات واحد انجام میدهد.
https://youtu.be/yyR0ZoCeBO8
هستههایTensor را میتوان در مدلهای GPU nvidia RTX یافت. من Geforce RTX 2070 8G نسبتاً ارزان را از MSI انتخاب کردم. با یک RTX ۲۰۷۰ و ۸ GB RAM، شما میتوانید بیشتر مدلهای یادگیری عمیق SOTA (آخرین هنر) را آموزش دهید و هنوز هم مجبور نیستید پول زیادی بپردازید.
همچنین لیست موجود با تمام پردازندههای گرافیکی را در سایت Lamba-Labs مشاهده کنید.

تامین برق PSU
اکنون ما تقریبا همه اجزای خود را داریم. اکنون سوال این است: چقدر قدرت نیاز داریم؟
برای محاسبه توان مورد نیاز، ماشینحسابهای PSU مختلفی وجود دارند.
برای سیستم خود، من به یک PSU در حدود 360 W نیاز دارم.
برای داشتن قدرت کافی در آینده وقتی کارت گرافیک دوم را اضافه میکنم، Seasonic Focus GX-750 با بیش از 750W کافی را انتخاب کردم.

این سیستم در مجموع حدود ۱۵۰۰ دلار برای من هزینه داشت:
اجزا:
پردازنده + مادربرد + ۳۲ گیگابایت رم: ۲۹۹ دلار
رم SSD1 با ۵۰۰ گیگابایت: ۹۸ دلار
رم SSD2 با ۱ TB: ۱۳۵ دلار
کیس-مورد: ۱۳۸ دلار
کارت GPU: ۷۰۷ دلار
یک سال پیش، من یکی از ارزانترین سرویسهای ابری موجود را که هنوز هم با ارزش بسیار خوبی است امتحان کردم و مجبور شدم 700 دلار برای یک سال برای یک ماشین فیزیکی بدون کارت گرافیک اختصاصی بپردازم.
برای سیستم سفارشی خود، هنگام سرهم بندی، از PC Part Picker استفاده کنید.
بخش ۳: نصب نرمافزار
پس از مونتاژ کل سیستم، ما باید یک سیستمعامل نصب کنیم. ما قبلا ویندوز را انتخاب کردهایم چون با نیازهای ما متناسب است.
ویندوز (نصب)
اولین قدم دانلود ویندوز و ایجاد یک رسانه نصب است. ما پروندههای نصب را بر روی یک ابزار USB کپی خواهیم کرد.
نصب nvidia و CUDA-Drivers
برای استفاده بیشتر از کارت گرافیک خود به درایورهای nvidia مناسب نیاز دارید.
علاوه بر درایورهای GPU معمولی، جعبه ابزار Cuda نیز باید نصب شود.
در یک مرحله دیگر، ماKNIME را با ادغام Keras وTensorFlow نصب خواهیم کرد. اما بعدا.
نصب Jupyter-Notebook اثر Anaconda
نصبJupyter-Notebook و pyton سادهترین راه از طریق نصبAnaconda است. وقتی نصب کامل شد، میتوانیدJupyter-Notebook را از تایل مربوطه شروع کنید (فلش قرمز را در تصویر زیر ببینید).

حالا میتوانید ازJupyter از آدرس زیر در مرورگر ماشین محلی خود استفاده کنید: http://localhost:8888/tree

نصب KNIME و ادغام یادگیری عمیق
در حقیقت KNIME در قلب زیرساخت علوم داده ما قرار دارد، زیرا همه چیز را از ترکیب دادهها گرفته تا یادگیری ماشینی و یادگیری عمیق تا آمادگی برای تجسم را تنظیم می کند.
علاوه برKNIME، نیاز به نصب «گسترش یادگیری عمیق» داریم که ادغام یادگیری عمیق KNIME نامیده میشود. این در حالی است که از TensorFlow به عنوان پشتوانه خود، یک ادغام مبتنی بر GUI و بدون کد از کتابخانه Keras را ارائه میدهد.
مراحل زیر باید انجام شوند:
· نصب ضمیمههای یادگیری عمیقKNIME (Keras and tensorFlow)
· ایجاد محیط کندا
نصب ضمیمههای یادگیری عمیق KNIME
شما میتوانید با کلیک بر روی فایل از منوی بالا و انتخاب «نصب ضمیمهKNIME …»، الحاقات را از داخل پلتفرم تجزیه و تحلیل KNIME نصب کنید. این امر دیالوگ نشاندادهشده در شکل۱۳ را باز میکند.
برای نصب گرههایKeras و tensorFlow، باید موارد زیر را انتخاب کنید:
· KNIME Deep Learning - Keras Integration
· KNIME Deep Learning - TensorFlow Integration

اکنون باید گرههایKeras و tensorFlow را در مخزن گره خود داشته باشید که در شکل ۱۴ نشانداده شدهاست.

مجتمع سازیKNIME Keras و مجتمع سازی جریان کششیKNIME به نصب پایتون موجود بستگی دارد، که نیاز به وابستگیهای پایتون خاصی دارد که نصب شوند. یکپارچهسازی یادگیری عمیقKNIME از Anaconda برای مدیریت محیطهای پایتون استفاده می کند.
اگر هنوز آناکوندا را نصب نکرده اید (بالا را ببینید) ، اکنون آن را نصب کنید.
ایجاد محیط کندا
سپس، ما باید محیطی با کتابخانههای درست نصبشده ایجاد کنیم. برای انجام این کار از طریق KNIME Analytics Platform ، File -> Preferences را از فهرست بالا انتخاب کنید. این یک محاوره جدید با یک لیست در سمت چپ باز خواهد کرد. از گفتگو ، KNIME -> Python Deep Learning را انتخاب کنید.

از این صفحه، با بستههای صحیح نصب شده برای Keras یا TensorFlow 2، برخی از محیطهای Conda را ایجاد کنید. در حال حاضر، ایجاد محیطی برای Keras کافی خواهد بود. برای ایجاد و راهاندازی یک محیط جدید، «استفاده از پیکربندی یادگیری عمیق ویژه» را ممکن میسازد و Keras را در کتابخانه مورد استفاده برای یادگیری عمیق در پایتون قرار میدهد. سپس، Conda را فعال کنید و مسیر شاخه نصبConda خود را فراهم کنید. علاوه بر این، برای ایجاد یک محیط جدید برای Keras، بر روی دکمه «محیط جدید …» در چارچوبKeras کلیک کنید.

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

نصب Tableau Public
برای دریافتTableau Public، باید برای یک نمایه رایگان در اینجا ثبت نام کنید. اما قطعاً ارزشش را دارد، زیرا فضای آنلاین برای اشتراکTableboard Dashboards خود در هر کجای وب در اختیار دارید.

اگر باTableau آشنایی ندارید، به شما توصیه میکنم که این آموزش را اینجا بخوانید.
یک مثال خوب برای آنچه که شما میتوانید با ترکیب KNIME با ماده ضد تاب انجام دهید در ویدئو و مقالات زیر توضیح داده شدهاست:
علم داده با استفاده از حدس COVID19 به عنوان مثال باKNIME، Jupyter و جدول
نصب SQL Lite
حالا بخش آسان میآید: اگر شما KNIME را نصب کردهاید، پس هیچ چیز دیگری نیاز نیست نصب شود. شما در حال حاضر میتوانید پایگاهدادههای SQL خود را ایجاد کنید، بخوانید و بنویسید.
من میخواهم این را با جریان کار KNIME زیر به شما نشان دهم:
۱. من مسیر دادههای Iris را در گره CSV Reader قرار میدهم.
۲. سپس مکان پایگاه دادهtest.sqlite را در گرهSQLite Connector مینویسم.
۳. با گره DB Writer، من مجموعه دادههایIris را در پایگاه داده SQLite مینویسم.
۴. سپس با SQL در DB Query Reader تمام ردیفها را با sepal.length بیش از 5 گره میزنم.
۵. در نهایت، من نتیجه را با یکگره جدول تعاملی خروجی میدهم.

در مقاله بعدی، من به شما نشان خواهم داد که در ترکیب با KNIME چه کار دیگری میتوانید با SQL Lite انجام دهید.
ریموت دسکتاپ از سایر لپتاپها / تبلتها
برای راه اندازی رایانه شخصی خود برای فعال کردن اتصالات از راه دور، بایدWindows Pro را ارتقا دهید و بیش از آنچه مجاز استEnable Remote Desktop را فعال کنید.

در نهایت بر روی دستگاههای ویندوز، آندروید، iOS یا Mac OS X:
برنامهRemote Desktop (از فروشگاه Microsoft Google Play و Mac App Store به صورت رایگان در دسترس است) را باز کنید و نام رایانه موردنظرتان را برای اتصال به آن اضافه کنید. نام PC از راه دور را که اضافه کردهاید انتخاب کنید، و سپس منتظر بمانید تا اتصال تکمیل شود.
من در حال حاضر حتی قادر به ایجاد و ویرایش جریانهای کاری KNIME بر روی گوشی هوشمند خود هستم (کم و بیش: -).
حالا شما باید برای ورود به علم داده آماده باشید و حتی شروع به ساختن مدلهای یادگیری عمیق کنید. ادامه دهید و …
از خواندن شما متشکرم!
این متن با استفاده از ربات مترجم مقالات علم داده ترجمه شده و به صورت محدود مورد بازبینی انسانی قرار گرفته است.در نتیجه میتواند دارای برخی اشکالات ترجمه باشد.
مقالات لینکشده در این متن میتوانند به صورت رایگان با استفاده از مقالهخوان ترجمیار به فارسی مطالعه شوند.
مطلبی دیگر از این انتشارات
آیا اگر کسی روی صندلی ننشیند، صندلی وجود دارد؟ مکانیک کوانتومی رابطهای میگوید نه!
مطلبی دیگر از این انتشارات
۱۰ شرکت برتر که برای دگرگونی رباتیک آمدهاند
مطلبی دیگر از این انتشارات
استانداردهای کیفیت ترجمه چیست؟