Блокнот 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 Диска.

Чтобы работать с файлами с личного диска, нужно использовать команду mount():
from google.colab import drive
drive.mount (‘/content/drive’)
После запуска команды Colab предложит ввести код авторизации. Открыв URL, вы должны предоставить сервису доступ к своему аккаунту. Тогда он выдаст код, который нужно будет вставить в поле, нажать ВВОД, и Google Colab подключится к хранилищу.

Чтобы проверить, действительно ли Colab подключился, можно использовать команду !ls «/content/drive/My Drive». Она покажет содержимое Google-диска.
4 причины использовать Google Colab
- Как и Google Документы, он дает возможность работать с Python-библиотеками для анализа данных онлайн.
- Colab предоставляет мощные процессоры для облачных вычислений. У него интуитивно понятный интерфейс, который позволяет не перегружать компьютер и делать все вычисления быстро.
- Все блокноты под рукой. В Google Colab сохраняется доступ к аккаунту с любых устройств. Правда, если вы с осторожностью относитесь к своей конфиденциальности, Jupyter Notebook останется более предпочтительным вариантом.
- Сердце Colab — это совместное использование. При работе над проектом в команде Colab дает возможность свободно править, комментировать и редактировать код с разных аккаунтов, даже если вы сидите на жестком локдауне где-нибудь в Лондоне.
Еще одно достоинство Colab — интеграция с 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 $) периоды. В расширенной версии больше памяти и времени простоя, приоритетный доступ к процессорам и техподдержке. Документация.
Текст: Виктория Овсянникова
Похожий сервис предоставляет jetbrains Datalore, 120h на free plan.