Походы — вещь непредсказуемая. Обычно полезная нагрузка распределяется между всеми участниками, но всегда вмешивается элемент случайности или забывчивости. В таких ситуациях выручает швейцарский нож, который гарантирует, что минимальные потребности группы будут удовлетворены. С помощью такого ножа можно и консервы открыть, и бинт разрезать, но главное — он экономит место в рюкзаке.
Небольшой команде, которая работает с ML-моделями и анализом данных, тоже хочется иметь готовое решение базовых задач. Собирать его самостоятельно из отдельных компонентов не всегда удобно, а еще это бывает дорого. Вот бы существовало какое-то компактное решение, в котором сразу был бы весь набор инструментов и настроек. Что ж, усаживайтесь у костра поудобнее, пришло время рассказать про Data Analytics Virtual Machine (DAVM).
Раньше для исследования данных и разработки моделей можно было выбрать один из трех путей.
- Использовать SaaS-сервисы для работы с программным кодом (Colab, Kaggle), возможно, в комбинации с BI-инструментами (Power BI, Tableau или Qlik).
- Настроить весь набор инструментов на своем компьютере или на арендованной инфраструктуре самостоятельно.
- Воспользоваться преднастроенными ВМ для машинного обучения (DSVM) у облачных провайдеров.
Три пути
В текущих условиях работать одновременно с несколькими SaaS не всегда удобно. Для самостоятельной настройки связанных между собой сервисов на любой инфраструктуре потребуется серьезная экспертиза. Плюс, если выбрать бесплатную версию подобного решения, рано или поздно столкнешься с ограничениями по производительности или функциональности.
Вариант с самостоятельным развертыванием подойдет тем, кто хорош в системном администрировании и налаживании взаимодействия между различными инструментами. Еще нужно время, чтобы этим заниматься. Сейчас все больше людей предпочитает использование open-source решений для аналитики, которые не всегда отличаются полнотой документации, поэтому сроки до запуска готового решения могут затянуться.
Если понадобится дополнительная настройка или развертывание копий такого решения, может потребоваться дополнительное время или даже автоматизация этих процессов.
Для тех, кому требуется разворачивать аналитические системы более одного раза (для решения периодических ресурсоемких задач или выделенных под разных пользователей) существует третий путь — преднастроенные виртуальные машины в облаке. Для таких сценариев была разработана Data Science Virtual Machine. ВМ уже преднастроена, поэтому заняться разработкой моделей можно сразу.
DSVM изначально спроектирована исключительно для работы с программным кодом на Python в Jupyter и обучения ML-моделей. В этом смысле ее можно рассматривать как альтернативу самостоятельно развернутому Jupyter, либо же сервисам вроде Colab и Kaggle, но с выделенным под задачи клиента и гарантированно доступным GPU.
Пользователь может доустановить на виртуальную машину любой необходимый софт самостоятельно. Кроме того, функциональность DSVM не предусматривает работу групп пользователей, пользовательских интерфейсов, кроме, собственно, Jupyter, дополнительных плюшек вроде удобной организации доступа к инструменту из интернета.
DSVM — это скорее не швейцарский нож, а отвертка, которая отлично решает одну задачу, но лишена универсальности.
Но работа с моделями — поле дата-саентистов. В аналитических командах есть и другие роли: дата- и бизнес-аналитики, а если повезет — дата-инженеры. Специалисты на этих позициях либо представляют инсайты для бизнеса, либо автоматизируют рутинные операции по сбору и обработке данных. В рамках 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 в 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-платформу.
Автор: Михаил Фомин