Журнал / польза

Как использовать DataSphere в образовании

Кроме собственных образовательных проектов Яндекс предлагает сервисы для вузов, отдельных преподавателей и студентов. Расскажем о DataSphere — сервисе для ML-разработки от Yandex Cloud

Зачем университетам облачные решения

Во многих вузах есть свои вычислительные центры, и для решения обычных задач, например программирования на C++, их обычно достаточно. Но для работы с большими данными и обучения ML-моделей (например, расчёта автомобильного трафика, предсказания погоды, работы модели по созданию иллюстраций) требуется большая вычислительная мощность, которую могут дать графические процессоры (GPU). На обычных компьютерах организовать полноценное обучение ML-моделей сложно.

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

Какие есть инструменты для работы с ML в облаке

Jupyter Notebook. Это не инструмент для вычислений, а программа-блокнот для записи, передачи и запуска кода. Но рассказать о ней нужно, потому что она де-факто стала стандартным инструментом, в котором пишут код для работы с ML. Jupyter Notebook — это веб-сервис: он доступен через интернет и позволяет передавать код другим разработчикам. Чаще всего его используют для Python.

Google Colab. Это интерактивная облачная среда для работы с кодом на языке Python и, пожалуй, самый известный и доступный инструмент для обучения нейросетей. Им можно пользоваться бесплатно, хотя есть и подписка, которая позволяет работать с более мощными конфигурациями оборудования и меньше ждать свободного слота для вычислений. Но у Google Colab есть ряд ограничений: например, через 12 часов все настройки и данные в памяти обнуляются.

Microsoft Azure Notebooks. Как можно сделать вывод из названия, это Jupyter Notebooks, работающие в облаке Microsoft Azure. Можно делать свои проекты общедоступными, делиться ими с друзьями. Есть как бесплатная, ограниченная, так и платная версия.

Что такое DataSphere

Yandex DataSphere — это сервис, который позволяет обучать ML-модели на конфигурациях с GPU и быстро запускать их в эксплуатацию. При этом не нужно самостоятельно создавать и обслуживать виртуальные машины: сервис «из коробки» выделяет необходимые конфигурации и легко настраивается.

В DataSphere, в отличие от Google Colab, студент может запускать достаточно длительные процессы обучения моделей. Например, обучить вопрос-ответную большую языковую модель, чтобы она отвечала на письма от его имени, или файн-тюнить модели генерации изображений Stable Diffusion для рисования своих портретов.

Кроме Jupyter Notebook в DataSphere есть пакеты для анализа данных и машинного обучения (TensorFlow, Keras, PyTorch, NumPy и так далее).

Что еще здорово:

  • Гибкие вычислительные ресурсы — можно выбирать любую конфигурацию и переключаться на вычисления на графических процессорах (GPU), которые часто используются для обучения моделей.
  • Можно подключиться к хранилищам данных в облаке.
  • Можно работать в команде.
  • Есть интеграция с GitHub и Data Proc.
  • Есть мониторинг потребления и гибкое администрирование ресурсов через UI.

Какие задачи стоит решать с помощью DataSphere

Удобно решать задачи, где:

  • Есть много данных. Работать с большими объёмами на локальных компьютерах неудобно, а здесь достаточно места в облачном хранилище.
  • Нужно делать много вычислений. DataSphere позволяет обучать модели в облаке, ненадолго выделяя необходимые ресурсы. При этом вы платите только за объём использованных вычислений.

Среди успешных образовательных проектов, которые были выполнены с помощью DataSphere, — художественный проект «Кибернетическое бессмертие фидонета» школы дизайна Высшей школы экономики, а также проект по предсказанию урожая: над ним работали биофак МГУ, Центр имени Мичурина и Тамбовский государственный университет. Ещё был проект по предсказанию погодных аномалий в Тихом океане и нейросеть для мониторинга экосистемы Байкала.

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

Что нужно для старта

По умолчанию сервис DataSphere платный. Но его можно попробовать за тестовый грант. Кроме того, есть гранты на учебные программы. Если вы работаете с платной версией, то сэкономить можно, если хранить большие данные для вычислений в масштабируемом и дешёвом S3-хранилище, а за DataSphere платить только в момент вычислений в Jupyter Notebook.

Для обучения любой модели нужен датасет — набор размеченных данных. Преподаватель может заранее сформировать датасеты для обучения и загрузить их в облачное хранилище S3. А студенты подключат эти датасеты к своим проектам в DataSphere как директорию. Если хранить датасеты на внешнем жёстком диске или в вычислительном центре вуза, придётся вручную копировать данные — уйдёт много времени.

Если преподаватель хочет, чтобы студенты доработали код для обучения, свои заготовки он может хранить на GitHub. Тогда студенты смогут клонировать репозиторий преподавателя в DataSphere, внести изменения и отправить результат на проверку.

DataSphere также поддерживает групповую работу над одним проектом. Соответственно, преподаватель может дать один курсовой или дипломный проект нескольким студентам. Можно выкладывать общие задания для всех студентов, но скрыть их проекты друг от друга.

С сервисом можно работать индивидуально, нужно только зарегистрироваться в Yandex Cloud. Ещё, если вы студент, можно прийти к преподавателю и попросить оформить аккаунт, запросить доступ на всех студентов. Для этого преподавателю нужно заполнить форму.

Куда развиваются подобные сервисы

Если посмотреть на другие сервисы — они растут в двух направлениях:

  • Citizen Data Science — инструменты Low Code / No Code, которые позволяют специалисту с минимальными знаниями в области машинного обучения начать проводить эксперименты.
  • Инструменты MLOps, чтобы запускать эксперименты на основе кода. Например, чтобы выстроить пайплайн, контролирующий data drift во входных данных и запускающий переобучение модели на кластере на новых данных при необходимости. Сейчас это можно запрограммировать, но представьте прекрасный мир будущего, где такие пайплайны будут описываться декларативно, в стиле GitHub Actions.