Узнай, как наблюдаемость улучшает системы AI/ML, такие как Ultralytics YOLO . Получи информацию, оптимизируй производительность и обеспечь надежность в реальных приложениях.
Наблюдаемость позволяет получить критически важные сведения о поведении и производительности сложных систем, что особенно актуально в динамичной области искусственного интеллекта (AI) и машинного обучения (ML). Для пользователей, работающих со сложными моделями, такими как Ultralytics YOLOпонимание внутреннего состояния развернутых приложений через их внешние выходы является ключом к поддержанию надежности, оптимизации производительности и обеспечению достоверности в реальных приложениях. Это помогает преодолеть разрыв между разработкой модели и успешной эксплуатацией.
Наблюдаемость - это возможность измерить и понять внутреннее состояние системы, изучив ее выходные данные, такие как журналы, метрики и трассировки. В отличие от традиционного мониторинга, который обычно фокусируется на заранее определенных панелях и известных режимах отказа (например, CPU использование процессора, количество ошибок), наблюдаемость позволяет командам проактивно исследовать поведение системы и диагностировать новые проблемы - даже те, которые не были предусмотрены во время разработки. В контексте MLOps (Machine Learning Operations) она позволяет задавать более глубокие вопросы о том , почему система ведет себя определенным образом, что крайне важно для итеративного характера разработки и развертывания ML-моделей. Речь идет о получении видимости сложных систем, включая модели глубокого обучения.
Сложность и зачастую "черноящичный" характер моделей глубокого обучения делают наблюдаемость незаменимой. Основные причины этого включают:
Хотя они и связаны между собой, наблюдаемость и мониторинг различаются по объему и назначению. Мониторинг включает в себя сбор и анализ данных о заранее определенных метриках для отслеживания состояния системы в сравнении с известными эталонами (например, отслеживание показателя mAP развернутой модели обнаружения объектов ). Он отвечает на вопросы вроде "Работает ли система?" или "Коэффициент ошибок ниже X?". Мониторинг моделей - это особый тип мониторинга, ориентированный на модели ML в производстве.
Однако наблюдаемость использует выходные данные (журналы, метрики, трассы - их часто называют"тремя столпами наблюдаемости") для более глубокого, исследовательского анализа. Он позволяет тебе понять "почему", стоящее за состояниями системы, особенно неожиданными. Думай о мониторинге как о просмотре приборной панели, сообщающей об известных проблемах, в то время как наблюдаемость предоставляет инструменты (например, запросы к журналам или трассировка запросов) для исследования любой аномалии, известной или неизвестной. Это облегчает отладку сложных систем.
Наблюдательность опирается на три основных типа телеметрических данных:
Практика наблюдаемости жизненно важна в сложных AI/ML-развертываниях:
Для реализации наблюдаемости часто используются специализированные инструменты и платформы. Популярны такие решения с открытым исходным кодом, как Prometheus (метрики), Grafana (визуализация), Loki (логи), а также Jaeger или Zipkin (трассировка). OpenTelemetry обеспечивает нейтральный к производителям стандарт для инструментария. Коммерческие платформы вроде Datadog, New Relic и Dynatrace предлагают интегрированные решения. Платформы MLOps, такие как MLflow, Weights & Biases, и ClearML часто включают в себя функции для отслеживания экспериментов и мониторинга моделей, способствуя общей наблюдаемости системы. Ultralytics HUB облегчает управление тренировочными прогонами, наборами данных и развернутыми моделями, интегрируясь с такими инструментами, как TensorBoard, для визуализации метрик, что является ключевым аспектом наблюдаемости на этапе обучения модели.