Архитектура на основе микросервисов: ключ к масштабированию моделей корпоративного машинного обучения

В последнее десятилетие произошли полезные инновации в области искусственного интеллекта и машинного обучения (AI/ML). Сегодня прогрессивные предприятия все чаще используют модели машинного обучения для стимулирования операционного роста за счет принятия действенных решений. В сфере машинного обучения важной областью эволюции стали MLOps — набор методов, которые помогают компаниям объединять машинное обучение, DevOps и разработку данных для беспрепятственного развертывания моделей машинного обучения и надежного обслуживания систем машинного обучения.

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

Микросервисы: помощь компаниям в эффективном развертывании, производстве и масштабировании моделей машинного обучения

Исследования показывают, что микросервисы продолжают внедряться, и ожидается, что рынок будет расти экспоненциально в течение следующего десятилетия. Прогнозируется, что к 2026 году мировой рынок микросервисной архитектуры будет стоить 8,07 млрд долларов США по сравнению с 2,07 млрд долларов США в 2018 году, при этом среднегодовой темп роста составит 18,6%. Благодаря преобладанию архитектуры микросервисов и MLOps объединение этих концепций обещает принести успех ML предприятиям, которые видят будущее, основанное на быстром развертывании приложений, бесперебойной работе и гибкой разработке.

Архитектура для разработки и развертывания моделей машинного обучения оказывает заметное влияние на его успех. Жизненный цикл модели машинного обучения в идеале состоит из четырех ключевых компонентов:

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

Еще один ключевой элемент MLOps, основанный на микросервисах, — это бессерверность, что имеет решающее значение для автоматизации разработки контейнеров, автоматического масштабирования рабочего процесса, а также улучшения видимости и мониторинга. Для создания автоматизированных конвейеров машинного обучения крайне важно внедрить бессерверные платформы и использовать инструмент с открытым исходным кодом, такой как Kubeflow. Используя конвейеры Kubeflow и бессерверные платформы, такие как MLRun или Nuclio, предприятия могут быстро разрабатывать и развертывать автоматизированные конвейеры машинного обучения без необходимости явно фокусироваться на DevOps.

Производство моделей ML имеет явные преимущества, а архитектура на основе микросервисов облегчает ориентированную на продукт разработку и развертывание модели ML и обеспечивает сквозную видимость процесса. Этот подход помогает сделать процесс разработки как интерактивным, так и итеративным, что приводит к созданию надежных автоматизированных конвейеров машинного обучения на основе CI/CD. Другими словами, архитектура конвейера ML и конвейер Kubeflow имеют решающее значение для производства моделей ML и раскрытия полной ценности MLOps.

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

  • Разработка и развертывание. Одним из ключевых аспектов, определяющих успех любого приложения машинного обучения, является то, насколько легко разрабатывать и развертывать модели машинного обучения. Распространенный подход к обеспечению того, чтобы разработка и развертывание моделей происходили без нарушения производственной среды, заключается в использовании надежного набора обучающих данных для создания оптимизированной модели в автономном режиме. Затем эту модель можно проверить в автономном режиме по предварительно определенному набору данных проверки, а затем загрузить в архитектуру микросервисов. Команды могут использовать главный центр обмена сообщениями в архитектуре микросервисов для сопоставления данных о важных функциях из нескольких разрозненных источников в режиме реального времени.
  • Упаковка. Архитектура микросервисов позволяет разработчикам публиковать отдельные возможности машинного обучения в виде отдельной микрослужбы или публиковать независимые функции приложения в виде микрослужбы с возможностями машинного обучения. Однако в обоих случаях компонентом машинного обучения необходимо управлять отдельно из-за сложностей, связанных с такими процессами, как сбор данных, обучение/разработка модели, обновление модели и т. д.
  • Контейнеризация и управление. Чтобы интегрировать алгоритм машинного обучения в ИТ-платформу доставки, необходимо выполнить два основных шага. Во-первых, REST API должен быть интегрирован с алгоритмом машинного обучения, работающим за конкретным микросервисом. API, время выполнения и алгоритм должны быть упакованы в контейнер Docker. Во-вторых, все контейнеры (микросервисы) должны быть эффективно управляемы и организованы. Именно здесь Kubernetes может помочь изменить ситуацию. Kubernetes может помочь командам правильно классифицировать контейнеры по вычислительным кластерам и обеспечить управление рабочими нагрузками в соответствии с планом.
  • Масштабирование и производительность. Поскольку облако и контейнеры служат основой микросервисов, масштабируемость и производительность становятся неотъемлемым аспектом. Выбирая и разрабатывая различные компоненты приложений, разработчики должны тщательно выбирать и дорабатывать базы данных, среды выполнения, вычислительные механизмы и системы хранения на основе желаемой производительности и масштабируемости.

Что отличает архитектуру микросервисов?

Есть несколько аспектов, которые делают микросервисную архитектуру идеальным вариантом для крупных предприятий. По сравнению с более традиционными монолитными архитектурами микросервисы обеспечивают:

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

Вывод

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

Об авторе

Шрея — инженер данных в Sigmoid, который в настоящее время работает над созданием конвейеров Query Engine и ETL на Spark, BigQuery и участвовал в миграции Sigview с монолита на микросервисы.