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

Так что, может быть, нам придется вернуться и пересмотреть шаги, которые вы сделали, вероятно, 5 месяцев назад. Я согласен с тем, что люди могут проверить последний эксперимент, проведенный в git, а не каждое выполненное отслеживание.

MLFLOW приходит на помощь!!!!

Что такое МЛФОУ?

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

Компоненты MLFlow

MLFlow состоит из 4 компонентов

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

Установка MLFLOW

mlflow доступен в виде пакета python, и мы можем установить его с помощью

pip install mlflow

Начало работы с отслеживанием MLFlow:

Отслеживание MLflow можно организовать в приведенную ниже иерархию.

  1. Эксперименты
  2. Бегать
  3. Параметры регистрации

4. Регистрация показателей

5. Регистрация артефактов

6.Визуализация экспериментов и документирование артефактов

Шаг 1. Создание клиента отслеживания MLFLOW

MLFLOW предоставляет модуль отслеживания mlflow.tracking.MlflowClient , и мы должны создать клиентский объект, который предоставляет организованный API отслеживания.

Шаг 2. Создайте эксперимент

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

Шаг 3. Создайте цикл

Мы можем создавать разные запуски для эксперимента, а также создавать несколько запусков и отслеживать эксперимент с помощью run.

После создания запуска все журналы, созданные с помощью log_params и log_metrics, организованы в соответствии с приведенным ниже

Шаг 4. Создание вспомогательной функции

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

Шаг 5. Запуск

Запуск запуска с «диспетчером контекста» и передачей идентификатора запуска и идентификатора эксперимента, возвращенного выше

Как только мы создадим запуск mlflow, как показано выше,

мы можем войти

  1. params — гиперпараметр, используемый в модели
  2. metrics - метрики, возвращенные из вышеуказанной функции
  3. Артефакты — данные и другие артефакты, используемые для модели.
  4. Модель журнала — запишите созданную модель и можете использовать ее для будущих прогнозов.

Шаг 6. Визуализация экспериментов

Мы можем увидеть данные, зарегистрированные выше из пользовательского интерфейса, запустив mlflow us, как показано ниже.

Мы можем увидеть результат эксперимента, используя localhost: 5000 и щелкнув эксперимент и запуск, и у нас также есть возможность загрузки данных.

Изучение параметров и артефактов модели при нажатии на запуск

Вывод

MLFLow — отличный инструмент для отслеживания модели MLflow и контроля за экспериментом, проведенным в MLFLlow.

Это все на сегодня!! :)

Ссылка на Github: https://github.com/SomanathSankaran/spark_medium/tree/master/spark_csv

Пожалуйста, напишите мне в Spark темы, которые я должен осветить, и предоставьте мне предложения по улучшению моего письма :)