Что такое Google Colab и кому он нужен?

Разбираемся, как устроен облачный блокнот для программирования на Python

Блокнот Colab — это бесплатная интерактивная облачная среда для работы с кодом от Google. Принцип у нее такой же, как у остальных онлайн-офисов компании: она позволяет одновременно с коллегами работать с данными. Рассказываем, в чем преимущества Colab и в каких сферах он может быть полезен.

Кому нужен Google Colab

  • вообще всем, кто работает с Big Data;
  • аналитикам данных (сортировать данные за долгий период, делать визуализацию или выстраивать закономерности);
  • исследователям данных (разрабатывать и тестировать новые модели машинного обучения, составлять прогнозы);
  • инженерам данных (разрабатывать ПО, системы для хранения больших данных).

В основе «Колаборатории» — блокнот Jupyter для работы на Python, только с базой на Google Диске, а не на компьютере. Здесь те же ячейки (cells), которые поддерживают текст, формулы, изображения, разметку HTML и не только. То есть можно программировать на Python и не качать кучу библиотек, не перегружать машину и не переживать, что место на харде вот-вот закончится. Единственное условие — нужно иметь Google-аккаунт.

Курс

Data Science c нуля 

Только реальные знание и навыки, обучение на основе практики и помощь в трудоустройстве. Скидка 5% по промокоду BLOG.

Узнать больше

Главная особенность «Колаборатории» — бесплатные мощные графические процессоры GPU и TPU, благодаря которым можно заниматься не только базовой аналитикой данных, но и более сложными исследованиями в области машинного обучения. С тем, что CPU вычисляет часами, GPU или TPU справляются за минуты или даже секунды.

CPU vs. GPU vs. TPU

CPU —­ центральный процессор — мозг компьютера, который выполняет операции с данными. Настолько универсален, что может использоваться почти для всех задач: от записи фотографий на флешку до моделирования физических процессов.

GPU — графический процессор. Обрабатывает данные быстрее, так как задачи выполняет параллельно, а не последовательно, как CPU. Он заточен исключительно под графику, поэтому на нем удобнее работать с изображением и видео, например заниматься 3D-моделированием или монтажом.

TPU — тензорный процессор, разработка Google. Он предназначен для тренировки нейросетей. У этого процессора в разы выше производительность при больших объемах вычислительных задач.

Сами процессоры дорогие, и не каждый может их себе позволить. Google Colaboratory дает возможность бесплатно и непрерывно пользоваться ими на протяжении 12 часов. Будьте внимательны: как только это время истечет, Colab сотрет все данные и придется начинать сначала.

Кроме того, Google отключает блокноты после примерно 30 минут бездействия, чтобы не перегружать процессоры. Система Colab так устроена специально: многие факторы, в том числе время простоя, максимальная активность, общие ограничения на объем памяти иногда динамически меняются. Активным участникам ненадолго могут ограничить доступ к GPU, чтобы дать возможность использовать процессор другим.

Для чего используется Google Colab?

  • знакомство с TensorFlow — открытой библиотекой для машинного обучения;
  • разработка нейронных сетей;
  • эксперименты с TPU;
  • распространение исследований в области искусственного интеллекта;
  • создание руководств.

Несколько таких примеров есть в открытом доступе прямо в Colab.

Эта гибкость в управлении ограничениями позволяет Colab оставаться бесплатным для всех пользователей. Ну а чтобы все не упало в самый неожиданный момент, можно оформить подписку на Collab Pro за $9,99 в месяц. Там и памяти в два раза больше, и времени работы, и к тому же приоритетный доступ к TPU. Правда, пока Pro-подписка есть только в Канаде и США.

С чего начать?

Все просто: на сайте сервиса сразу появляется экран с доступными блокнотами. Можно создавать новый или загружать уже разработанный Python-код из Google Диска.

Google-диск

Чтобы работать с файлами с личного диска, нужно использовать команду mount():

from google.colab import drive
drive.mount (‘/content/drive’)

После запуска команды Colab предложит ввести код авторизации. Открыв URL, вы должны предоставить сервису доступ к своему аккаунту. Тогда он выдаст код, который нужно будет вставить в поле, нажать ВВОД, и Google Colab подключится к хранилищу.

Чтобы проверить, действительно ли Colab подключился, можно использовать команду !ls «/content/drive/My Drive». Она покажет содержимое Google-диска.

4 причины использовать Google Colab

  1. Как и Google Документы, он дает возможность работать с Python-библиотеками для анализа данных онлайн.
  2. Colab предоставляет мощные процессоры для облачных вычислений. У него интуитивно понятный интерфейс, который позволяет не перегружать компьютер и делать все вычисления быстро.
  3. Все блокноты под рукой. В Google Colab сохраняется доступ к аккаунту с любых устройств. Правда, если вы с осторожностью относитесь к своей конфиденциальности, Jupyter останется более предпочтительным вариантом.
  4. Сердце Colab — это совместное использование. При работе над проектом в команде Colab дает возможность свободно править, комментировать и редактировать код с разных аккаунтов, даже если вы сидите на жестком локдауне где-нибудь в Лондоне.

Еще одно достоинство Colab — интеграция с GitHub. Он открывает доступ к любому хранилищу, если ему предоставить профиль на сервисе.

Создание копии в GitHub

Кроме того, для определенных задач можно выбрать подходящий по мощности процессор. Необходимо просто сменить среду выполнения в нужной вкладке

Сменить среду выполнения

и уже в настройках блокнота выбрать между GPU и TPU.

Не стоит работать с мощным процессором, когда не требуется работать с Big Data. Как мы уже говорили, Colab не любит, когда его ресурсы используются нерационально, поэтому любые перегрузки приведут к внезапному вылету из блокнота на неопределенное время.

Google Colab максимально упростил все процессы: в нем есть и базовые библиотеки (NumPy, scikit-learn, Pandas), и более сложные (вроде Keras, TensorFlow или PyTorch), не нужно ставить программы и среды самостоятельно, можно просто сразу писать код. Если же базовых библиотек недостаточно, всегда можно добавить необходимые с помощью установщика PIP и работать дальше:

%pip install emoji

В Colab можно делиться работой с другими, оставлять комментарии, редакторские заметки и в целом делать все, что доступно в тех же Google Документах. Поэтому при общем доступе к блокноту все его содержимое будет доступно другим пользователям (текст, код, комментарии, выходные данные). Последнее можно отключить: нужно выбрать «Настройки блокнота» в меню «Изменить».

Настройки блокнота

В появившемся окне поставить галочку «Исключить выходные данные кодовой ячейки при сохранении блокнота», и тогда в блокноте сохранится только код, но не результаты его исполнения.

аппаратный ускоритель

Вместе с тем открытый доступ к коду и его редактированию — отличная возможность найти интересные разработки по всему миру. У Google есть обширный репозиторий SeedBank, в котором можно исследовать множество блокнотов по Data Science или глубокому обучению, просто кликнув мышкой.

Курс 

Полный курс по Data Science

Освойте самую перспективную IT-профессию с нуля. Вы получите реальные навыки, поддержку менторов и помощь в трудоустройстве. Скидка 5% по промокоду BLOG. 

Узнать больше

Облачные среды, похожие на Google Colab

Yandex DataSphere – в отличие от GC это платный блокнот, в котором тарифицируется фактическое время вычислений. При регистрации на пробный период (60 дней) выдается грант в размере 4000 ₽ для резидентов РФ и 50 $ для нерезидентов РФ. Особенности использования сервиса можно изучить в документации.

Kaggle Kernels – кроме Python, сервис Kaggle поддерживает R, интегрируется с Google Cloud Storage, BigQuery и AutoML. При этом время пользования процессорами – девять часов, на три меньше, чем у GC.

Azure Notebooks – тоже поддерживает другие языки (R, F#). Сервисы Microsoft Azure также, как и Яндекса, тарифицируются за фактическое время использования.

CoCalc – предлагает и бесплатный, и платный (14 $) периоды. В расширенной версии больше памяти и времени простоя, приоритетный доступ к процессорам и техподдержке. Документация.

Текст: Виктория Овсянникова

Блог SkillFactory
Добавить комментарий