Походы — вещь непредсказуемая. Обычно полезная нагрузка распределяется между всеми участниками, но всегда вмешивается элемент случайности или забывчивости. В таких ситуациях выручает швейцарский нож. С его помощью можно и консервы открыть, и бинт разрезать, но главное — он экономит место в рюкзаке.
С инструментами для работы с ML-моделями и аналитикой в небольшой команде тоже хочется универсальности. Использовать сразу несколько неудобно, а еще это бывает дорого. Вот бы существовало какое-то решение, в котором сразу был бы весь набор инструментов и настроек. Что ж, усаживайтесь у костра поудобнее, пришло время рассказать про Data Analytics Virtual Machine (DAVM).
Если продолжать пример с походами, то раньше для исследования данных и разработки моделей можно было выбрать один из двух путей.
- Использовать SaaS (Colab, Kaggle), BI (Power BI, Tableau или Qlik).
- Настроить весь набор необходимых инструментов на своем компьютере или арендованной инфраструктуре самостоятельно.
В текущих условиях работать с перечисленными SaaS не всегда удобно, а чтобы самому настраивать несколько связанных между собой сервисов на любой инфраструктуре потребуется серьезная экспертиза.
Самостоятельное развертывание подходит для разовых тестов, поскольку под каждую новую задачу может понадобиться настройка параметры с нуля. В походе пришлось бы каждый раз возвращаться, чтобы собрать выпавшие через дыру в рюкзаке инструменты. Другой сценарий самостоятельного развертывания — «положил и не трогаешь». Подход не очень гибкий, но так тоже можно работать.
Реализация набора аналитических инструментов на всем разнообразии личных или корпоративных компьютеров – тема для отдельного материала, поэтому здесь мы останемся в рамках аренды виртуальных машин.
Кроме этого, если нужно поднимать много виртуалок (например, недолго живущих, чтобы решать мелкие задачи или одновременно существующих для разных групп пользователей) — это уже неудобно и занимает много времени. Для таких сценариев была разработана Data Science Virtual Machine. Такая ВМ уже преднастроена, поэтому заняться разработкой моделей можно сразу.
Но работа с моделями — поле дата-сатанистов. Как в походах есть проводники, силачи, развлекаторы с гитарой, в аналитических командах есть и другие роли:
дата- и бизнес-аналитики, а если повезет и дата-инженеры. Специалисты на этих позициях либо представляют инсайты для бизнеса, либо автоматизируют рутинные операции по сбору и обработке данных. В рамках DSVM такой функциональности нет, поэтому приходится самостоятельно доустанавливать нужные сервисы. Именно здесь к походу присоединяется Data Analytics Virtual Machine.
DAVM — это специально подготовленная виртуальная машина для работы с аналитическими задачами и машинным обучением. ВМ быстро разворачивается из образа и может выполнять следующие задачи:
- Разработка моделей машинного обучения с помощью PyTorch, TensorFlow, Keras, XGBoost, OpenCV в интерактивной среде Jupyter Lab.
- Построение процессов обработки данных (ETL/ELT) с помощью Prefect.
- Визуализация данных с помощью Apache Superset.
Все эти инструменты уже настроены и готовы к работе, поэтому экономить время удается на каждом этапе. Как работает DAVM, будет понятно, когда мы рассмотрим альтернативу этой виртуальной машине и популярные сценарии использования.
Чтобы начать работу, достаточно выполнить два шага:
- Перейти в раздел Облачная платформа внутри панели управления.
- Выбрать пул ru-7a и создать облачный сервер с дистрибутивом Ubuntu LTS Data Analytics 64-bit и нужной конфигурацией.
DAVM vs DSVM
Несмотря на популярность образа Data Science Virtual Machine (DSVM), DAVM предлагает более комплексный подход. В обоих решениях отсутствует вендор-лок, поэтому разницу между DAVM и DSVM можно принять за погрешность, но она больше, чем кажется на первый взгляд.
В задачи DSVM также входит работа с аналитикой и ML-моделями. Первое важное отличие в том, что решение слабо адаптируется для стартапов и начинающих специалистов из-за более высокого порога вхождения. Еще недавно часть задач по обучению ML-моделей могли закрыть Jupyter, Colab и Kaggle, но рынок изменился. Сейчас бесплатных ресурсов либо недостаточно, либо есть сложности с оплатой.
Другой момент — отсутствие интеграции с другими инфраструктурными продуктами. Функциональность DSVM не предусматривает работу групп пользователей или автоматическое создание доменного имени для безопасного доступа пользователей по публичному IP-адресу.
Представьте швейцарский нож, в котором нет отвертки, поэтому нужно брать ее отдельно.
Преимущества DAVM в Selectel
- Больше сценариев использования. Есть возможность автоматизировать обработку данных с помощью Prefect, а также визуализировать данные через Superset, а не подключать дополнительные BI-инструменты. Благодаря этому услугой могут пользоваться не только дата-сайентисты, но еще и дата-инженеры или дата-аналитики. DAVM позволяет стартапам сэкономить и обойтись без системного администратора (или почти обойтись).
- При работе с DAVM команда экономит время на установке и тестировании работоспособности целого набора инструментов.
- В нашей реализации также есть авторизация через Keycloak, «домашняя страница» Flame и связка с доменом для подключения к инструментам через интернет. Чтобы упростить работу пользователям, мы сами создаем DNS-записи и SSL/TLS-сертификаты.
После создания ВМ нужно перейти по ссылке, которая появится в терминале. Можно ввести ее самостоятельно в браузере в формате home-111-111-111-111.pl.davm.selcloud.ru, указав публичный IP-адрес через дефис. Дальше выбрать иконку необходимого инструмента на стартовой странице. Теперь ссылку лучше добавить в закладки, чтобы не потерять.
Так выглядит ссылка на стартовую страницу DAVM в терминале.
В качестве логина мы вводим admin, а в качестве пароля – UUID облачного с сервера. Далее пароль потребуется сменить на более безопасный (и обязательно записать в парольный менеджер).
Сценарии использования
Разработка и обучение моделей машинного обучения
Проблема
Дата-сайентистам часто не хватает вычислительных ресурсов для обучения моделей машинного обучения. Например, не хватает GPU, и это увеличивает время разработки и проведения экспериментов.
Проекты могут быть краткосрочными, поэтому нет смысла инвестировать в покупку железа.
Решение
Аренда DAVM с одной или несколькими видеокартами, например, NVIDIA Tesla T4, A2, A30, A100, RTX A2000 и A5000.
Результат
Клиент получает готовую к работе виртуальную машину и набор инструментов для обучения моделей. Он может сразу приступать к работе и быстрее предоставлять результаты.
Создание небольшой платформы обработки данных
Проблема
Новые задачи уже не умещаются в функциональность Excel/VBA/локального SQL/Python на ПК аналитиков. Необходимо построить простые воспроизводимые пайплайны обработки данных, небольшое хранилище и инструмент для того, чтобы предоставлять данные бизнесу.
Решение
Аренда виртуальной машины DAVM и при необходимости управляемой облачной базы данных (PostgreSQL, MySQL).
Результат
Клиент получает готовую к работе виртуальную машину и набор инструментов для построения потоков обработки данных и их последующей визуализации. Организован централизованный доступ команды ко всем инструментам. Больше не нужно дополнительно администрировать все это.
В обоих случаях обучение ML-моделей не тарифицируется отдельно. Пользователи DAVM оплачивают только CPU, GPU, RAM и диски, то есть только затраченные ресурсы в формате pay-as-you-go.
Кейс команды аналитики
Что делать, если у продакт-менеджеров регулярно возникает потребность в тестировании новых гипотез? Причем абсолютно различных. Данные, которые для них нужны, могут собираться один раз и больше не пригодиться.
Раньше ответом было создание новых дашбордов в общекорпоративном Qlik (или на коленке в Excel). Но, поскольку сервис не дает прямого доступа к данным, а построение дашбордов — долгий и трудоемкий процесс, использовать такой инструмент для проверки гипотез было неудобно.
Можно было пойти путем самостоятельного поднятия виртуальной машины и настройки среды, но выявился ряд блокеров. Такое решение сложно использовать, если есть обязательные требования к безопасности сервисов. Пришлось бы разбираться с логированием и доступами, настраивать DNS-записи и двухфакторную авторизацию. То есть виртуалку использовать можно, но только при большом желании побыть системным администратором на полставки, повспоминать основы работы с Linux и прочие прелести. И все это вместо того, чтобы заниматься анализом данных.
В нашем кейсе команда аналитики хотела автоматизировать парсинг данных. Данные приходилось брать в разных источниках, собирать в одну базу, а далее визуализировать. Звучит как работа для связки Prefect+Superset, которую обеспечивает DAVM.
Что получила команда, используя DAVM:
- Сократился объем ручной работы. Скрипт регулярно парсит важную информацию для менеджеров, своевременно собирает и фильтрует данные.
- Изменился флоу работы с оценкой результатов проверки гипотез. Продакт-менеджеры получили возможность самостоятельно исследовать данные, а не работать через отдел аналитики и ждать своей очереди.
- Открылась возможность для быстрого тестирования гипотез. Работа с DAVM не предполагает изучение диалектов SQL (как в Qlik) или сложного проектирования дашбордов, поэтому процесс тестирования значительно ускорился.
Заключение
Устройство DAVM в Selectel отличается еще и тем, что решение не упаковано в несколько отдельных PaaS-сервисов. С данными удобно работать, потому что все они находятся в одном месте. Стартапам не нужно брать несколько решений, чтобы выполнять свои задачи, когда можно воспользоваться «швейцарским ножом».
Если для ваших задач швейцарского ножа уже недостаточно — выход есть. Для работы с большими данными подойдет платформа обработки данных. Для разработки моделей, экспериментов и инференса используйте ML-платформу.