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

  • Amazon Web Services یا AWS
  • Microsoft Azure
  • Google Cloud Platform
  • Floydhub
  • Paperspace

Google Colab سرویس ابری جدیدی از شرکت Google است که بطور ویژه برای گسترش آموزش و تحقیقات در زمینه های یادگیری ماشین ارایه شده است. Colab یا Colaboratory یک محیط مبتنی بر ژوپیترنوت بوک (Jupyter notebook) است. خیلی از ابزارهای رایج مانند نسخه های 2.7 و 3.6 زبان پایتون و کتابخانه های پراستفاده ای مانند matplotlib، Tensorflow و غیره در آن از قبل نصب شده است. بنابراین به راحتی و فقط در مرورگرتان می توانید از همه ی این ابزارها بطور رایگان استفاده کنید.

علاوه بامکانات مذکور، Colab یک ویژگی دارد که آنرا از بقیه ی سرویس دهندگان ابری در این زمینه متمایز کرده است: امکان استفاده ی رایگان از GPU. در حال حاضر می توانید رایگان از امکانات یک GPU با مشخصات NVIDIA Tesla K80 در کارهای پردازشی استفاده کنید. با من همراه باشید تا برخی از تجربیاتم در کار با Colab را به صورت عملی با شما به اشتراک بگذارم...

در اینجا سه فایل ژوپیتر نوت بوک آماده کرده ام که در این فایل ها به راحتی می توانید با نحوه ی کار با Google Colab آشنا شوید. 

  • راهنمای استفاده: برای استفاده می توانید 1- فایلهای ژوپیتر نوت بوک با پسوند ipynb را دانلود کنید. سپس با تغییر مسیرها متناسب با محتوای Google Drive خود، آنها را در Google colab اجرا کنید. یا اینکه فقط محتوای آنها را مشاهده کنید. 2- می توانید نسخه ی html نوت بوک ها را باز کنید و فقط محتوای آنها را مشاهده کنید.

فایل اول Guide_colab_1.ipynb - نسخه ی html نوت بوک: این فایل حاوی توضیحاتی کلی درباره ی Colab و محدودیت های آن است. همچنین نشان می دهد چطور می توانید در Colab فایل از روی Google Drive بخوانید و در آن ذخیره کنید.

فایل دوم Guide_colab_2.ipynb - نسخه ی html نوت بوک: در این فایل یک قطعه کد ساده ی Tensorflow نوشته شده است که عملیاتی زمانبر انجام می دهد (ضرب ماتریسی). سپس شما می توانید بین GPU و CPU در Colab سوییچ کنید و زمان اجرا را مقایسه کنید.

فایل سوم Guide_colab_3.ipynb - نسخه ی html نوت بوک: در این فایل فرض می کنیم می خواهید از ابزاری استفاده کنید که در Colab وجود ندارد. مثلا می خواهید از Pytorch استفاده کنید. نحوه ی نصب Pytorch در Colab نشان داده می شود. همچنین یک پروژه حاوی مثال های آموزشی درباره ی Pytorch را از github دریافت می کنید و در درایو گوگل ذخیره می کنید. سپس یک مثال آنرا اجرا می کنید.


بروزرسانی: محدودیت های Colab

1- تجربیاتی وجود دارد که نشان میدهد لزوما برای هر نمونه از ماشین مجازی، همه ی حجم حافظه ی کارت گرافیک K80 تسلا تخصیص داده نمی شود. ممکن است حافظه بین افراد مختلف به اشتراک گذاشته شود. در اینجا قطعه کدی وجود دارد که میزان حافظه ی در دسترس را نشان می دهد.

2- به صورت مداوم نمی توانید برنامه ای را بیش از 12 ساعت روی Colab اجرا کنید. آنها برنامه را متوقف خواهند کرد. 

3- در حال حاضر اگر پکیجی روی Colab نصب نشده باشد (مانند Pytorch) مجبور هستید در مرتبه استفاده آنرا مجددا نصب کنید.