Общий обзор инструментов MLOps и ML

искусственный интеллект
Общий обзор инструментов MLOps и ML

Это 29-й день моего участия в ноябрьском испытании обновлений. Узнайте подробности события:Вызов последнего обновления 2021 г.

Резюме

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

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

Ниже представлена ​​первая версия глобального обзора найденных нами платформ MLOps и инструментов машинного обучения.

ключевая статистика

  • Всего было проанализировано более 300 платформ и инструментов, из них примерно 220 активных проектов.
  • В Европе можно идентифицировать только 4 платформы MLOps (MLReef, Hopsworks, Valohai (Финляндия) и Polyaxon (Берлин, Германия)).
  • Большинство платформ и инструментов покрывают 2-3 задачи машинного обучения.

Жизненный цикл MLOps

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

Управление данными:В основном это все задачи, ориентированные на машинное обучение, для изучения, управления и создания данных (наборов).

Моделирование:Это в основном связано со всеми задачами, связанными с конвейером (конвейером), от обработки данных, моделей обучения и моделей проверки.

Непрерывное развертывание:Все эти задачи относятся к части «эксплуатация» MLOps, включая запуск, мониторинг и защиту производственных моделей.

Вычисления и управление ресурсами:Это весь функционал, связанный с вычислениями и управлением ресурсами.

Уведомление:

Один предоставленный инструмент можно найти в нескольких задачах ML. Мы идентифицировали их продукты как можно лучше, просмотрев их веб-сайт, демонстрационные видеоролики и практическое тестирование.

image.png

Сравнение платформ MLOps

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

  • Охватить не менее 5 задач в жизненном цикле машинного обучения,
  • существуют как минимум в 2 основных областях (например, управление данными + моделирование),
  • Позиционируйте себя как платформу MLOps.

По этому критерию из более чем 220 идентифицированных платформ и инструментов только 18 являются платформами MLOps.

image.png

функции цензуры

Следующий интересный вопрос: в чем разница между этими платформами?

Мы решили, что лучше всего перечислять не конкретные функции и функции, а более общие возможности продукта. Мы предлагаем следующие «мягкие» критерии, которые, на наш взгляд, определяют отличную платформу MLOps:

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

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

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

Сообщество:Мы считаем, что доступ к контенту сообщества становится все более важным по мере того, как становится доступным все больше наборов данных, функций на основе кода и библиотек. GitHub всегда был отличным источником кода, как и Kaggle и другие платформы для размещения кода/проектов. Тем не менее, мы хотели бы видеть прямое использование синергии сообщества в платформе MLOps. Правила: Каждый разделяемый элемент ML на платформе MLOps соответствует полосе (для вне команды).

Хостинг:Где я могу использовать платформу? Только в облаке, на собственном хостинге или только локально. Правило: Каждому из трех основных возможных вариантов использования соответствует брусок.

Подключение данных:В этом разделе описываются возможности сбора данных в рамках платформы. Мы определили четыре: на платформе, через источники данных (коннекторы данных), прямые API из сторонних приложений и через прямой доступ к базе данных. Правило: существует одна полоса для каждого из вышеупомянутых типов подключения к данным (не более 3 полос).

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

Углубленный обзор платформы MLOps

В следующих разделах более подробно рассматриваются платформы MLOps, перечисленные выше. Мы также включим разделы для каждого инструмента и платформы, которые мы нашли (но сейчас это слишком много!) в следующем обзорном анализе.

MLReef (с открытым исходным кодом)

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

  • управление данными: Полностью версионная инфраструктура для размещения и обработки данных.
  • Репозиторий кода выпуска: Контейнерный и версионный репозиторий скриптов, который гарантирует неизменное использование в конвейерах данных.
  • Управление экспериментом: Отслеживание экспериментов, управление средой и результатами
  • MLOps: Конвейерные и оркестрационные решения для задач ML/DL (k8s/cloud/bare metal)

Репозиторий с открытым исходным кодом:git lab.com/ml reef/dream...илиGitHub.com/ml риф/мечта...

image.png

image.png

Databricks

Описание. Открытая и простая платформа для хранения и управления всеми вашими данными, а также поддержки всех вариантов использования аналитики и ИИ.

Репозиторий с открытым исходным кодом:github.com/databricks

image.png

image.png

H2O (открытый исходный код)

Описание: H2O.ai является создателем H2O, ведущей платформы машинного обучения и искусственного интеллекта с открытым исходным кодом, которой доверяют специалисты по данным в 14 000 компаний по всему миру. Наше видение состоит в том, чтобы сделать интеллект доступным для всех с помощью отмеченной наградами платформы обработки данных, беспилотного искусственного интеллекта.

Репозиторий с открытым исходным кодом:github.com/h2oai

image.png

image.png

Iguazio

Описание. Платформа для анализа данных Iguazio преобразует проекты искусственного интеллекта в реальные бизнес-результаты. Ускорьте и масштабируйте разработку, развертывание и управление приложениями ИИ с помощью MLOps и сквозного автоматизированного конвейера машинного обучения (Pileline).

Репозиторий с открытым исходным кодом:github.com/iguazio/

image.png

image.png

Hopsworks (новый, с открытым исходным кодом)

Описание: HOPSWORKS 2.0 — это платформа с открытым исходным кодом для разработки и запуска моделей машинного обучения, которую можно использовать в качестве локальной платформы (версия с открытым исходным кодом или корпоративная версия) и управляемой платформы на AWS и Azure.

Репозиторий с открытым исходным кодом:GitHub.com/logical Кроме OC…

image.png

image.png

Algorithmia

Описание: Algorithmia — это программное обеспечение операций машинного обучения (MLOps) для управления всеми этапами жизненного цикла машинного обучения в существующих операционных процессах. Запускайте модели в производство быстро, безопасно и экономично.

Репозиторий с открытым исходным кодом:GitHub.com/алгоритм ИА…

image.png

image.png

Allegro AI (с открытым исходным кодом, ClearML)

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

Репозиторий с открытым исходным кодом:github.com/allegroai

image.png

image.png

Valohai⭐️ (коммерческий, из Финляндии)

Описание: тренируйтесь, оценивайте, развертывайте, повторяйте. Valohai — единственная платформа MLOps, которая автоматизирует извлечение данных для развертывания модели.

Репозиторий с открытым исходным кодом:github.com/valohai

image.png

image.png

Amazon SageMaker

Описание. Amazon SageMaker помогает специалистам по данным и разработчикам быстро подготавливать, создавать, обучать и развертывать высококачественные модели машинного обучения (ML), объединяя обширный набор функций, созданных для ML.

Репозиторий с открытым исходным кодом:GitHub.com/AWS/Amazon-…

image.png

image.png

Толстокожий (из открытых источников)

Pachydrm для хостинга и управления предназначен для пользователей, которым нужно все, что может предложить Pachydrm, без необходимости самостоятельно управлять инфраструктурой. С помощью Hub вы можете контролировать версии данных, развертывать сквозные конвейеры и многое другое. Практически не требует настройки и это бесплатно!

Репозиторий с открытым исходным кодом:GitHub.com/пахидерм/боюсь…

image.png

image.png

image.png

Датаику (коммерческий)

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

Репозиторий с открытым исходным кодом:github.com/dataiku

image.png

image.png

Alteryx

Описание. От данных к обнаружению и принятию решения — за считанные минуты. А также автоматизируйте и оптимизируйте аналитику для повышения эффективности бизнеса.

Репозиторий с открытым исходным кодом:github.com/alteryx

image.png

image.png

Domino Data Lab

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

Репозиторий с открытым исходным кодом:Данные GitHub.com/domino…

image.png

image.png

Google Cloud Platform

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

Репозиторий с открытым исходным кодом:GitHub.com/Googlecloud…

image.png

image.png

OpenML

Описание. Поскольку машинное обучение расширяет наши возможности понимать природу и строить лучшее будущее, крайне важно сделать его прозрачным и доступным для всех в исследованиях, образовании и промышленности. Проект OpenML (Open Machine Learning) — это широкомасштабная попытка создать открытую организованную онлайн-экосистему для машинного обучения.

Репозиторий с открытым исходным кодом:github.com/openml

image.png

image.png

MLflow⭐️ (с открытым исходным кодом)

Описание. MLflow — это платформа, которая упрощает разработку машинного обучения, включая отслеживание экспериментов, упаковку кода в воспроизводимые прогоны, а также совместное использование и развертывание моделей. MLflow предоставляет набор облегченных API-интерфейсов, которые можно использовать с любым существующим приложением или библиотекой машинного обучения (TensorFlow, PyTorch, XGBoost и т. д.) независимо от того, где вы в настоящее время запускаете свой код машинного обучения (например, в блокнотах, автономных приложениях) или в облаке. ).

Репозиторий с открытым исходным кодом:github.com/mlflow

image.png

image.png

SAS

Описание. Решайте самые сложные аналитические задачи с помощью единого интегрированного решения для совместной работы — теперь с автоматизированным API моделирования.

Репозиторий с открытым исходным кодом:github.com/sassoftware

image.png

image.png

Polyaxon⭐️ (из Берлина, Германия, с открытым исходным кодом, платформа машинного обучения для k8s)

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

Репозиторий с открытым исходным кодом:github.com/polyaxon

image.png

image.png

Microsoft Azure

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

Репозиторий с открытым исходным кодом:github.com/Azure

image.png

image.png

DagsHub (git+dvc+mlflow)

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

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

image.png

Официальный сайт:dagshub.com/

Ной.ро⭐️

Платформа Neuro MLOps для разработки и развертывания приложений ML/DL полного цикла в общедоступных, гибридных и частных облаках.

За годы работы по разработке инновационных ИИ-решений для ряда корпоративных клиентов компания Neuro из первых рук поняла проблемы, связанные с созданием и обслуживанием инфраструктуры и инструментов, необходимых для создания, развертывания и масштабирования ИИ-решений. Эта инфраструктура ИИ теперь называется: MLOps.

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

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

«Из коробки» Neu.ro запускает полноценную среду разработки машинного обучения со всеми необходимыми инструментами под рукой. Он интегрирует инструменты с открытым исходным кодом и проприетарные инструменты в клиентские системы. Конкретные компоненты следующие:image.png

Компоненты жизненного цикла проекта машинного обучения инструмент
1. Data labeling Label Studio
2. Data management DVC
3. Development environment VSCode and Jupyter
4. Remote debugging VSCode remote debugger
5. Code management Git
6. Experiment tracking MLflow
7. Hyperparameter tuning NNI
8. Distributed training Neu.ro
9. Metadata management MLflow
10. Model management MLflow
11. Deployment Seldon Core
12. Testing Locust
13. Monitoring Prometheus + Grafana
14. Interpretation Seldon Alibi
15. Pipelines orchestration Neu.ro
16. Resource orchestration Neu.ro
17. Access control orchestration Neu.ro

Официальный сайт:neu.ro/mlops/

Все инструменты и платформы MLOps и ML

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

управление данными

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

Исследование данных и управление ими

Инструменты и платформы, которые помогут вам управлять, исследовать, хранить и организовывать ваши данные.

Аннотация данных

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

поток данных

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

управление версиями данных

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

конфиденциальность данных

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

Проверка качества данных

Способы обеспечения работоспособности данных.

моделирование

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

Блокнот / управление кодом ML

Инструменты и платформы, которые помогут вам управлять, исследовать, хранить и организовывать свои записные книжки или операции машинного обучения. Мы специально не включали платформы SCM, такие как GitHub или Gitlab, поскольку они не являются специфичными для машинного обучения (хотя они вполне способны размещать эти функции).

Обработка и визуализация данных

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

разработка функций

Специальные платформы и инструменты для проектирования и хранения функций.

обучение модели

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

Отслеживание экспериментов

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

Оптимизация модели/гиперпараметра

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

автоматическое машинное обучение

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

Управление моделями

Управление моделями включает в себя хранение моделей, управление артефактами и контроль версий моделей.

Оценка модели

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

интерпретируемость модели

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

Непрерывное развертывание

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

управление потоком данных

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

преобразование признаков

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

монитор

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

Соответствие модели и аудит

Эта задача включает в себя обеспечение прозрачности происхождения модели.

Развертывание и обслуживание модели

Инструменты и платформы для интеграции возможностей развертывания моделей.

Проверка модели

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

Формат сериализации модели

Настройте модель для совместимости с другими фреймворками, библиотеками или языками.

Вычислительное управление

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

Вычисления и инфраструктура данных (серверы)

Эти организации предоставляют необходимые возможности (с точки зрения оборудования) для ваших проектов машинного обучения.

Управление окружением

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

Распределение ресурсов

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

Обслуживание моделей и расширения вычислительных задач

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

Безопасность и конфиденциальность

Эти инструменты позволяют управлять вопросами конфиденциальности (например, соответствием требованиям GDPR) и повышать уровень безопасности при развертывании моделей в рабочей среде.

Оригинальная ссылка:Global MLOps and ML tools landscape