Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
По сравнению с прикладным программированием общего назначения машинное обучение (ML) является относительно недавней областью исследования. Крупные инициативы в области ML сегодня поддерживаются как аппаратным, так и программным обеспечением, позволяя предприятиям принимать более разумные решения, а инструменты и решения ML повсеместно распространились по технологическому ландшафту. MLOps — это новая область, которая возникла в результате этого.
В первой части этой статьи мы обсудили, что такое MLOps, а теперь поговорим о различных MLOps-инструментах .
MLOps-инструменты
Когда вы будете искать решение, соответствующее вашим целям и помогающее в реализации MLOps, то увидите, что существует множество возможностей. Вам нужно будет рассмотреть варианты программного обеспечения с открытым исходным кодом в сравнении с проприетарным ПО, а также SaaS в сравнении с локальными решениями.
MLOps-инструменты с открытым исходным кодом и проприетарные инструменты — Пользователи программного обеспечения с открытым исходным кодом могут свободно читать, изменять и распространять исходный код в своих целях. Исходный код проприетарного программного обеспечения недоступен широкой публике. Только фирмы, создающие это программное обеспечение, имеют возможность вносить в него изменения.
SaaS по сравнению с локальными MLOps-инструментами — Доступ к программам предоставляется через софт как услугу (SaaS). Через веб, пользователи взаимодействуют с интерфейсом программного обеспечения. Для локальных программных решений используется внутренний хостинг. Обычно это более безопасно, но расходы на администрирование и поддержание необходимой инфраструктуры выше.
У MLOps есть доступ ко всем этим возможностям. Ваше решение должно основываться на ваших индивидуальных целях, внутренних знаниях и финансовых возможностях.
Топ-6 инструментов MLOps:
Ниже перечислены инструменты, которые широко используются для поддержки ML-проектов:
Comet
Comet ML автоматизирует процесс трекинга датасетов, изменений кода, истории исследований и производственных моделей для команд аналитиков данных, что повышает эффективность, транспарентность и воспроизводимость. Все ваши эксперименты можно увидеть и сравнить в одном месте. Он работает с любой ML-библиотекой и для любой ML-задачи, независимо от того, где вы выполняете свой код. Предназначен для всех, кто хочет упростить просмотр экспериментов и облегчить работу над тестами и их выполнение.
Особенности
→ Разнообразные возможности для совместной работы в команде или группе
→ Совместимость с существующими ML-библиотеками
→ Занимается управлением пользователями.
→ Сравнивает эксперименты с точки зрения кода, гиперпараметров, метрик, прогнозов, зависимостей, системных метрик и т.д.
→ С помощью отдельных модулей для обработки зрения, аудио, текста и табличных данных вы можете отображать сэмплы.
→ Он поставляется с набором интеграционных функций, которые упрощают его подключение к другим инструментам.
Amazon SageMaker
Это ML-платформа, которая позволяет создавать, обучать, управлять и деплоить ML-модели в условиях продакшн-реди. Благодаря специально разработанным инструментам, таким как маркировка, подготовка данных, обучение, настройка, мониторинг хостинга и многое другое, она ускоряет ваши исследования. Устраняет все препятствия, с которыми сталкиваются разработчики при попытке использовать ML.
В Amazon SageMaker имеется около 17 встроенных ML-сервисов, а в ближайшие годы их станет еще больше. Следует убедиться, что вы достаточно хорошо понимаете основы AWS, потому что невозможно предугадать, во что вам может в итоге обойтись ежечасное выделение этих серверов.
Особенности:
→ Она включает в себя ряд ML-алгоритмов для обучения ваших данных (больших датасетов). Это помогает увеличить точность, масштаб и скорость вашей модели.
→ Линейная регрессия, XGBoost, кластеризация и сегментация клиентов входят в число контролируемых и неконтролируемых ML-методов, включенных в Sagemaker.
→ Моделирование, маркировка и развертывание ускоряются благодаря сквозной ML-платформе. На основе ваших данных функции AutoML автоматически генерируют, обучают и настраивают оптимальную ML-модель.
→ Она позволяет вам интегрировать API и SDK, упрощая настройку и обеспечивая доступ к ML-алгоритмам из любого места.
→ Она включает более 150 готовых решений, которые вы можете использовать прямо сейчас. Это руководство поможет вам начать работу с Sagemaker.
Машинное обучение Azure
Azure Machine Learning - услуга, предоставляемый компанией Microsoft. Это облачная платформа для обучения, развертывания, автоматизации, управления и трекинга ML-моделей. Она может использоваться для любого типа машинного обучения, от классического до глубокого, а также для контролируемого и неконтролируемого.
Особенности:
→ Используя автоматизированное машинное обучение, Azure ML-платформа поддерживает Python, R, Jupyter Lab и R studios.
→ Функциональность перетаскивания (drag-and-drop) создает ML-среду, свободную от кода, что позволяет специалистам, изучающим данные, легче взаимодействовать.
→ Обучать модель можно на собственном компьютере или в облачной рабочей ML-среде Azure.
→ Tensorflow, Scikit-learn, ONNX и Pytorch входят в число инструментов с открытым исходным кодом, поддерживаемых ML в Azure. У нее есть собственная платформа MLOps с открытым исходным кодом (Microsoft MLOps).
→ Совместные блокноты, AutoML, маркировка данных, MLOps, Hybrid и поддержка нескольких облаков — вот лишь некоторые из основных функций.
→ Надежные функции MLOps дают возможность создания и развертывания решений. Отслеживать и управлять ML-экспериментами очень просто.
Централизация знаний означает возможность воспроизводить, экстраполировать и адаптировать эксперименты. Узнайте, как такие крупные компании, как Uber, делятся своими собственными знаниями.
Облачная AI-платформа Google
Это полностью управляемая сквозная платформа для машинного обучения и даталогии. Она обладает возможностями, которые делают управление сервисами более простым и плавным. Разработчики, ученые и дата-инженеры могут извлечь пользу из своей ML-методологии. Платформа имеет ряд функций, которые помогают в управлении жизненным циклом машинного обучения. Она предлагает расширенные ML-услуги, включая предварительно обученные модели и генерацию модели.
Особенности:
→ Облачное хранилище и сервис big-query помогают подготовить и сохранить наборы данных. Затем вы можете использовать встроенную функцию для маркировки данных.
→ Можно выполнять задачи без написания кода, используя функцию Auto ML с простым в использовании пользовательским интерфейсом. Вы можете использовать Google Colab, где можно бесплатно запустить свой блокнот.
→ Облачная платформа Google поддерживает множество фреймворков с открытым исходным кодом, таких как KubeFlow, блокноты Google Colab, TensorFlow, образы виртуальных машин, обученные модели и технические руководства.
→ Развертывание может быть выполнено с помощью функций Auto ML, и она может выполнять действия над вашей моделью в режиме реального времени.
→Управляйте и контролируйте свою модель и сквозной поток работы с помощью пайплайнов. Вы можете валидировать свою модель с помощью AI обоснований и инструмента What-if-tool (“Что, если”), который поможет узнать выходные данные вашей модели, ее поведение, способы улучшения модели и данных.
Metaflow
Это модуль Python, который помогает специалистам по данным и инженерам в разработке и управлении реальными проектами. Это система рабочего пространства, предназначенная для управления жизненными циклами машинного обучения. Он был создан компанией Netflix, чтобы помочь ученым работать более эффективно.
Особенности:
→ Netflix и Amazon Web Services (AWS) выпустили Metaflow в 2019 году. Он может взаимодействовать с SageMaker, Python и библиотеками на основе глубокого обучения.
→ Он предоставляет унифицированный API для стека, который необходим для выполнения проектов даталогии от прототипа до продакшн.
→ Для доступа к данным используется хранилище, которое может быть локальным файлом или базой данных.
→ Metaflow — это графический пользовательский интерфейс, который помогает вам создать направленную ациклическую сеть для вашей рабочей среды (D-A-G).
→ Вы отслеживаете все свои эксперименты, версии и данные после их деплоя в продакшн.
Paperspace
Градиент — это ML-платформа, разработанная компанией Paperspace, которую можно использовать для любых целей — от исследования до продакшн. Она позволяет создавать, отслеживать и совместно работать над ML-моделями. Для обработки всех ваших ML-экспериментов предлагается решение с использованием облачного хостинга. Поскольку большая часть рабочего процесса основана на NVIDIA GRID, вы можете ожидать значительных и быстрых результатов.
Особенности:
→ Почти все фреймворки и библиотеки, которые вы уже используете или только планируете, поддерживаются Paperspace Gradient.
→ Все ваши эксперименты и ресурсы могут обучаться, отслеживаться и мониториться на единой платформе.
→ Функциональность GitHub в GradientCI, поддерживаемая jupyter notebooks, позволяет объединить ваш ML-проект с репозиторием GitHub.
→ Вы получите бесплатные мощные графические процессоры, которые можно запустить одним щелчком мыши.
→ Создавайте ML-пайплайны, используя современные детерминированные методы. Оптимизируйте управление версиями, тегами и жизненным циклом.
→ Ваши предыдущие эксперименты могут быть легко преобразованы в платформу для глубинного обучения.
→ У них есть недорогая карта NVIDIA M4000, а также NVIDIA P5000, которая позволяет оптимизировать тяжелые и высокопроизводительные рабочие ML-процессы. Они намерены интегрировать AMD для улучшения рабочих ML-процессов.
Как выбрать подходящий инструмент для вашего проекта?
Ваше решение основывается на потребностях вашего проекта, его зрелости и масштабе деплоя. Ваш проект должен быть хорошо организован (Cookie Cutter — хороший инструмент структурирования проектов, который поможет вам в этом). Прежде чем выбрать любое решение MLOps, задайте себе следующие вопросы:
Оно должно быть удобным для специалиста по анализу данных, а не заставлять ваши команды использовать специальные инструменты и фреймворки.
Оно должно легко инсталлироваться, конфигурироваться и персонализироваться.
Оно должно легко интегрироваться с вашей текущей платформой.
Оно должно обеспечивать возможность повторения результатов, независимо от того, работаете ли вы с командой, отлаживаете сбой в продакшн или итерируете существующую модель; воспроизводимость имеет решающее значение.
Оно должно быть масштабируемым. Выберите платформу, которая удовлетворяет вашим текущим требованиям и может масштабироваться в будущем как для работы в режиме реального времени, так и для пакетных рабочих нагрузок, обеспечивая сценарии высокой пропускной способности, автоматическое расширение при увеличении трафика, легкий контроль затрат, а также безопасные процессы деплоя и релиза.
Заключение
Эта статья — всего лишь набросок концепции MLOps, лучших MLOps-инструментов и их особенностей. Хотя MLOps-пайплайн каждой команды может отличаться в зависимости от ситуации применения и отрасли, основные концепции остаются неизменными: инвестировать время и деньги всегда рискованно.
Деплой ML-моделей и внедрение MLOps-процессов может быть непростым делом. Однако в современном мире, управляемом данными, избежать сложностей невозможно. Обретение компетентности в области MLOps окупится многократно по мере того, как ваша компания будет создавать все больше моделей, не ограничиваясь коммерческой выгодой от текущего ML-проекта.
Скоро в OTUS пройдет открытый урок для тех, кто размышляет о том, как начать свой путь в профессии Data Science. На этом занятии мы поговорим о том, какие задачи решает Data Scientist и где сегодня применяются результаты его трудов (а ведь применения DS и AI мы встречаем просто повсюду).
Парадоксально, но факт: Data Science — это круто, интересно и очень востребовано, но это не так сложно, как кажется на первый взгляд. Всего за один вебинар вы научите компьютер определять, что изображено на картинке, обучив свою первую модель машинного обучения для решения задачи классификации изображений. Регистрация здесь.