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

Ну, угадай еще.

MLOps — это слон в комнате, где компании могут потерпеть неудачу при запуске решения на основе машинного обучения. По данным Gartner (октябрь 2020 г.), только 53% проектов доходят от прототипа до производства, и это в организациях с определенным уровнем опыта ML. так что если вы технический менеджер: генеральный директор, вице-президент по исследованиям и разработкам, технический директор, и вы хотели бы быть частью этой статистики, вы можете остановиться здесь.

MLOps может относиться к ОПЕРАЦИЯМ машинного обучения, но это определение может быть сложным, поскольку оно включает в себя значительный набор практик, навыков, ролей и сотрудников для их выполнения.

В недавнем исследовании Forrester обнаружил, что 73% респондентов заявили, что внедрение MLOps сохранит их конкурентоспособность, а 24% заявили, что это сделает их лидером отрасли.

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

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

1. Доступно — 1 модель ML / конечные пользователи бета-версии (1: несколько)

2. Возможность производства — модель 1 ML/много конечных пользователей (1:много)

3. Масштабируемость — много моделей машинного обучения / много конечных пользователей (много:много)

Доступно

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

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

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

Rillow — это компания по недвижимости, команда специалистов по данным, разрабатывающая модель для прогнозирования цен на жилье, чтобы найти недооцененные активы, потенциально покупая и продавая активы (любое сходство с историей Zillow чисто случайно). Во время PoC оценка F1 составляла 95%, но во время реализации проблема заключалась в том, как внедрить модель машинного обучения в продукт. Принятие решения о покупке недвижимости по завышенной цене может быть болезненным шагом. Чтобы избежать провала, необходим механизм, основанный на постепенном внедрении.

Бредовое восприятие машинного обучения как технологии plug-and-play с немедленной отдачей может привести к горькому разочарованию.

Жизнеспособный процесс развертывания может состоять из трех этапов: теневое, канареечное и полное развертывание.

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

Развертывание Canary часто является синонимом A/B-тестирования. На этом этапе мы представляем новую модель небольшому проценту конечных пользователей. Мы хотели бы увидеть улучшение предопределенных KPI, только тогда мы сможем увеличить объем трафика, обрабатываемого новой моделью.

Полное развертывание — это этап, на котором мы обрабатываем 100% трафика. Рекомендуется сохранить старую версию, чтобы мы могли легко вернуться к предыдущей модели.

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

Простой способ демистифицировать концепцию ML Obtainable Productionable Scalable — построить линию по производству тортов.

Все мы любим торты.

Прежде всего, у вас должен быть секретный соус (модель ML). Следующая задача — внедрить его в торт и получить отзывы от клиентов. Только после этого можно построить первую производственную линию. Будет бесполезно производить его до того, как вы получите отзывы от клиентов. Следующим этапом является масштабирование нескольких «секретных соусов» на несколько производственных линий с миллионами клиентов.

Инструменты MLOps для доступных моделей

  1. Управление экспериментами — организуйте, визуализируйте, сравнивайте и оценивайте эксперименты по машинному обучению.
  2. Реестр моделей — центральный репозиторий, который позволяет разработчикам управлять версиями моделей и публиковать различные готовые к производству модели.

* Само собой разумеется, что некоторые из инструментов, актуальных для всех этапов

Ключевой вывод

«Существует ли механизм, обеспечивающий бесперебойную реализацию модели машинного обучения как для технических групп (постепенное развертывание), так и для бизнес-групп (бизнес-логика)?»

Производственный

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

ML CI/CD — это аспект операций машинного обучения, который автоматически и непрерывно выполняет предварительную обработку данных, обучение, настройку, оценку, утверждение, развертывание и производство моделей машинного обучения для адаптации к изменениям в данных. Триггером для повторной сборки может быть изменение данных, изменение модели или изменение кода (важным компонентом является интеграция с репозиториями Git). Основной задачей на этом этапе является устранение барьера между исследованиями и производством.

Хороший кибер — это киберкомпания с моделью, основанной на машинном обучении, для обнаружения вредоносных программ или уязвимостей. С более чем 500 000 новых вредоносных программ в день или серьезными уязвимостями, такими как Log4J, вчерашняя модель не будет учитывать быстрые изменения. Необходима автоматизация ML CI/CD (термин непрерывное обучение (CT) для ML CI/CD может быть узким определением концепции, поскольку включает только фазу обучения), пример Good Cyber ​​подчеркивает необходимость автоматизации и гибкая среда.

Существует два типа ML CI/CD: управляемые событиями и управляемые временем. Управление событиями основано на реакции на событие (по аналогии с архитектурой, управляемой событиями). Процесс переобучения может быть инициирован снижением точности. В этом случае специалист по данным может проанализировать первопричину и принять решение о переобучении модели с использованием новых данных.

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

Инструменты MLOps для производственных моделей

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

Ключевой вывод

«Есть ли у вас механизм, который постепенно переводит процессы с ручного на полуавтоматический/полный автомат??

Масштабируемость

Теперь, когда все готово, пришло время «масштабировать»: больше разработчиков, больше моделей, больше конечных пользователей.

Это могут быть новые модели для новых вариантов использования или разбиение одной монолитной модели на микромодели, такие как модель на одного клиента (B2B) или кластер клиентов (B2C).

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

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

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

Хранилище функций — это слой управления данными для машинного обучения (Uber представила Michelangelo в 2017 году — первое хранилище функций), позволяющее инженерам и специалистам по данным регистрировать, находить, использовать и делиться функциями в компании. Хранилище функций гарантирует, что функции всегда актуальны для прогнозов, и последовательно поддерживает историю значений каждой функции.

Совместное использование ноутбуков и экспериментов между командами становится еще одним важным параметром скорости разработки. Межорганизационное сотрудничество является ключевым компонентом для быстрого масштабирования от одной модели до 10/100/1000 моделей (хороший блог о совместном использовании ноутбуков).

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

Инструменты MLOps для масштабируемых моделей

1. Магазин функций — единая панель, где вы можете управлять всеми своими функциями.

2. AutoML — автоматизирует выбор, композицию и параметризацию моделей машинного обучения.

Ключевой вывод

«Есть ли у вас поддерживающая инфраструктура для эффективного и широкого масштабирования моделей машинного обучения?»

Сводка

Хотя запускать одну модель машинного обучения относительно несложно, если мы умножим ее на X экспериментов по оптимизации гиперпараметров, умножим на Y новых наборов данных, умножим на Z специалистов по данным и умножим на W моделей, вы получите картину, вещи усложняться.

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