TL;DR. Создание полноценного и хорошо продуманного решения с нуля может занять до двух лет, в течение которых вы направите свои ресурсы именно на эту цель. Время, которое вы могли бы использовать для разработки продукта и обучения ваших МЛ модели. Простой наем полной команды на год может стоить вам до 400 000 евро (а это еще больше!). Таким образом, если у вас нет очень специфического варианта использования, для которого требуется индивидуальное решение, предпочтительнее купить тот, который соответствует вашим потребностям. Существуют сотни компаний, которые вложили много усилий и денег в создание всех типов платформ для различных вариантов использования. Так что, скорее всего, вы в конечном итоге создадите что-то похожее на то, что есть.

Введение

Поскольку все больше и больше компаний используют преимущества операций машинного обучения (MLOps), у руководителей высшего звена возникает вопрос: должны ли мы создавать или покупать платформу MLOps?

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

С другой стороны, покупка готового стека MLOps означает, что он уже создан для вас (и в его создание и поддержку было вложено много усилий), что позволяет вам сосредоточиться на обучении и обслуживании ваших моделей.

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

Когда мне следует создавать платформу MLOps собственными силами?

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

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

С другой стороны, создание собственной платформы MLOps означает, что у вас есть полный контроль над данными, что означает создание собственного (высокого) стандарта безопасности. Если вы покупаете коммерческую платформу MLOps, вам придется согласиться на использование стандартов безопасности вашего провайдера.

Когда мне следует покупать платформу MLOps?

Покупка платформы MLOps — отличный выбор для компаний, которые ищут быстрое внедрение, скорость и эффективность.

Одним из наиболее важных преимуществ покупки решения MLOps является то, что вы можете сосредоточиться на том, что важно для вашего бизнеса, в то время как платформа занимается всем остальным. Это означает, что у вас будет больше времени для разработки своего продукта и сосредоточения внимания на науке о данных, а также для того, чтобы не отставать по мере роста ваших конкурентов.

Компании, покупающие готовые платформы MLOps, могут быть уверены в качестве технологии, в которую они инвестируют. На разработку этих технологий ушло много времени и ресурсов.

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

Эти преимущества повышают производительность ваших команд и позволяют им быстрее разрабатывать ваши продукты.

Что мне нужно для создания хорошо спроектированной платформы MLOps?

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

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

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

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

Источник: Представляем MLOps. Как масштабировать машинное обучение на предприятии. стр. 85 (Тревейл М., команда Daitaku, 2020 г.)

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

Кроме того, вам понадобится междисциплинарная команда, имеющая как минимум опыт в разработке программного обеспечения, науке о данных, архитектуре данных и DevOps.

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

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

Сколько времени занимает создание платформы MLOps?

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

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

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

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

Какова стоимость создания платформы MLOps?

Численность

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

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

Некоторые из должностей, которые вам нужно будет охватить, — это бэкэнд-разработчик (и), инженер (ы) данных, специалист по данным, DevOps и, вероятно, менеджер проекта.

Расходы на персонал будут меняться из года в год и зависят от города. По состоянию на начало 2022 года мы сделали оценку с помощью Glassdoor для команды машинного обучения на рынке Парижа (Франция). Только для многопрофильной команды из 6 человек, работающих в течение года, это может стоить вам около 400 тысяч евро.

  • Backend-разработчик: 65 000 € в год.
  • Инженер по обработке данных: 63 000 € в год.
  • Специалист по обработке данных: 60 000 евро в год.
  • DevOps: 72 000 евро в год
  • Менеджер проекта: 61k € / год
  • Архитектор машинного обучения: 81 000 € в год.

Задачи специалистов по данным обычно выполняются на стороне построения модели и включают работу с разрозненными данными, процессами и инструментами машинного обучения. Как указано в разделе «Введение в MLOps. Как масштабировать машинное обучение на предприятии» (O'Reilly, 2020), специалисты по данным должны выйти за рамки этих строго задач машинного обучения и помочь экспертам в предметной области (которые также рекомендуется включить в команду для обеспечения успеха) решать проблемы бизнеса.

Инженеры данных в основном отвечают за хранение, упорядочивание, обработку и преобразование данных, необходимых для цикла обучения вашей модели ML. И, прежде всего, им необходимо убедиться, что все идет хорошо с точки зрения приема данных (ETL) и инфраструктуры.

Инженеры-программисты должны работать вместе с учеными по данным, чтобы убедиться, что код машинного обучения, обучение, тестирование и развертывание вписываются в конвейеры CI/CD, которые использует остальная часть программного обеспечения.

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

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

Источник: Представляем MLOps. Как масштабировать машинное обучение на предприятии. (Тревейл М., команда Daitaku, 2020 г.)

Облачные вычисления

Кроме того, вам следует учитывать затраты на ресурсы, такие как наличие собственного вычислительного кластера или оплата облачного провайдера за сервер(ы). Платформа облачных вычислений для ML может стоить около 400 долларов в месяц за один сервер без графического процессора и 15 000 долларов за всю бэк-офисную инфраструктуру.

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

Чтобы узнать больше об этих трех облачных платформах в сравнении, мы предлагаем прочитать эту статью.

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

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

Заключение

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

Начните с определения потребностей вашего продукта и того, чего вы хотите достичь с помощью платформы машинного обучения. Обязательно определите объем вашего проекта, например функциональность, требуемую конфигурацию и потребности в масштабируемости. Как только вы это поймете, мы советуем тщательно изучить доступные платформы MLOps, поскольку, скорее всего, вы найдете ту, которая соответствует вашим потребностям.

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

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

Если вы хотите начать повторять и обучать свои модели с самого начала, мы предлагаем попробовать Picsellia. Чтобы узнать больше о нашем решении и о том, как оно может соответствовать вашим потребностям, закажите у нас демонстрацию!

Первоначально опубликовано на Picsellia