Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Эксперимент по машинному обучению является основной единицей организации и контроля для всех связанных запусков. запуск соответствует одному запуску кода модели. В MLflowотслеживание основано на экспериментах и прогонах.
Эксперименты машинного обучения позволяют специалистам по обработке и анализу данных регистрировать параметры, версии кода, метрики и выходные файлы при выполнении кода машинного обучения. Эксперименты также позволяют визуализировать, искать и сравнивать запуски, а также скачивать файлы запуска и метаданные для анализа в других средствах.
В этой статье вы узнаете больше о том, как специалисты по обработке и анализу данных могут взаимодействовать и использовать эксперименты машинного обучения для организации процесса разработки и отслеживания нескольких запусков.
Предпосылки
- Подписка Power BI Premium. Если у вас его нет, см. раздел "Что такое Power BI Premium"?
- Рабочая область Power BI с назначенной премиальной емкостью.
Создание эксперимента
Вы можете создать эксперимент машинного обучения непосредственно из пользовательского интерфейса структуры или написать код, использующий API MLflow.
Создание эксперимента с помощью пользовательского интерфейса
Чтобы создать эксперимент машинного обучения из пользовательского интерфейса, выполните следующие действия.
Создайте новую рабочую область или выберите существующую.
В левом верхнем углу рабочей области выберите новый элемент. В разделе "Анализ и обучение данных" выберите "Эксперимент ".
Выберите Создать, которое можно найти в вертикальном меню ...
В разделе "Обработка и анализ данных" выберите "Эксперимент".
Укажите имя эксперимента и нажмите кнопку "Создать". Это действие создает пустой эксперимент в рабочей области.
После создания эксперимента можно приступить к добавлению запусков для отслеживания метрик и параметров выполнения.
Создание эксперимента с помощью API MLflow
Вы также можете создать эксперимент машинного обучения непосредственно из вашей среды разработки с помощью mlflow.create_experiment() API или mlflow.set_experiment() API. В следующем коде замените <EXPERIMENT_NAME> на название вашего эксперимента.
import mlflow
# This will create a new experiment with the provided name.
mlflow.create_experiment("<EXPERIMENT_NAME>")
# This will set the given experiment as the active experiment.
# If an experiment with this name does not exist, a new experiment with this name is created.
mlflow.set_experiment("<EXPERIMENT_NAME>")
Управление запусками в рамках эксперимента.
Эксперимент машинного обучения содержит коллекцию запусков для упрощенного отслеживания и сравнения. В эксперименте специалист по обработке и анализу данных может перемещаться по различным запускам и изучать базовые параметры и метрики. Специалисты по обработке и анализу данных также могут сравнивать запуски в эксперименте машинного обучения, чтобы определить, какой подмножество параметров обеспечивает необходимую производительность модели.
Чтобы просмотреть запуски для эксперимента, выберите список запуска из представления эксперимента.
В списке выполнения можно перейти к сведениям о конкретном запуске, выбрав имя запуска.
Отслеживание деталей выполнения программы
Запуск машинного обучения соответствует одному выполнению кода модели. Вы можете отслеживать следующие сведения для каждого запуска:
Каждый запуск содержит следующие сведения:
- Источник: имя записной книжки, которая создала выполнение.
- Зарегистрированная версия: указывает, сохранен ли запуск в качестве модели машинного обучения.
- Дата начала: время начала выполнения.
- Состояние: ход выполнения.
- Гиперпараметры: гиперпараметры, сохраненные в виде пар "ключ-значение". Оба ключа и значения являются строками.
- Метрики: выполнение метрик, сохраненных в виде пар "ключ-значение". Значение является числовым.
- Выходные файлы: выходные файлы в любом формате. Например, можно записывать изображения, среды, модели и файлы данных.
- Теги: метаданные в виде пар "ключ-значение" для процессов.
Просмотр списка выполнения
Все запуски в эксперименте можно просмотреть в представлении Список запусков. Это представление позволяет отслеживать последние действия, быстро переходить к соответствующему приложению Spark и применять фильтры на основе состояния выполнения.
Просмотр списка выполнения
Все запуски в эксперименте можно просмотреть в представлении Список запусков. Это представление позволяет отслеживать последние действия, быстро переходить к соответствующему приложению Spark и применять фильтры на основе состояния выполнения.
Сравнение и фильтрация запусков
Чтобы сравнить и оценить качество выполнения машинного обучения, можно сравнить параметры, метрики и метаданные между выбранными запусками в эксперименте.
Применение тегов к запускам
Тегирование MLflow для запусков экспериментов позволяет пользователям добавлять настраиваемые метаданные в виде пар "ключ-значение" в запуски. Эти теги помогают классифицировать, фильтровать и выполнять поиск на основе определенных атрибутов, что упрощает управление и анализ экспериментов на платформе MLflow. Пользователи могут использовать теги для пометки пробегов сведениями, такими как типы моделей, параметры или любые соответствующие идентификаторы, улучшая общую организацию и прослеживаемость экспериментов.
Этот фрагмент кода запускает запуск MLflow, регистрирует некоторые параметры и метрики и добавляет теги для классификации и предоставления дополнительного контекста для выполнения.
import mlflow
import mlflow.sklearn
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
from sklearn.datasets import fetch_california_housing
# Autologging
mlflow.autolog()
# Load the California housing dataset
data = fetch_california_housing(as_frame=True)
X = data.data
y = data.target
# Split the data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Start an MLflow run
with mlflow.start_run() as run:
# Train the model
model = LinearRegression()
model.fit(X_train, y_train)
# Predict and evaluate
y_pred = model.predict(X_test)
# Add tags
mlflow.set_tag("model_type", "Linear Regression")
mlflow.set_tag("dataset", "California Housing")
mlflow.set_tag("developer", "Bob")
После применения тегов можно просмотреть результаты непосредственно из встроенного мини-приложения MLflow или на странице сведений о выполнении.
Предупреждение
Предупреждение: ограничения на применение тегов к запускам экспериментов MLflow в Fabric
- Непустые теги: имена тегов или значения не могут быть пустыми. Если вы пытаетесь применить тег с пустым именем или значением, операция завершится ошибкой.
- Имена тегов: имена тегов могут содержать до 250 символов.
- Значения тегов: значения тегов могут содержать до 5000 символов.
-
Имена ограниченных тегов: имена тегов, начинающиеся с определенных префиксов, не поддерживаются. В частности, имена тегов, начиная с
synapseml,mlflowилиtridentограничены и не будут приняты.
Визуальное сравнение запусков
Вы можете визуально сравнить и отфильтровать запуски в рамках существующего эксперимента. Визуальное сравнение позволяет легко перемещаться между несколькими прогонами и сортировать по ним.
Чтобы сравнить запуски, выполните приведенные ниже действия.
- Выберите существующий эксперимент машинного обучения, содержащий несколько запусков.
- Выберите вкладку «Вид», а затем перейдите к представлению списка запуска. Кроме того, можно выбрать параметр просмотра списка запусков непосредственно в окне сведений о запуске.
- Настройте столбцы в таблице, разверните область "Настройка столбцов ". Здесь можно выбрать свойства, метрики, теги и гиперпараметры, которые вы хотите просмотреть.
- Разверните область фильтра , чтобы сузить результаты на основе определенных выбранных критериев.
- Выберите несколько запусков, чтобы сравнить их результаты в панели сравнения метрик. На этой панели можно настроить диаграммы, изменив название диаграммы, тип визуализации, ось X, ось Y и многое другое.
Сравнение запусков с помощью API MLflow
Специалисты по обработке и анализу данных также могут использовать MLflow для запроса и поиска между запусками в эксперименте. Дополнительные API MLflow можно изучить для поиска, фильтрации и сравнения запусков, перейдя в документацию по MLflow.
Получить все запуски
API поиска MLflow можно использовать для получения всех запусков в эксперименте, заменив mlflow.search_runs() на имя эксперимента или <EXPERIMENT_NAME> на идентификатор эксперимента в следующем коде:
import mlflow
# Get runs by experiment name:
mlflow.search_runs(experiment_names=["<EXPERIMENT_NAME>"])
# Get runs by experiment ID:
mlflow.search_runs(experiment_ids=["<EXPERIMENT_ID>"])
Подсказка
Вы можете выполнять поиск по нескольким экспериментам, предоставляя список идентификаторов экспериментов параметру experiment_ids . Аналогичным образом, предоставление списка имен экспериментов параметру experiment_names позволит MLflow выполнять поиск по нескольким экспериментам. Это может быть полезно, если вы хотите сравнить запуски в рамках различных экспериментов.
Порядок и ограничение запусков
Используйте параметр max_results из search_runs, чтобы ограничить количество возвращенных процессов. Параметр order_by позволяет перечислять столбцы для упорядочивания и содержать необязательное DESC или ASC значение. Например, в следующем примере возвращается последний запуск эксперимента.
mlflow.search_runs(experiment_ids=[ "1234-5678-90AB-CDEFG" ], max_results=1, order_by=["start_time DESC"])
Сравнение запусков в записной книжке Fabric
Мини-приложение разработки MLFlow в записных книжках Fabric можно использовать для отслеживания запусков MLflow, созданных в каждой ячейке записной книжки. Мини-приложение позволяет отслеживать запуски, связанные метрики, параметры и свойства прямо до отдельного уровня ячейки.
Чтобы получить визуальное сравнение, можно также переключиться в представление сравнения запуска . Это представление представляет данные графически, помогая быстрой идентификации шаблонов или отклонений в разных запусках.
Сохранить выполнение в качестве модели машинного обучения
После того как выполнение даст нужный результат, можно сохранить запуск в качестве модели для расширенного отслеживания моделей и развертывания модели, выбрав "Сохранить как модель машинного обучения".
Мониторинг экспериментов машинного обучения (предварительная версия)
Эксперименты машинного обучения интегрируются непосредственно в Monitor. Эта функция предназначена для получения более подробного представления о приложениях Spark и созданных ими экспериментах машинного обучения, что упрощает управление и отладку этих процессов.
Отслеживание выполнения из монитора
Пользователи могут отслеживать выполнение эксперимента непосредственно из монитора, предоставляя единое представление всех своих действий. Эта интеграция включает параметры фильтрации, позволяя пользователям сосредоточиться на экспериментах или запусках, созданных в течение последних 30 дней или других указанных периодов.
Отслеживайте выполнение связанных экспериментов машинного обучения из вашего Spark приложения.
Эксперимент машинного обучения интегрирован непосредственно в Монитор, где можно выбрать определенное приложение Spark и получить доступ к моментальным снимкам элементов. Здесь вы найдете список всех экспериментов и запусков, созданных этим приложением.