Наблюдаемость
Изучите важность наблюдаемости в искусственном интеллекте и машинном обучении. Узнайте, как отлаживать сложные системы, отслеживать производительность Ultralytics и получать глубокие аналитические данные о моделях.
Наблюдаемость — это способность понимать внутреннее состояние сложной системы, основываясь исключительно на ее
внешних результатах. В быстро развивающихся областях
искусственного интеллекта (ИИ)
и машинного обучения (МО)наблюдаемость выходит за рамки простой проверки состояния и позволяет глубоко понять, почему модель ведет себя определенным
образом. В современном
архитектуры глубокого обучения (DL)
архитектуры глубокого обучения (DL), такие как передовая
YOLO26— становятся все более сложными, они часто могут функционировать как «черные ящики». Инструменты наблюдаемости создают
прозрачное окно в эти системы, позволяя инженерным командам отлаживать неожиданные поведения, отслеживать первопричины
ошибок и обеспечивать надежность в производственных средах.
Наблюдаемость против мониторинга
Хотя термины «наблюдаемость» и «мониторинг модели» часто используются как синонимы,
мониторинг модели имеют разные
, но взаимодополняющие цели в рамках
жизненного цикла MLOps .
-
Мониторинг модели
является реактивным и сосредоточен на «известных неизвестных». Он включает в себя отслеживание заранее определенных показателей, таких как
задержка инференса, CPU или частота ошибок по отношению к установленным пороговым значениям. Мониторинг отвечает на вопрос: «Работает ли система
нормально?»
-
Наблюдаемость является проактивной и решает проблему «неизвестных неизвестных». Она предоставляет детализированные
данные — журналы, трассировки и события с высокой кардинальностью — необходимые для исследования новых проблем, которые не были предусмотрены во время
обучения подготовки данных . Как
описано в
книгеGoogle , наблюдаемая система позволяет понимать новое поведение без отправки нового кода. Она отвечает на вопрос:
«Почему система ведет себя таким образом?»
Три столпа наблюдаемости
Для достижения истинной наблюдаемости в
компьютерном зрении (CV) ,
системы обычно полагаются на три основных типа телеметрических данных:
-
Журналы: неизменяемые записи с временными метками о
отдельных событиях. В конвейере обнаружения журнал может фиксировать разрешение входного изображения или конкретные
гиперпараметров
, используемой во время выполнения. Структурированное ведение журналов, часто в формате
формате JSON формате, позволяет выполнять сложные запросы
и анализ
-
Метрики: агрегированные числовые данные, измеряемые в течение определенного времени, такие как средняя
точность, потребление памяти или
GPU .
Такие инструменты, как Prometheus и
Grafana являются стандартными для хранения этих временных рядов данных с целью
визуализации тенденций.
-
Трассировка: Трассировка отслеживает жизненный цикл запроса по мере его прохождения через различные микрослужбы. Для
распределенных приложений искусственного интеллекта такие стандарты, как
OpenTelemetry помогают отобразить путь запроса, выделяя
узкие места в
движке инференции или задержки в сети
. Специализированные инструменты, такие как Jaeger помогают визуализировать
эти распределенные транзакции.
Реализация наблюдаемости в Python
Вы можете повысить наблюдаемость в своих конвейерах обучения, используя обратные вызовы для регистрации определенных внутренних состояний.
Следующий пример демонстрирует, как добавить пользовательский обратный вызов в
YOLO26 сессии обучения для мониторинга
показателей производительности в реальном времени.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Define a custom callback for observability
def on_train_epoch_end(trainer):
# Access and print specific metrics at the end of each epoch
map50 = trainer.metrics.get("metrics/mAP50(B)", 0)
print(f"Observability Log - Epoch {trainer.epoch + 1}: mAP50 is {map50:.4f}")
# Register the callback and start training
model.add_callback("on_train_epoch_end", on_train_epoch_end)
model.train(data="coco8.yaml", epochs=3)
Применение в реальном мире
Наблюдаемость имеет решающее значение для развертывания высокопроизводительных моделей в динамичных средах, где
тестовые данные могут не в полной мере соответствовать
реальным условиям.
-
Автономные транспортные средства: В разработке
автономных транспортных средствнаблюдаемость позволяет инженерам восстанавливать точное состояние системы во время события отключения. Путем
корреляции
результатами обнаружения объектов с
журналами датчиков и командами управления, команды могут определить, была ли ошибка торможения вызвана шумом датчика,
ошибкой прогнозирования модели или логической ошибкой в модуле планирования.
-
Диагностика в здравоохранении: В
ИИ в здравоохранениидля обеспечения безопасности пациентов крайне важно обеспечить стабильную работу. Инструменты наблюдаемости могут detect
смещение данных , если производительность модели
ухудшается при применении к изображениям с нового типа МРТ-сканера. Трассировки могут показать, связана ли проблема с изменением
в
предварительной обработке данных или сдвига
в распределении входных данных, что позволяет быстро устранить проблему без ущерба для
безопасности ИИ.
Интеграция с современными инструментами
Современные рабочие процессы часто интегрируют наблюдаемость непосредственно в платформу обучения. Пользователи
Ultralytics получают преимущества от встроенной
визуализации кривых потерь, производительности системы и анализа наборов данных. Кроме того, стандартные интеграции с такими инструментами, как
TensorBoard TensorBoard и
MLflow позволяют специалистам по обработке данных
обеспечить тщательное отслеживание экспериментов и наблюдаемость на протяжении всего жизненного цикла модели.