6 новых библиотек Machine Learning (ML), которые стоит изучить, чтобы улучшить свои навыки в 2023

Немного мотивации

На дворе только начался 2023 год, а это значит, что пришло время открыть для себя новые тенденции в области Data Science и машинного обучения. Хотя старые материалы по-прежнему актуальны, знаний Pandas, NumPy, Matplotlib и Scikit-learn уже недостаточно.

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

1. BentoML

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

Она поддерживает сохранение / загрузку моделей в унифицированном формате (с версиями и тегами), что позволяет создавать организованный реестр моделей.

6 новых библиотек Machine Learning (ML), которые стоит изучить, чтобы улучшить свои навыки в 2023

Оттуда вы можете создать образ Docker вашей модели с помощью одной команды и обслуживать его локально:

$ bentoml containerize my_classifier:latest
$ docker run -it --rm -p 3000:3000 my_classifier:6otbsmxzq6lwbgxi serve --production

Или разверните его на любом облачном провайдере с помощью нескольких команд, не выходя из CLI. Вот пример для AWS Sagemaker:

$ pip install bentoctl terraform
$ bentoctl operator install aws-sagemaker
$ export AWS_ACCESS_KEY_ID=REPLACE_WITH_YOUR_ACCESS_KEY
$ export AWS_SECRET_ACCESS_KEY=REPLACE_WITH_YOUR_SECRET_KEY
$ bentoctl init
$ bentoctl build -b model_name:latest -f deployment_config.yaml
$ terraform init
$ terraform apply -var-file=bentoctl.tfvars -auto-approve

Статистика и ссылки:

2. MLFlow

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

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

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

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

Одна из них – MLflow, мой личный фаворит. Добавив следующую строку кода в сценарий, который обучает модель scikit-learn, MLflow захватит всё — саму модель, ее гиперпараметры и любую метрику, которую вы вычисляете с помощью функций sklearn.metrics:

mlflow.sklearn.autolog()

Как только вы закончите данный процесс, вы запустите mlflow ui на терминале, и он откроет панель мониторинга экспериментов с элементами управления для сортировки и визуализации ваших экспериментов:

6 новых библиотек Machine Learning (ML), которые стоит изучить, чтобы улучшить свои навыки в 2023

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

Статистика и ссылки:

3. DVC

Если говорить вкратце, то DVC – это Git для данных.

6 новых библиотек Machine Learning (ML), которые стоит изучить, чтобы улучшить свои навыки в 2023

DVC (Data Version Control) становится общедоступной библиотекой управления версиями данных и моделей. Она может:

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

Когда вы отслеживаете большой файл или каталог с помощью dvc add directory, создаётся облегченный файл метаданных directory.dvc. Затем DVC управляет этими лёгкими файлами в качестве заполнителей для исходных файлов с большим весом.

Следует заметить, что вместе они, DVC и Git, составляют идеальный дуэт.

Ещё одним преимуществом DVC являются интеллектуальные конвейеры рабочего процесса. Типичный рабочий процесс машинного обучения включает в себя такие этапы, как сбор данных, их очистка, разработка функций и обучение модели.

DVC может создать интеллектуальный конвейер из всех этих шагов, чтобы вы могли запускать их все с помощью двух ключевых слов — dvc repro.

DVC выполняет только необходимые этапы конвейера, экономя вам часы времени и вычислительные ресурсы.

Добавьте ML Flow в свои обучающие скрипты, отслеживайте артефакты модели с помощью DVC, и у вас получится идеальное трио (Git, DVC, ML Flow).

Статистика и ссылки:

4. Weights & Biases

Ещё одна платформа отслеживания экспериментов с полностью открытым исходным кодом – Weights & Biases (wandb.ai ). Она предоставляется компанией с финансированием более 200 миллионов долларов и клиентской базой, включающей OpenAI, NVIDIA, Lyft, BMW, Samsung и так далее.

Её основными преимуществами являются:

  • Отличная интеграция с остальной экосистемой ML, как и MLflow
  • Самый красивый пользовательский интерфейс для отслеживания и сравнения экспериментов
  • Совместные отчеты и информационные панели
  • Оптимизация гиперпараметров (отсутствует в MLflow)
6 новых библиотек Machine Learning (ML), которые стоит изучить, чтобы улучшить свои навыки в 2023

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

Итак, вашим идеальным трио, на самом деле, могут быть Git, DVC и Weights & Biases.

Статистика и ссылки:

5. NannyML

Развёртывание моделей – это только часть истории. Чтобы поддерживать успешный продукт на базе ML, вы должны постоянно контролировать его производительность.

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

Например, вы развернули модель, которая распознаёт одежду Nike по изображениям. Мода быстро меняется, поэтому Nike постоянно совершенствует свой дизайн.

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

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

Статистика и ссылки

6. Poetry

Вы, наверное, уже тысячу раз слышали, как программисты на Python жалуются на pip и его проблемы с зависимостями. Я тоже был одним из таких нытиков, пока не увидел Poetry.

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

6 новых библиотек Machine Learning (ML), которые стоит изучить, чтобы улучшить свои навыки в 2023

Вы также можете настроить свои проекты на Python в виде пакетов с файлами pyproject.toml, и Poetry позаботится о виртуальных средах, создавая и публикуя репозиторий в PyPI с помощью простых команд.

6 новых библиотек Machine Learning (ML), которые стоит изучить, чтобы улучшить свои навыки в 2023

Статистика и ссылки:

Заключение

Область Data Science постоянно развивается, и новые инструменты и библиотеки разрабатываются молниеносными темпами. Давление, чтобы не отставать, стало сильнее, чем когда-либо. В этой статье я сделал всё возможное, чтобы сузить ваше внимание до одной области машинного обучения, которая обещает стремительно вырасти в 2023 году. Спасибо вам за прочтение!

@machinelearning_ru – еще больше материалов по машинному обучению

+1
0
+1
13
+1
1
+1
1
+1
1

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *