В MLOps разные платформы работают в среде науки о данных и контролируют свои услуги, одна из которых — Kubeflow.

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

Что такое МЛОпс? Зачем нам это нужно?

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

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

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

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

Кубефлоу

Когда дело доходит до обслуживания систем машинного обучения, управление платформами, приложениями и ресурсами иногда усложняется. Внедрение модели в производство — это не создание кода машинного обучения.

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

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

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

Он построен на Kubernetes, что помогает платформе работать в разных средах и на нескольких серверах.

Kubeflow построен на трех принципах.

1. Компонуемость

2. Портативность

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

Компонуемость

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

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

Благодаря этому Kubeflow использует возможности Kubernetes для обработки и настройки шагов с помощью библиотек и фреймворков машинного обучения.

Портативность

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

Независимо от того, запускает ли команда процесс на ноутбуке, локальном сервере или в облаке, Kubeflow обрабатывает абстракцию и позволяет команде сосредоточиться на коде.

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

Когда проекту машинного обучения требуется больше ресурсов, таких как ЦП, ГП или ТПУ, платформа Kubeflow автоматически масштабирует их для этих ресурсов и освобождает их, когда они не нужны.

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

Компоненты Kubeflow

До сих пор мы узнали о Kubeflow и его принципах. Kubeflow был разделен на различные компоненты, которые помогают платформе обрабатывать и работать. Kubeflow состоит из различных компонентов, а именно:

1. Центральная приборная панель

2. Блокноты Kubeflow

3. Катиб

4. Трубопроводы Kubeflow

5. KFServing

Центральная приборная панель

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

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

Ноутбуки Kubeflow

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

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

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

Катиб

Настройка гиперпараметров играет жизненно важную роль в разработке любой модели. Katib можно использовать для автоматической настройки гиперпараметров.

Однако иногда бывает сложно вручную искать гиперпараметры в организации.

Katib помогает оптимизировать гиперпараметры выбранной модели в соответствии с выбранными вами показателями производительности и отображает результаты в визуальном формате.

Трубопроводы Kubeflow

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

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

Из-за своей независимости любой шаг можно использовать в разных конвейерах для тестирования и экспериментов.

KFServing

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

KFServing построен на Knative, фреймворке для запуска бессерверных приложений в Kubernetes.

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

Заключение

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

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

Напротив, гибкость Kubeflow также позволяет вам выполнять свои задания везде, где вы можете запустить Kubernetes и всю платформу для работы.

Ссылки:

Компоненты Kubeflow. (2020, 25 апреля). YouTube. Получено 15 апреля 2020 г. с сайта https://www.youtube.com/watch?v=dC659IsHNyg.

Биография автора

Хассан Шервани — руководитель отдела аналитики данных и науки о данных в Royal Cyber. Он имеет докторскую степень в области информационных технологий и анализа данных и приобрел десятилетний опыт работы в ИТ-индустрии, стартапах и научных кругах. Хассан также получает практический опыт машинного (глубокого) обучения для энергетики, розничной торговли, банковского дела, права, телекоммуникаций и автомобилестроения в рамках своих усилий по профессиональному развитию.