реклама
разместить

Как эффективно управлять ML-проектами в облаке

Лишь 13% проектов в области Data Science доходят до продакшена. Рассказываем о возможных причинах этой проблемы и подходах к её решению на примере ML-разработки в Yandex DataSphere.

Как эффективно управлять ML-проектами в облаке
Артем Макеенок
Ведущий менеджер по развитию Yandex DataSphere

Сегодня у многих руководителей как крупных корпораций, так и небольших компаний есть понимание конкурентных преимуществ внедрения ML-проектов. Несмотря на это, по статистике старшего вице-президента по данным и аналитике SKIMS Криса Чапо, лишь 13% проектов в области Data Science доходят до продакшена.

ML — экспериментальная отрасль, поэтому достаточно большую часть моделей нельзя ввести в эксплуатацию. Но другой весомой причиной таких результатов Крис Чапо считает представление о том, что компания должна лишь вложить деньги в проблему или внедрить технологию, а успех придёт сам собой. Бывший CTO компании IBM по Data Science и ИИ Дебора Лефф также отмечает, что проблему представляет разобщённость организаций и плохая коммуникация. Из-за этого дата-сайентистам сложно получить необходимые данные от бизнеса. Третья сложность — недостаток сотрудничества внутри команды. Раньше дата-сайентисты были одиночками, но сегодня это «командный вид спорта» и их работа встроена в саму ткань компании. Поэтому нужно, чтобы все могли тесно взаимодействовать.

Команды, работающие над ML-проектами, растут, и в них постепенно появляется разделение труда. В рамках одного проекта дата-инженеры занимаются подготовкой датасетов, дата-сайентисты — обучением моделей, DevOps-специалисты настраивают рабочие среды, аналитики следят за стабильной работой полученного сервиса, администраторы со стороны бизнеса контролируют затраты. Всем этим специалистам необходимо общаться и сотрудничать: ставить цели и отслеживать текущее состояние сервиса, делиться результатами работы.

Привычные инструменты, хорошо подходящие для работы одного-двух дата-сайентистов, не имеют опций для командной работы и плохо приспособлены к совместной разработке одного проекта несколькими специалистами. В итоге вся коммуникация переносится в сторонние сервисы, например мессенджеры и почту. При этом возникают проблемы при попытках запуска одной и той же модели разными сотрудниками одновременно.

Лид проекта не видит результат работы команды целиком в режиме реального времени, а руководство не может адекватно оценивать затраты и результат. Вся команда тратит много усилий, чтобы передать артефакты одного этапа ML-разработки на другой или просто поделиться моделями. При этом чем больше команда и чем разнообразнее в ней роли, тем сложнее справляться с этими проблемами. В сервисе Yandex DataSphere мы создали несколько инструментов для командной работы.

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

Андрей Кулагин, руководитель ML-направления KazanExpress
Рассмотрим подробнее кому нужны новые функции и какие проблемы они помогают решить.
Рассмотрим подробнее кому нужны новые функции и какие проблемы они помогают решить.

Как собрать всё для ML-разработки внутри одного проекта

Специалисты по машинному обучению постоянно используют разрозненные инструменты для разработки, управления нодами, разворачивания датасетов, сохранения и отслеживания состояния моделей. На этапе настройки рабочей среды дата-сайентисту нужно либо заниматься непрофильной работой, либо привлекать к настройке стороннего DevOps-инженера. В случае если вычислительные мощности используются совместно с другими специалистами, часть этой работы приходится откатывать каждый раз, когда нужно освободить ресурсы.

Мы попробовали решить эту проблему, создав единую сущность, с которой работает дата-сайентист, — проект. Проектом, его настройками, доступами и ресурсами, например контрольными точками, можно управлять из интерфейса сервиса, не переходя в среду разработки. Это пригодится как дата-сайентисту, так и лиду проекта. При этом в рамках одного проекта каждый ML-разработчик имеет собственное рабочее место и ресурсы.

Как эффективно управлять ML-проектами в облаке

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

Как эффективно управлять ML-проектами в облаке

Как масштабировать ресурсы и обмениваться артефактами

В привычном воркфлоу дата-сайентиста, работающего в команде вне облачной платформы, существует как минимум две повседневных проблемы.

Первая — сложности масштабирования ресурсов. Зачастую специалистов в команде больше, чем доступных мощностей физической инфраструктуры. Это приводит к конкуренции за ресурсы. Для обучения моделей приходится либо договариваться, либо выстраивать сложные очереди. При этом утилизация физических серверов довольно низкая из-за продолжительных периодов простоя. Облачные платформы решают эту проблему: всегда можно масштабировать вычислительные мощности под текущие задачи, и при этом не приходится тратиться на простаивающие серверы.

Вторая проблема — обмен данными и артефактами внутри команды. В лучшем случае этот обмен строится на совместном использовании хранилища S3, где каждый сотрудник держит данные в удобном для себя виде. В худшем — на не всегда безопасной пересылке файлов по почте или в мессенджерах. Этот способ работает до тех пор, пока не нужно вводить в проект новых участников и оценивать текущее состояние разработки, или до первых угроз безопасности.

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

Как эффективно управлять ML-проектами в облаке

Кроме того, мы добавили интеграцию с сервисом Yandex Data Proc, который может быть полезен дата-инженерам и аналитикам. Он помогает разворачивать кластеры Apache Hadoop® и Apache Spark™. Это позволяет обрабатывать потоковые данные, в том числе в режиме реального времени, строить на их основе витрины данных и бизнес-метрики, а также анализировать события.

Как эффективно управлять ML-проектами в облаке

Как легко выводить проекты в продакшн и отслеживать их состояние

Одна из проблем быстрого перехода в инференс — сложности на этапе вывода в продакшен уже обученных моделей. Обычно для того, чтобы встроить модель в основной продукт компании, нужно обернуть её в специальный сервис. Для его создания дата-сайентисту приходится привлекать программистов основного продукта или приобретать навыки фулстек-разработчика. И тот, и другой вариант тормозят вывод модели в продакшен.

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

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

Как эффективно управлять ML-проектами в облаке

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

Как мы говорили в начале статьи, важной проблемой при вводе моделей в эксплуатацию является недостаток коммуникации внутри команды. С ростом команды и разделением труда в ней выделяются в отдельные роли: дата-инженеры, аналитики, DevOps-инженеры, лид, администраторы от бизнеса и другие специалисты. Каждому нужно собственное рабочее место с возможностью обмена данными и артефактами с другими участниками.

Мы попробовали решить эту проблему с помощью новой сущности для командной работы — сообществ. Внутри сообществ можно объединять проекты разных специалистов — это позволяет управлять и сопровождать их централизованно, не покидая DataSphere. В сообществе можно делиться как ресурсами, так и моделями. Таким образом дата-инженер может собрать датасет по запросу, дата-сайентист — разработать модель и обучить её на полученном наборе данных, лид команды — оценить прогресс, а бизнес — отследить расходы.

Как эффективно управлять ML-проектами в облаке

Кроме того, мы предусмотрели настройку уровней доступа по ролям и добавили новую роль — DevOps-инженера. Для DevOps-инженеров мы разработали дашборд с мониторингом состояния сервисов, настройкой доступов, просмотром логов и другими функциями. Новые инструменты также реализованы для менеджеров проектов и аналитиков. Теперь можно посмотреть, сколько ресурсов тратит команда и на что.

Дальше мы планируем создать готовые no-code-блоки для вычислений. Кроме того, в планах реализация инструментов автоматизации, таких как запуск вычислений по расписанию или событиям. Это позволит автоматизировать сбор данных, формирование датасетов и обучение моделей, а значит — быстрее создавать работающие модели и выводить их в продакшен за короткое время.

Подписывайтесь на блог Yandex Cloud, чтобы узнавать еще больше новостей и историй об IT и бизнесе.

Другие истории наших партнеров и клиентов, которые активно читают наши подписчики:

1111
реклама
разместить
Начать дискуссию
Сдавал букет из 101 розы в аренду на 14 февраля и вот что заработал…
Сфотографировал, чтобы посоветоваться с мамой. Она лучше понимает, норм или не норм цветок. Для меня любая роза красивая.
8484
3636
1818
33
11
Не пережили бы живые розы столько переездов и фотосессий , ну
реклама
разместить
ЕС утвердил 16 пакет санкций против России — под них попали 13 банков и восемь СМИ

А также поставки PlayStation и Xbox в страну.

Фото «РИА Новости» 
3939
3333
1111
44
11
11
Когда на Санлайт наложат санкции?
Топ-6 сложнейших тематик для продвижения в Дзене, и почему я отношусь к ним очень осторожно

Есть сегменты, которые я не беру в работу. Почему? Да просто потому, что боюсь очередного бана, блока, пессимизации, блокировки и всего того, что обычно со всем этим делает всемогущий дзеновский шива-алгоритм. Я много раз натыкалась в работе с платформой на то, что если у тебя в блоге какая-то неугодная ему информация или стоп-слова, или стоп-тема,…

День 1097: Путин поручил предусмотреть преимущества для российского бизнеса на случай возвращения иностранного

Собираем новости, события и мнения о рынках, банках и реакциях компаний.

Владимир Путин. Источник фото: «Ведомости»
3232
1919
33
Трамп, приди! Порядок наведи! Бренды западные верни! Мастеркард и визу подключи! В подъездах, как Обама, не сри! Прямые рейсы в Ньй-Йорк верни!
Apple инвестирует $500 млрд в производство в США и создаст 20 тысяч рабочих мест в течение следующих четырёх лет

До этого Трамп пригрозил ввести 10%-е пошлины на импорт из Китая, где компания производит большинство своих продуктов.

Глава Apple Тим Кук на инаугурации Дональда Трампа. Фото Bloomberg
1010
11
11
11
На моем производстве сотрудников чипируют, держат в холоде, ну и доят, конечно

У меня было 4 машины, двухкомнатная квартира и дом в центре города. Я был не последним человеком на заводе и привык не смотреть на цены в магазинах.

В остальном стараемся действовать традиционно. Это я с ивой — в будущем хочу давать её козам как средство от гельминтов
6464
66
11
11
Очень неоднозначное ощущение оставил матерал. Во1, я всё таки рекомендую воспользоваться господдержкой, если это возможно. Она для этого и придумана. Люди не будут против. Не пользоваться льготой, когда она очень сильно нужна - не благородство, а... Вобщем, берите поддержку и не выносите себе мозг. 2. Кажется, вы не в нуле только потому, что продали имущество. Начинайте прямо сейчас считать доходы и расходы, а то пойдете по миру. Это сначала кажется страшно, а потом окажется полезным. Я готова совершенно безвозмездно проконсультировать вас или жену как это сделать, если всё таки решитесь.
Давай расстанемся друзьями: как сменить SEO-подрядчика без ущерба для бизнеса
Давай расстанемся друзьями: как сменить SEO-подрядчика без ущерба для бизнеса

Отношения в бизнесе похожи на отношения между людьми. Сначала яркая самопрезентация, как на первом свидании, притирка на первых месяцах. Если все идет хорошо, компании работают в согласии и взаимопонимании. Но все это в любой момент может смениться охлаждением: если бизнес-показатели низкие, и неудовлетворенность сотрудничеством растет, стоит перес…

77
33
Apple отключила российским разработчикам доступ к платформе Apple Developer Enterprise Program — на ней создавали iOS-приложения для корпоративного использования без публикации в App Store

Причины Apple не назвала.

Источник фото: AppleInsider
1313
77
66
55
22
Apple в очередной раз подтвердил - iPhone это для тех кто любит боль
[]