Observability
Изучи важность наблюдаемости в AI и ML. Узнай, как отлаживать сложные системы, отслеживать производительность Ultralytics YOLO26 и получать глубокие сведения о модели.
Наблюдаемость — это способность понимать внутреннее состояние сложной системы, основываясь исключительно на её внешних выходных данных. В быстро развивающихся областях искусственного интеллекта (AI) и машинного обучения (ML) наблюдаемость выходит за рамки простых проверок состояния и даёт глубокое понимание того, почему модель ведёт себя определённым образом. По мере того как современные архитектуры глубокого обучения (DL), такие как передовая YOLO26, становятся всё более сложными, они часто могут работать как «чёрные ящики». Инструменты наблюдаемости создают прозрачное окно в эти системы, позволяя инженерным командам отлаживать неожиданное поведение, выявлять первопричины ошибок и обеспечивать надёжность в производственных средах.
Наблюдаемость и мониторинг#
Хотя эти понятия часто используют как взаимозаменяемые, наблюдаемость и мониторинг моделей выполняют разные, но взаимодополняющие функции в жизненном цикле MLOps.
- Мониторинг моделей носит реактивный характер и сосредоточен на «известных неизвестных». Он включает отслеживание заранее определённых метрик, таких как задержка инференса, загрузка CPU или частота ошибок, и их сравнение с установленными пороговыми значениями. Мониторинг отвечает на вопрос: «Система работает нормально?»
- Наблюдаемость носит проактивный характер и помогает работать с «неизвестными неизвестными». Она предоставляет детализированные данные — логи, трассировки и события с высокой кардинальностью, — необходимые для расследования новых проблем, которые не были предусмотрены при подготовке обучающих данных. Как описано в книге Google SRE, наблюдаемая система позволяет понимать новое поведение без выпуска нового кода. Она отвечает на вопрос: «Почему система ведёт себя именно так?»
Три столпа наблюдаемости#
Для достижения настоящей наблюдаемости в конвейерах компьютерного зрения (CV) системы обычно используют три основных типа телеметрических данных:
-
Логи: датированные временными метками неизменяемые записи отдельных событий. В конвейере детекции лог может содержать разрешение входного изображения или конкретную конфигурацию настройки гиперпараметров, использованную во время запуска. Структурированное логирование, часто в формате JSON, позволяет выполнять сложные запросы и анализировать данные.
-
Метрики: агрегированные числовые данные, измеряемые во времени, например средняя точность, потребление памяти или загрузка GPU. Такие инструменты, как Prometheus и Grafana, являются стандартными решениями для хранения этих временных рядов и визуализации тенденций.
-
Трассировки: трассировка отслеживает жизненный цикл запроса по мере его прохождения через различные микросервисы. Для распределённых приложений с AI такие стандарты, как 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)Практические применения#
Наблюдаемость критически важна при развёртывании высокопроизводительных моделей в динамических средах, где тестовые данные могут не полностью соответствовать условиям реального мира.
- Автономные транспортные средства: при разработке автономных транспортных средств наблюдаемость позволяет инженерам восстановить точное состояние системы во время события отключения автономного режима. Сопоставляя результаты детекции объектов с логами датчиков и командами управления, команды могут определить, была ли ошибка торможения вызвана шумом датчиков, ошибкой предсказания модели или логической ошибкой в модуле планирования.
- Медицинская диагностика: в сфере AI в здравоохранении обеспечение стабильной производительности жизненно важно для безопасности пациентов. Инструменты наблюдаемости могут обнаружить дрейф данных, если производительность модели снижается при применении к изображениям, полученным с нового типа MRI-сканера. Трассировки могут показать, связана ли проблема с изменением предварительной обработки данных изображения или со сдвигом распределения входных данных, что позволяет быстро устранить проблему без ущерба для безопасности AI.
Интеграция с современными инструментами#
Современные рабочие процессы часто встраивают наблюдаемость непосредственно в платформу обучения. Пользователи платформы Ultralytics получают встроенную визуализацию кривых потерь, производительности системы и анализ наборов данных. Кроме того, стандартные интеграции с такими инструментами, как TensorBoard и MLflow, позволяют специалистам по данным вести строгий учёт экспериментов и обеспечивать наблюдаемость на протяжении всего жизненного цикла модели.









