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

  1. MLFlow Tracking - ведение учета проведенных экспериментов с данными и результатами. Результаты можно было сравнить по разным параметрам.
  2. Проекты MLFlow - для упаковки кода в формат, обеспечивающий возможность многократного использования и воспроизводимого выполнения на многих платформах. Им можно поделиться с другими специалистами по данным и передать его в производство.
  3. Модели MLFlow - управление и развертывание моделей машинного обучения в различных средах обслуживания.
  4. Реестр моделей MLFlow - хранение, аннотирование и управление полным жизненным циклом моделей MLFlow в центральном репозитории, включая управление версиями моделей.

Почему именно MLFlow?

У машинного обучения другие цели, чем у традиционного программного обеспечения: раньше было меньше сред развертывания, меньше библиотек и инструментов. Цель машинного обучения - оптимизировать показатели (например, точность) и постоянно экспериментировать, чтобы их улучшить, этот шаг очень итеративный. Качество зависит от исходных данных и параметров настройки. Сравнение и сочетание многих библиотек также необходимо для получения наилучших возможных результатов. Следовательно, MLFlow предлагает платформу для получения всего необходимого на протяжении жизненного цикла машинного обучения.

Жизненный цикл машинного обучения

Четыре этапа жизненного цикла машинного обучения:

  • Подготовка данных - существуют разные инструменты и языки для выполнения подготовки данных. например, Scikit learn, pandas, spark SQL, языки вроде Python, Java, Scala. Все инструменты будут иметь разные параметры настройки.
  • Обучение - может потребоваться более одной библиотеки, чтобы иметь лучшие комбинации и контрасты для лучших результатов. Библиотеки будут иметь разные параметры настройки. Лучшая модель получается, когда поэкспериментированы со всеми возможными параметрами настройки.
  • Развертывание - если подготовленная выше модель дает точный результат с соответствующей скоростью в соответствии с требованиями, мы реализуем модель в реальной системе. Используя docker, spark и т. Д.
  • Необработанные данные - количество и качество собранных данных будут определять эффективность вывода.

Проблемы в рабочем процессе машинного обучения, которые преодолевает MLFlow -

  • Машинное обучение требует экспериментов с широким спектром наборов данных, а объем данных обычно огромен.
  • Требуется много экспериментов с параметрами настройки для получения оптимального результата.
  • Управлять таким огромным объемом данных сложно, поскольку нет центрального хранилища.
  • Трудно воспроизвести код, даже если мы отслеживаем версии кода и параметры вручную, нужно фиксировать среду who; e, чтобы получить точно такой же результат.

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