Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Experiment Tracking

Отслеживание экспериментов фиксирует параметры, версии кода и данных, метрики и артефакты каждого запуска обучения ML-модели, чтобы сравнивать и воспроизводить запуски.

Отслеживание экспериментов — это практика записи в единое хранилище с возможностью поиска всех сведений о каждом запуске машинного обучения, включая версии кода и данных, настройки, среду, метрики с течением времени и выходные файлы, такие как веса и графики. В проекте с десятками вариантов скорости обучения, настроек аугментации и размеров моделей запуски на диске выглядят похоже, а отслеживание связывает каждый результат с его конфигурацией. Благодаря этому лучший запуск можно сравнить, воспроизвести и отследить даже спустя несколько месяцев. TensorBoard, выпущенный вместе с TensorFlow в 2015 году, сделал графики обучения в реальном времени стандартом, а Databricks открыла исходный код MLflow в 2018 году, включив отслеживание в число трёх исходных компонентов. Среди других широко используемых систем отслеживания — Weights & Biases, Comet, ClearML и DVC.

Что записывает система отслеживания#

Каждому запуску присваивается уникальный идентификатор, а сам он относится к эксперименту — именованной группе связанных запусков. Типичная запись о запуске содержит:

  • Гиперпараметры: скорость обучения, размер батча, оптимизатор, архитектура модели, начальное случайное значение и все остальные настройки, влияющие на обучение.
  • Метрики: потери и оценки на обучающих и проверочных данных, зарегистрированные на каждом шаге или эпохе, а также системные метрики, например использование памяти GPU и загрузка GPU.
  • Артефакты: контрольные точки, матрицы ошибок, примеры предсказаний и файлы конфигурации.
  • Происхождение: коммит Git, версия набора данных, версии пакетов, оборудование и автор, отвечающие за результат запуска.

Данные регистрируются вызовом клиента для каждого значения либо автоматически с помощью интеграций автологирования, которые без дополнительного кода собирают параметры и метрики фреймворка. Общий сервер отслеживания собирает запуски со всех ноутбуков, облачных машин и заданий CI команды. На его панели отображаются графики функции потерь для выбранных запусков, а запуски можно отфильтровать по любому параметру или метрике. Благодаря этому проблемы, например переобучение, сразу становятся заметными.

При обучении Ultralytics YOLO аргументы каждого запуска записываются в args.yaml, а потери и метрики по эпохам — в results.csv. Встроенные интеграции отправляют те же значения в MLflow, Comet, ClearML или DVC сразу после установки соответствующего пакета. TensorBoard и Weights & Biases включаются через yolo settings. Аргументы обучения project и name становятся названиями эксперимента и запуска в MLflow, поэтому серия экспериментов YOLO26 сразу попадает в систему отслеживания в упорядоченном виде.

Сравнение и воспроизведение запусков#

На дашбордах метрику сопоставляют с параметром в нескольких запусках или строят диаграммы параллельных координат, соединяющие настройки каждого запуска с его оценкой, чтобы показать, какие настройки важны при переборе. В Ultralytics Platform проект сравнивает свои модели с помощью наложенных кривых метрик и потерь и таблицы с результатами рядом; урок «Сравнение запусков и выбор лучшего» превращает сравнение в автоматизированное условие допуска к развёртыванию. Для воспроизведения запуска одних гиперпараметров недостаточно: запись должна включать также коммит кода, точный снимок данных, версии пакетов и случайное начальное значение, поскольку ядра GPU и порядок загрузки данных могут немного менять результаты даже в прочих одинаковых запусках.

Этот скрипт MLflow обучает дерево решений четырёх глубин на рукописных цифрах из scikit-learn, записывает глубину как параметр, а точность на проверочных данных — как метрику, а затем запрашивает эксперимент в виде таблицы:

import mlflow
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier

# Store runs in a local SQLite file and group them under one experiment
mlflow.set_tracking_uri("sqlite:///mlflow.db")
mlflow.set_experiment("digits-tree-depth")
X_train, X_val, y_train, y_val = train_test_split(*load_digits(return_X_y=True), random_state=0)

# One tracked run per setting: the parameter goes in, the metric comes out
for depth in [2, 4, 8, 16]:
    with mlflow.start_run(run_name=f"depth-{depth}"):
        model = DecisionTreeClassifier(max_depth=depth, random_state=0).fit(X_train, y_train)
        mlflow.log_param("max_depth", depth)
        mlflow.log_metric("val_accuracy", model.score(X_val, y_val))

# Query the experiment like a table, best run first
runs = mlflow.search_runs(order_by=["metrics.val_accuracy DESC"])
print(runs[["params.max_depth", "metrics.val_accuracy"]])

В новой базе данных таблица выводит сначала глубину 16 с точностью на проверочных данных 0.838, затем глубину 8 с результатом 0.818, глубину 4 с результатом 0.533 и глубину 2 с результатом 0.318. Запуск mlflow ui в той же папке с --backend-store-uri sqlite:///mlflow.db открывает те же запуски в браузере.

Отслеживание экспериментов — один из этапов эксплуатации машинного обучения (MLOps), наряду с тремя практиками, которые часто с ним путают:

  • Реестр моделей: Хранит несколько обученных моделей, подходящих для развёртывания, и связывает каждую их версию с запуском, в котором она была создана и который отслеживался.
  • Мониторинг моделей: Отслеживает входные и выходные данные развёрнутой модели, а также её точность в производственной среде — уже после завершения отслеживания на этапе разработки.
  • Настройка гиперпараметров: Инструменты поиска, например Optuna и Ray Tune, автоматически запускают множество экспериментов, а система отслеживания сохраняет и ранжирует каждый из них.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

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

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения