Комментарии 4
Было бы интересно почитать про детали интеграции MLFlow и Apache Airflow. В частности, используете ли вы MLFlow для трекинга метаданных конвееров (пайплайнов) машинного обучения? Например, если мой конвеер состоит из нескольких этапов (загрузка данных, предобработка, тренировка и тестирование), и каждый этап представляет собой отдельный MLFlow run, то связываете ли вы эти этапы друг с другом через метаданные входов/выходов каким-нибудь образом? Мы ради экспермента написали слой поверх MLFlow для решения этой задачи, посути получив достаточно простую реализацию того, что доступно при использовании TFX Pipelines / KubeFlow с MLMD (ML Metadata от Google). Интересно узнать, если кто-либо еще думает в этом направлении.
В основном mlflow используется для трекинга метаданных непосредственно самой модели (параметры, метрики, артефакты), в данном случае у вас это тренировка и тестирование. На счет трекинга самого конвеера не думали "пока" в этом направлении. А какой профит в трекине загрузки и обработки данных? Валидация и качество или может ещё что то?
Для связки входов/выходов этапов пайплайна в Airflow для этого есть XCOM (думаю это очевидно).
Глобально, задача заключается в логировании артефактов и метаданных выполнения всех пайплайнов, каждый из которых состоит из множества шагов. Это может быть полезно с разных точек зрения:
Удобный совместный (связанный) трекинг артефактов (параметры, наборы данных, модели) и метаданных.
Многие пайплайны, особенности в HPC ("AI for science") представляют собой сложные пайплайны с множеством индивидульных шагов, иногда с обратными связями (например, active learning).
Логирование, отладка и поиск ошибок
Повторное выполнение пайплайна, возобновление выполнения с определённой стадии.
Поиск всех вариантов конкретного, необработанного, набора данных.
Поиск всех моделей, которые были построены на основе конкретного набора данных.
Поиск наборов данных, которые были использованы для построения конкретной модели.
Рекомендация конфигурации пайплайна и гипер-параметров для новых задач.
Такие инструменты уже существуют, например TFX Pipelines / KubeFlow с MLMD. Некоторая поддержка есть в закрытых платформах, типа Weights and Biases.
Я не знаю, есть ли в открытом доступе нативная поддержка всего этого для MLFlow, и насколько такая поддержка может быть полезной в целом. Я разговаривал с исследователями и командами, у которых кроме MLFlow / W&B больше ничего нет, и для них такая поддержка была бы полезна.
Вот здесь есть немного информации о различиях в метаданных ML экспериментов и метаданных пайплайнов.
было бы интересно такое посмотреть. Штатных средств млфлоу для пайпланов нет?
MLflow: вывод моделей в продакшн и инструмент MLOps