Перевод статьи подготовлен совместно с Моргуновой Анной, за что ей огромное спасибо ???? Другие материалы ML REPA и ссылки на видео митапов и конференций можно найти в открытой странице в Notion.
Обзор
???? Вы узнаете, что такое MLOps, зачем вам нужны MLOps для ваших проектов машинного обучения, почему MLOps должен быть open source и примеры существующих инструментов MLOps.
Автор: Yuqi Li
Оригинал: Why MLOps tools should be Open Source
Почему инструменты MLOps должны быть Open Source
Большинство компаний используют инструменты MLOps для автоматизации конвейеров, мониторинга и управления различными проектами машинного обучения, которые решают их бизнес-задачи. Инструменты MLOps обеспечивают систематический подход к работе в проектах машинного обучения.
В этой статье вы узнаете:
Что такое MLOps?
Зачем вам MLOps?
Почему MLOps должны быть open source?
Пример инструментов MLOps open-source
Давайте начнем! ????
Что такое MLOps?
MLOps происходит от двух терминов «машинное обучение» (machine learning) и «операции» (operations), которые относятся к набору процедур, направленных на автоматизацию жизненного цикла проекта машинного обучения. MLOps дает группе специалистов по data science и команде IT-специалистов руководство по совместной работе и созданию наиболее эффективного решения в области машинного обучения для конкретной проблемы.
MLOps происходит от двух терминов «машинное обучение» (machine learning) и «операции» (operations), которые относятся к набору процедур, направленных на автоматизацию жизненного цикла проекта машинного обучения. MLOps дает группе специалистов по data science и команде IT-специалистов руководство по совместной работе и созданию наиболее эффективного решения в области машинного обучения для конкретной проблемы.
MLOps похож на DevOps, но исполнение отличается. Поскольку машинное обучение носит более экспериментальный характер, MLOps рассматривает другие практики, такие как валидация данных, реинженеринг признаков (features reengineering), анализ и оценка моделей, в условиях изменения данных с течением времени. Цель состоит в том, чтобы создать непрерывный пайплайн (конвейер) для всех важных этапов вашего проекта машинного обучения.
Ключевые этапы MLOps:
Сбор данных
Анализ данных
Преобразование/подготовка данных
Обучение и развитие модели
Проверка модели
Подача модели
Мониторинг модели
Переобучение модели
Инструменты MLOps могут помочь вам сделать сквозные (end-to-end) проекты машинного обучения гибкими, управляемыми и воспроизводимыми со всеми важными этапами жизненного цикла машинного обучения.
Зачем вам MLOps?
Работа в ML проекте может вызвать множество проблем, особенно когда вам приходится иметь дело с такими важными моментами, как:
Работа в ML проекте может вызвать множество проблем, особенно когда вам приходится иметь дело с такими важными моментами, как:
Сбор и очистка больших объемов данных
Анализ и визуализация ваших данных
Отслеживание конфигурации и результатов различных экспериментов во время обучения модели машинного обучения
Развертывание вашей модели в production
Мониторинг качества вашей модели машинного обучения
С MLOps вы будете выполнять все необходимые шаги для создания ваших решений машинного обучения в эффективном рабочем процессе. Это также поможет вам сэкономить время и снизить затраты на операции. Руководители проектов, специалисты по данным и другие специалисты в вашей команде будут более гибкими и будут иметь стратегии, позволяющие легко принимать решения для достижения своих целей.
MLOps предлагает множество преимуществ для команд, которые хотят интегрировать модели машинного обучения в свои приложения. Это упростит процесс развертывания, поможет улучшить операции и обслуживание, а также даст вашим моделям возможность масштабироваться когда требуется.
Компаниям в этих сценариях рекомендуется рассмотреть возможность использования инструментов MLOps для достижения своих бизнес-целей.
Масштабирование существующих моделей машинного обучения
Планирование сложных моделей машинного обучения
Проекты машинного обучения, в которых участвуют несколько команд, таких как команда Data Science и IT-команда.
Почему MLOps инструменты должны быть open source?
Open-source MLOps инструменты дают вам возможность свободно и гибко использовать, читать и изменять исходный код, не тратя целое состояние.
Open-source MLOps инструменты дают вам возможность свободно и гибко использовать, читать и изменять исходный код, не тратя целое состояние.
Вот несколько веских причин, по которым MLOps должны быть open source.
1. Экономическая эффективность
Большинство проприетарных платформ MLOps являются более дорогостоящими по сравнению с open-source инструментами. Проприетарные MLOps постоянно просят существующих клиентов платить за обновления или новые функции для использования на их платформах.
Иногда вы можете заплатить за план подписки, но вы не собираетесь использовать все функции, представленные в этом плане, что является пустой тратой денег. С open source MLOps инструментами у вас есть возможность выбрать лучшие инструменты для своих нужд и свободно модифицировать их в соответствии со своими конкретными потребностями.
2. Право собственности
Open source MLOps инструменты дают вам возможность владеть и управлять ими с полным контролем. Вы можете установить и запустить open-source MLOps инструмент в своей собственной инфраструктуре для запуска своих проектов машинного обучения.
Большинство проприетарных MLOps инструментов принадлежат компаниям, которые не позволяют вам, как клиенту, иметь полный контроль над своим инструментом для запуска ваших проектов. Иногда вам нужно будет запросить разрешение или отправить запрос на выполнение конкретной задачи на их платформах. Очевидно, что это может занять больше времени, чем ожидалось.
3. Не беспокойтесь о конфиденциальности
Они сказали, что данные — это новая нефть, поэтому вы не хотите, чтобы все имели доступ к вашим активам. По данным findstack.com, компании ежедневно генерируют около 186.265 гигабайт данных в различных отраслях. К 2023 году сгенерированные данные будут стоить около 77 миллиардов долларов.
Данные обычно очень чувствительны. Использование проприетарных MLOps может привести к проблемам с конфиденциальностью данных, поскольку вы не полностью контролируете платформу. Open source MLOps могут помочь вам избежать любых проблем с конфиденциальностью за счет:
Больше контроля над вашими данными.
Адаптация вашего MLOps инструмента в соответствии с вашей политикой конфиденциальности данных.
Полный аудит вашего MLOps инструмента для проверки манипуляций с данными и внесения необходимых изменений.
4. Создайте сообщество вокруг инструмента
Open-source MLOps инструменты создаются и поддерживаются сообществом пользователей. Любой участник сообщества может предлагать новые идеи или новые функции для платформы. Вы также можете помочь кому-то еще решить проблему на платформе.
Коды инструмента всегда доступны, что дает членам сообщества возможность внедрять инновации и эффективно сотрудничать. Например, репозиторий MLflow GitHub в настоящее время содержит 155 запросов , чтобы предложить новые изменения в инструменте. Эти запросы либо добавляют новые функции, либо устраняют ошибки.
Проприетарные MLOps не предлагают тех же преимуществ по сравнению с open-source MLOps. Устранение ошибок или получение помощи в проприетарном инструменте MLOps может занять больше времени, поскольку у них есть специальная группа людей, которые отвечают на ваши запросы.
Пример open-source MLOps инструментов
Существует множество open-source MLOps инструментов, которые вы можете начать запускать и управлять своими проектами машинного обучения. Большинство этих инструментов предлагают различные услуги, поэтому вам придется выбрать один из них в соответствии с вашими требованиями. Вот некоторые рекомендуемые популярные open-source инструменты.
Существует множество open-source MLOps инструментов, которые вы можете начать запускать и управлять своими проектами машинного обучения. Большинство этих инструментов предлагают различные услуги, поэтому вам придется выбрать один из них в соответствии с вашими требованиями. Вот некоторые рекомендуемые популярные open-source инструменты.
Это дружественная к Python и code-based система MLOps, но она также поддерживает язык R. Вы можете использовать этот инструмент MLOps в различных проектах машинного обучения с большими командами. Он предоставляет различные сервисы машинного обучения, интегрированные в AWS.
Metaflow open-source с декабря 2019 года и изначально был разработан в Netflix, чтобы помочь специалистам по данным и инженерам по машинному обучению создавать и управлять реальными данными научных проектов.
Open-source оснащен встроенными функциями для:
Управления внешними зависимостями
Управления вычислительными ресурсами
Воспроизведения и возобновления выполнения рабочего процесса
Перемещайтесь назад и вперед между локальным и удаленным режимами выполнения
Выполнения контейнерных запусков
Metaflow доступен в виде пакета Python для пользователей macOS и Linux. Вы можете загрузить его, посетив их репозиторий GitHub или получить последнюю версию из PyPI:
pip установить metaflow
Это еще один open-source MLOps инструмент, который может помочь вам управлять жизненным циклом проекта машинного обучения. В настоящее время MLflow предлагает четыре компонента:
MLflow Tracking
Этот компонент помогает вам использовать API или UI для регистрации параметров, метрик, версий кода и выходных файлов при проведении экспериментов машинного обучения и, наконец, визуализировать результаты. Вы можете использовать Python API, R API и Java API для регистрации и запроса экспериментов.
MLflow Projects
Этот компонент помогает вам упаковать код машинного обучения в повторно используемую и воспроизводимую форму, чтобы вы могли развернуть его в работе или поделиться им с другими специалистами по данным.
MLflow Models
Этот компонент помогает вам управлять моделями машинного обучения, разработанными с использованием различных библиотек машинного обучения, и развертывать их на различных платформах обслуживания моделей и вывода.
Model Registry
Вы можете использовать этот компонент для совместного управления полным жизненным циклом модели MLflow путем аннотирования, хранения и управления моделями в центральном репозитории.
Примечание : Он также интегрирован с несколькими популярными решениями MLOps, такими как Amazon SageMaker, Google Cloud, Docker, H20.ai, Kubernetes и Databricks.
DVC или контроль версий данных
Это система управления версиями open-source для проектов Data Science и машинного обучения. Он может контролировать наборы данных, модели машинного обучения и другие файлы в вашем проекте.
Он также связывает их с помощью кода и использует Amazon S3, Microsoft Azure Blob Storage, Aliyun OSS, SSH/SFTP, Google Drive, Google Cloud Storage, HDFS, HTTP, сетевое хранилище или диск для хранения содержимого файлов.
Как гибкий инструмент MLOps, DVC может помочь группе специалистов по обработке и анализу данных сотрудничать и разрабатывать общие и воспроизводимые проекты машинного обучения. Система управления версиями данных имитирует любой стандартный репозиторий, сервер или поставщик Git, поэтому вы можете легко внедрить DVC в свой проект машинного обучения.
Hidden text
???? Дополнение редактора: DVC имеет гораздо больше возможностей для MLOps сценариев в связке с другими open source инструментами:
Автоматизация пайплайнов ML экспериментов и генерации прогнозов (inference)
Получение доступа и загрузка необходимых моделей в среду промышленной эксплуатации (production)
В связке с другими open source инструментами, в том числе Continuous Machine Learning (CML) и MLEM позволяет выстроить полноценную MLOps платформу
GTO (Git Tag Ops) превращает ваш Git репозиторий в Artifact Registry (можно использовать для моделей, датасетов и др.)
Финальные мысли
Open-source MLOps инструменты обладают большим потенциалом и преимуществами по сравнению с проприетарными инструментами MLOps. Вот почему все больше и больше проектов машинного обучения используют MLOps с открытым исходным кодом.
Open-source MLOps инструменты обладают большим потенциалом и преимуществами по сравнению с проприетарными инструментами MLOps. Вот почему все больше и больше проектов машинного обучения используют MLOps с открытым исходным кодом.
Проприетарные инструменты MLOps рекомендуется использовать только в том случае, если у вашей команды нет большого инженерного опыта для создания и управления инфраструктурой для запуска ваших проектов машинного обучения.
В этой статье вы узнали, что такое MLOps, зачем вам нужны MLOps для ваших проектов машинного обучения, почему MLOps должен быть open source и примеры существующих инструментов MLOps.
Если вы узнали что-то новое или вам понравилось читать эту статью, поделитесь ею, чтобы другие могли ее прочитать.