AI তৈরি করেছেমানুষ উন্নত করেছে

Riqli · জীবন্ত নথি · ক্রমাগত আপডেট

যেখানে AI জ্ঞান মানব অনুশীলনের সাথে মিলিত হয়।

বন্ধুদের সাথে শেয়ার করুন
image

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

সেকশন

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

contents

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

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

contents

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

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

contents

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

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


questions

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

উত্তরসঠিক

MLflow Tracking

explanations

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

উত্তরভুল

MLflow Model Registry

উত্তরভুল

MLflow Projects

উত্তরভুল

MLflow Recipes


questions

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

উত্তরসঠিক

Azure Machine Learning

explanations

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

উত্তরভুল

Google Vertex AI

উত্তরভুল

Amazon SageMaker

উত্তরভুল

IBM Watson Studio


questions

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

উত্তরসঠিক

Delta Lake

explanations

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

উত্তরভুল

MLflow Tracking

উত্তরভুল

Databricks Git Folders

উত্তরভুল

Feature Store

সেকশন

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

সেকশন

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

contents

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

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

contents

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

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

contents

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

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

contents

На странице эксперимента доступна мощная система фильтрации запусков. Для поиска запусков по значениям параметров или метрик используется синтаксис запросов. Примеры: 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%. По умолчанию метрики фильтруются по последнему залогированному значению .

contents

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

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

contents

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-файлов) .

contents

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

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

contents

Для локального запуска интерфейса 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 с доступом извне . Это особенно полезно при работе в контейнерах или удалённых средах разработки .


questions

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


questions

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

উত্তরসঠিক

Models

উত্তরসঠিক

Tracking URI и Experiment

explanations

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

explanations

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

উত্তরভুল

Workspace и Cluster

উত্তরভুল

Runs

উত্তরভুল

Model Name и Run ID

উত্তরভুল

Charts

উত্তরভুল

Notebook Path и Artifact Location

উত্তরভুল

Artifacts


questions

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


questions

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

উত্তরসঠিক

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

উত্তরসঠিক

metrics.r2 > 0.3

explanations

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

explanations

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