Узнайте, как наблюдаемость улучшает системы AI/ML, такие как Ultralytics YOLO. Получите информацию, оптимизируйте производительность и обеспечьте надежность в реальных приложениях.
Наблюдаемость позволяет получить критически важные сведения о поведении и производительности сложных систем, что особенно важно в динамичной области искусственного интеллекта (ИИ) и машинного обучения (МЛ). Для пользователей, работающих со сложными моделями, такими как Ultralytics YOLO, понимание внутреннего состояния развернутых приложений по их внешним выводам является ключом к поддержанию надежности, оптимизации производительности и обеспечению достоверности в реальных приложениях. Это помогает преодолеть разрыв между разработкой модели и ее успешной эксплуатацией.
Наблюдаемость - это способность измерять и понимать внутреннее состояние системы, изучая ее выходные данные, такие как журналы, метрики и трассировки. В отличие от традиционного мониторинга, который обычно ориентирован на предопределенные панели и известные режимы сбоев (например, использование процессора, количество ошибок), наблюдаемость позволяет командам проактивно исследовать поведение системы и диагностировать новые проблемы - даже те, которые не были предусмотрены при разработке. В контексте 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, для визуализации метрик, что является ключевым аспектом наблюдаемости на этапе обучения модели.