Создано искусственным интеллектомУлучшено людьми

Riqli · живые документы · обновляются постоянно

Где знания об искусственном интеллекте встречаются с человеческой практикой.

Поделиться с друзьями
image

Трекинг экспериментов и версионирование моделей (MLflow / аналог)

разделы

Введение в трекинг экспериментов и версионирование моделей

содержимое

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

В современных облачных платформах эти практики реализуются через специализированные сервисы. Например, в Azure Machine Learning рабочая область и хранилища данных централизованно управляют экспериментами, вычислительными ресурсами, наборами данных и моделями, а история запусков и активы версионируются для обеспечения воспроизводимости .

содержимое

MLflow — это открытая платформа для управления жизненным циклом машинного обучения, включающая два ключевых компонента: трекинг экспериментов (Tracking) и реестр моделей (Model Registry). Трекинг позволяет логировать параметры, метрики и артефакты каждого запуска, а реестр служит единым источником достоверной информации о моделях, обеспечивая контроль версий, управление и продвижение моделей в продакшен .

MLflow может развертываться на Kubernetes для масштабируемости, хранить артефакты в объектном хранилище (например, Oracle Cloud Infrastructure Object Storage) и интегрироваться с CI/CD-инструментами. Такая архитектура позволяет командам отслеживать происхождение моделей и управлять их версиями на протяжении всего жизненного цикла.

содержимое

В экосистеме Azure сервис Azure Machine Learning предоставляет MLflow-совместимые API для трекинга экспериментов, запусков, метрик, параметров, артефактов и моделей непосредственно в рабочей области. Это означает, что команды могут использовать знакомые интерфейсы MLflow, не покидая управляемую среду Azure .

Databricks, будучи платформой, где MLflow изначально был разработан, глубоко интегрирует трекинг экспериментов и реестр моделей в свою архитектуру Lakehouse. Delta Lake управляет версионированием наборов данных и их происхождением, а Git Folders обеспечивают версионирование кода, создавая полную картину воспроизводимости .


вопросы

Какой компонент MLflow отвечает за логирование параметров, метрик и артефактов каждого запуска?

ответыПравильный

MLflow Tracking

объяснения

MLflow Tracking предназначен для записи и запроса экспериментов, включая параметры, метрики и артефакты.

ответыНеправильный

MLflow Model Registry

ответыНеправильный

MLflow Projects

ответыНеправильный

MLflow Recipes


вопросы

Какая облачная платформа предоставляет MLflow-совместимые API для трекинга непосредственно в рабочей области?

ответыПравильный

Azure Machine Learning

объяснения

Azure Machine Learning интегрирует MLflow-совместимые API, позволяя использовать трекинг и управление моделями внутри рабочей области .

ответыНеправильный

Google Vertex AI

ответыНеправильный

Amazon SageMaker

ответыНеправильный

IBM Watson Studio


вопросы

Какой компонент Databricks отвечает за версионирование наборов данных и их происхождение?

ответыПравильный

Delta Lake

объяснения

Delta Lake управляет версионированием данных и линией происхождения, обеспечивая воспроизводимость .

ответыНеправильный

MLflow Tracking

ответыНеправильный

Databricks Git Folders

ответыНеправильный

Feature Store

разделы

Практическая работа с MLflow в Azure Databricks: интерфейс, автоматическое логирование и поиск экспериментов

разделы

Практическая работа с MLflow в Azure Databricks: настройка, запуск и сравнение экспериментов

содержимое

Для просмотра результатов экспериментов в Azure Databricks используется веб-интерфейс MLflow. Чтобы открыть его, выберите Experiments (Эксперименты) в боковой панели рабочей области. В списке экспериментов можно отфильтровать записи с помощью флажка Only my experiments или строки поиска Filter experiments.

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

содержимое

В Azure Databricks MLflow предустановлен на кластерах Databricks Runtime ML, однако для использования библиотеки необходимо убедиться, что пакет mlflow установлен на кластере. Инструкции по установке библиотек доступны в документации Databricks . Для работы с MLflow 3 и его возможностями отслеживания рекомендуется обновить библиотеку до последней версии.

По умолчанию Databricks предоставляет размещённый сервер отслеживания MLflow, который хранит данные экспериментов в рабочей области без дополнительной настройки. Все запуски логируются на этот сервер, если не указано иное. Управление отслеживанием осуществляется через два параметра: Tracking URI (определяет сервер) и Experiment (определяет, в какой эксперимент сервера записывать запуски) .

содержимое

Для установки активного эксперимента используются методы mlflow.set_experiment() (для всех последующих запусков в сессии) или mlflow.start_run(experiment_id=...) (для конкретного запуска). Также можно задать переменные окружения MLFLOW_EXPERIMENT_NAME или MLFLOW_EXPERIMENT_ID .

Если активный эксперимент не задан, запуски автоматически логируются в эксперимент текущей записной книжки (notebook experiment) . Рабочие эксперименты (workspace experiments) не привязаны к конкретной записной книжке и могут использоваться любым блокнотом через указание имени или идентификатора эксперимента .

содержимое

На странице эксперимента доступна мощная система фильтрации запусков. Для поиска запусков по значениям параметров или метрик используется синтаксис запросов. Примеры: metrics.r2 > 0.3 — выбирает запуски с коэффициентом детерминации выше 0.3; params.elasticNetParam = 0.5 — запуски с определённым гиперпараметром; tags.estimator_name = 'RandomForestRegressor' — поиск по тегам .

Доступны агрегатные функции: MIN(metrics.rmse) <= 1 находит запуски с минимальным значением RMSE не выше 1, а MAX(metrics.memUsage) > 0.9 — с максимальным использованием памяти выше 90%. По умолчанию метрики фильтруются по последнему залогированному значению .

содержимое

Автоматическое логирование (autologging) в MLflow позволяет существенно сократить объём кода, необходимого для отслеживания экспериментов. Достаточно вызвать соответствующую функцию перед обучением модели, например mlflow.sklearn.autolog() для scikit-learn или mlflow.tensorflow.autolog() для TensorFlow .

Autologging автоматически захватывает такие метрики, как accuracy, loss, F1-score, а также гиперпараметры и артефакты модели. Поддерживаются TensorFlow, PyTorch, scikit-learn, XGBoost, LightGBM и другие популярные фреймворки . Это позволяет разработчикам и дата-сайентистам легко сравнивать производительность разных моделей и экспериментов без ручного отслеживания .

содержимое

MLflow поддерживает автоматическое логирование (autologging) для многих фреймворков машинного обучения, включая scikit-learn, TensorFlow, PyTorch и другие. Для активации достаточно вызвать соответствующую функцию, например mlflow.sklearn.autolog() .

Для более тонкого контроля над тем, какие параметры и метрики записываются, используется API логирования MLflow. В рамках запуска (with mlflow.start_run():) можно вызывать mlflow.log_param() для гиперпараметров, mlflow.log_metric() для метрик и mlflow.log_artifact() для артефактов (графиков, CSV-файлов) .

содержимое

Для подключения к удалённому серверу отслеживания MLflow (например, из локальной среды разработки или при кросс-рабочем отслеживании) необходимо настроить Tracking URI и эксперимент: mlflow.set_tracking_uri('databricks://remote-workspace-url') и mlflow.set_experiment('/Shared/experiment-name') .

Аутентификация для удалённого сервера осуществляется через персональные токены доступа (PAT) или OAuth с использованием сервисных принципалов. PAT подходит для простых сценариев и разработки, OAuth рекомендуется для автоматизированных рабочих процессов и централизованного управления идентификацией .

содержимое

Для локального запуска интерфейса MLflow используется команда mlflow ui. По умолчанию сервер запускается на порту 5000, и интерфейс доступен по адресу http://localhost:5000 .

Если данные хранятся в файловой системе, необходимо указать путь к хранилищу через параметр --backend-store-uri. Например, команда mlflow ui --backend-store-uri file://$PWD/mlruns --host 0.0.0.0 --port 5000 запускает UI для локальной директории mlruns с доступом извне . Это особенно полезно при работе в контейнерах или удалённых средах разработки .


вопросы

Какая вкладка на странице эксперимента в MLflow UI показывает залогированные модели с их точностью и гиперпараметрами?


вопросы

Какие два параметра управляют отслеживанием MLflow в Azure Databricks?

ответыПравильный

Models

ответыПравильный

Tracking URI и Experiment

объяснения

Вкладка Models на странице эксперимента отображает залогированные модели, их точность, параметры и метаданные .

объяснения

Tracking URI определяет сервер отслеживания, а Experiment — какой эксперимент на этом сервере использовать для логирования .

ответыНеправильный

Workspace и Cluster

ответыНеправильный

Runs

ответыНеправильный

Model Name и Run ID

ответыНеправильный

Charts

ответыНеправильный

Notebook Path и Artifact Location

ответыНеправильный

Artifacts


вопросы

Куда логируются запуски MLflow, если активный эксперимент не задан явно?


вопросы

Какой синтаксис запроса найдёт запуски с коэффициентом детерминации выше 0.3?

ответыПравильный

В эксперимент текущей записной книжки

ответыПравильный

metrics.r2 > 0.3

объяснения

Синтаксис metrics.<имя_метрики> > <значение> используется для фильтрации запусков по значению метрики .

объяснения

Если активный эксперимент не установлен, Azure Databricks автоматически создаёт notebook experiment и логирует запуски туда .