Ultralytics YOLO27:

Мониторинг#

Ultralytics Platform предоставляет мониторинг развернутых эндпоинтов. Отслеживай запросы к эндпоинтам, задержку, ошибки и журналы. Готовые выделенные эндпоинты на актуальной среде выполнения также показывают статистику предсказаний в реальном времени и временные примеры, которые можно просматривать и сохранять в датасеты.

Вкладка Deployments Ultralytics Platform: карта мира и карточки с обзорной информацией

Вкладка Deployments#

Вкладка Deployments в профиле служит панелью мониторинга всех твоих развертываний. В одном представлении объединены карта мира, общие показатели и управление развертываниями. Инструкции по созданию развертываний и управлению ими см. в разделе Выделенные эндпоинты.

Карточки сводки#

Четыре карточки сводки вверху страницы показывают:

Четыре карточки сводки на вкладке Deployments платформы Ultralytics

ПоказательОписание
Активные развертыванияЭндпоинты, которые сейчас находятся в состоянии Ready
HTTP-запросы (24 ч)HTTP-запросы ко всем эндпоинтам, включая запросы на предсказание, мониторинг и проверку работоспособности
Доля ошибок HTTP (24 ч)Доля ответов со статусом 4xx или 5xx, взвешенная по числу запросов
Задержка HTTP P95 (24 ч)Среднее значение часовых задержек на 95-м процентиле, взвешенное по объему запросов

Указывается задержка P95, а не медианная: проверка работоспособности занимает пару миллисекунд и иначе искажала бы картину реальной задержки инференса.

Оповещение о доле ошибок

Карточка доли ошибок подсвечивается красным, если показатель превышает 5%. Чтобы диагностировать ошибки, проверь вкладку Logs на страницах отдельных развертываний.

Карта мира#

На интерактивной карте мира отображаются:

  • Маркеры регионов для всех 42 доступных регионов
  • Зеленые маркеры для регионов с готовым развертыванием
  • Анимированные синие маркеры для регионов с активными развертываниями, которые выполняются
  • Размер маркера зависит от состояния развертывания и задержки

Нажми на любой регион, чтобы открыть диалог New Deployment. На небольших экранах карта скрыта.

Карта мира на вкладке Deployments платформы Ultralytics с отмеченными регионами развертывания

Список развертываний#

Под карточками сводки расположен список всех эндпоинтов во всех твоих проектах. Переключай режим отображения, чтобы выбрать один из вариантов:

Режим отображенияОписание
КарточкиКарточки со статусом, размером, метриками, расстоянием и датой развертывания
КомпактныйСетка небольших карточек (1–4 столбца) с основными показателями
ТаблицаDataTable с сортируемыми столбцами, в том числе CPU, памятью, показателями HTTP и расстоянием
Обновления в реальном времени

Вкладка обновляется автоматически, а при изменении состояния развертывания — чаще (creating, deploying или stopping). Каждая карточка и строка содержит ссылку на страницу развертывания.

Показатели для отдельных развертываний#

На странице каждого развертывания показатели в реальном времени отображаются над вкладками Overview, Monitoring, Predict и Logs:

Карточки показателей#

ПоказательОписание
HTTP-запросы (24 ч)Число запросов, включая запросы на предсказание, мониторинг и проверку работоспособности
Доля ошибок HTTP (24 ч)Доля ответов 4xx и 5xx
Задержка HTTP P95 (24 ч)95-й процентиль задержек P95 за 15 минут

В каждой карточке отображается спарклайн, данные обновляются каждую минуту; рядом находится карточка со ссылкой на развернутую модель. Показатели собираются только для развертываний в состоянии Ready. На вкладке Deployments показатели загружаются для 20 последних развертываний.

Проверка качества#

В карточке Endpoint на вкладке Overview работающего развертывания отображается индикатор проверки работоспособности:

ИндикаторЗначение
Зеленое сердцеРаботает — отображается задержка ответа
Красное сердцеНе работает — отображается сообщение об ошибке
Вращающийся значокВыполняется проверка работоспособности

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

Карточка развертывания платформы Ultralytics: проверка работоспособности пройдена, указана задержка

Устойчивость к холодному запуску

Платформа дает проверке работоспособности больше времени и повторяет попытки при временных сбоях соединения, чтобы эндпоинт, масштабированный до нуля, успел запуститься. Пока первая проверка не завершится, на значке отображается Starting, а на вкладках Predict и Monitoring — Endpoint is starting. После ответа эндпоинта состояние обновляется автоматически. Если проверка не пройдет, на значке отобразится Not responding, а на этих вкладках появится кнопка Retry.

Вкладка Monitoring#

Открой страницу развертывания выделенной конечной точки со статусом Готово и выбери вкладку Мониторинг. Отправь изображение через вкладку Предсказание или API конечной точки либо запусти фоновую камеру, чтобы заполнить разделы Временные примеры и Статистика предсказаний. До обработки первого изображения на вкладке отображается сообщение Нет обработанных изображений.

Требования к эндпоинтам

Мониторинг доступен для каждого Ready выделенного эндпоинта, включая эндпоинты стандартного размера на бесплатном тарифе. Существующие эндпоинты не обновляются автоматически с каждым выпуском среды выполнения, поэтому на старом эндпоинте может отображаться Monitoring unavailable, пока его среда выполнения не будет обновлена.

Временные примеры и статистика мониторинга развертывания на платформе Ultralytics

Временные данные

Мониторинг работает легко и использует временные данные: графики, статистика предсказаний и изображения-примеры хранятся только в памяти экземпляра, обслуживающего запросы. Эти данные могут быть потеряны при выключении, остановке, перезапуске или повторном развертывании эндпоинта, изменении ресурсов или замене модели. После повторного запуска эндпоинта история не восстанавливается. Сохрани полезные примеры в датасет и дождись завершения их загрузки и обработки, прежде чем менять эндпоинт.

Временные примеры#

В галерее собраны недавно обработанные изображения с наложенными предсказаниями. Открой изображение, чтобы изучить предсказания в полноэкранном режиме, и используй элементы управления видимостью, чтобы настроить отображение наложений. Изначально галерея показывает до 12 примеров; нажми Show all, чтобы развернуть список.

  • Сбор: Недавно обработанные изображения появляются как временные примеры, не чаще одного раза в секунду. Сбор выполняется по возможности; инференс не ждет кодирования примера.
  • Емкость: Не более 100 изображений при общем лимите памяти 100 MiB для сжатых изображений, метаданных предсказаний и связанных ресурсов. В интерфейсе этот лимит указан как 100 MB.
  • Замена: При достижении любого из лимитов старые примеры заменяются. Пример может стать недоступен, пока ты его просматриваешь.
  • Хранение: Временные примеры остаются в памяти эндпоинта. При их сохранении в датасет действуют обычные ограничения рабочего пространства на хранение и обработку.

Просмотр предсказаний при мониторинге развертывания на платформе Ultralytics

Сохранение примеров в датасет#

Участники рабочего пространства с правом редактирования контента могут сохранять примеры в датасет рабочего пространства эндпоинта:

  1. Выбери отдельные примеры с помощью флажков или нажми Select all.
  2. Нажми Save to dataset.
  3. Выбери существующий датасет с той же задачей, что и развернутая модель. Датасеты с подключенными источниками не включаются в список; если подходящих нет, сначала создай совместимый датасет.
  4. Нажми кнопку Save, на которой указано число выбранных изображений, а затем открой датасет, чтобы следить за обработкой.

Выбранные изображения и предсказания копируются с помощью стандартного процесса загрузки и обработки датасета. Применяются обычные ограничения квот, сопоставление классов и обработка дубликатов. После сохранения временные примеры остаются в галерее; изображения, успешно добавленные в датасет, сохраняются после перезапуска и удаления эндпоинта. Проверь предсказанные метки, прежде чем использовать их для обучения. Для каждого сохраненного изображения в пользовательских метаданных записываются deploymentId, deploymentName, deploymentRegion и deploymentRegionName; поиск по датасету учитывает эти значения. Названия записываются такими, какими они были на момент сохранения, а у изображения, пропущенного как дубликат, сохраняются существующие метаданные.

Сохранение примеров из мониторинга развертывания платформы Ultralytics в датасет

Чтобы удалить временные примеры, наведи курсор на изображение и нажми значок корзины либо выбери примеры и нажми кнопку массового удаления, затем подтверди действие, нажав Delete. Удаление примеров не меняет общую статистику предсказаний и изображения, уже сохраненные в датасетах.

Статистика предсказаний#

Статистика агрегирует обработанные изображения независимо от галереи. Удаление или замена примера не вычитает его данные из статистики. В сводке за выбранный период указано число изображений и предсказаний, а также изображений без предсказаний; для моделей глубины отображается число изображений.

По умолчанию в выборе дат установлен период 30 дней; можно выбрать диапазон до 365 дней. Границы выбранных дат задаются по UTC; время на графиках отображается по местному часовому поясу. Для недавних диапазонов длительностью до трех дней используется почасовая история, если весь диапазон укладывается в последние 72 часа; для остальных диапазонов используется история по дням. Диапазон дат фильтрует статистику, а в галерее по-прежнему отображаются текущие временные примеры.

История ограничена 72 почасовыми интервалами и 365 дневными интервалами и доступна только с момента запуска текущего экземпляра. Если за выбранный период не обработано ни одного изображения, отображается сообщение No images processed in this period.

Доступные графики зависят от задачи и собранных предсказаний:

ГрафикЧто показывает
Предсказания по времениОбщее число обработанных изображений и предсказаний; для моделей глубины отображается Images over Time
Время инференсаСреднее время инференса модели в миллисекундах без учета сетевых накладных расходов и затрат на запросы
Самые распространённые классыЧисло предсказаний по классам
Предсказания на изображениеРаспределение, учитывающее изображения без предсказаний и заключительную группу 100+; скрыто для классификации и моделей глубины
Уверенность предсказанийРаспределение и среднее значение уверенности, если доступны оценки уверенности
Уверенность во времениСредняя уверенность предсказаний для каждого временного интервала
Размеры предсказанийШирина и высота предсказаний относительно входного изображения, если доступны размеры рамок
Расположение предсказанийПространственная тепловая карта предсказаний, если доступны данные об их расположении

Статистика предсказаний при мониторинге развертывания на платформе Ultralytics

Статистика уверенности и пространственного распределения при мониторинге развертывания на платформе Ultralytics

Интерпретация статистики

Уверенность показывает, насколько модель уверена в предсказании, а не насколько оно верно. При оценке точности изучай примеры и сравнивай их с проверенными метками. Время инференса измеряет время выполнения модели; задержка P95 развертывания включает обработку запроса и может учитывать трафик, не связанный с инференсом, например проверки работоспособности.

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

Журналы#

На странице каждого развертывания есть вкладка Logs для просмотра последних записей журнала:

Вкладка журналов карточки развертывания Ultralytics Platform с фильтром по уровню важности

Записи журнала#

В каждой записи журнала указаны:

ПолеОписание
Уровень важностиЦветная полоса (см. ниже)
Временная меткаВремя запроса (локальный формат)
СообщениеСодержимое записи журнала
Данные HTTPКод состояния и задержка (если применимо)

У каждой записи есть цветная полоса, обозначающая уровень важности:

УровеньЦветОписание
DEBUGСерыйОтладочные сообщения
INFOСинийОбычные запросы
WARNINGЯнтарныйНекритичные проблемы
ERRORКрасныйНеудачные запросы
CRITICALКрасныйКритические сбои

API принимает полный набор уровней важности журнала в виде фильтра со значениями, разделенными запятыми: DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT и EMERGENCY.

Интерфейс показывает 20 последних записей и скрывает пустые. API по умолчанию возвращает 50 записей на запрос (максимум — 200) и возвращает nextPageToken для просмотра более ранних записей.

Процесс отладки

При расследовании ошибок сначала нажми Errors, чтобы отфильтровать записи ERROR и WARNING, а затем проверь временные метки и коды состояния HTTP. Скопируй записи журнала в буфер обмена, чтобы поделиться ими с командой.

Примеры кода#

На вкладке результатов Predict каждого развертывания в разделе Docs отображается готовый к использованию код API с URL конечной точки и, для владельцев рабочего пространства, привязанным API-ключом развертывания — код можно сразу скопировать и запустить. Вместо ключа владельцы других ролей видят заполнитель YOUR_API_KEY:

import requests

# Эндпоинт развертывания
url = "https://YOUR_DEPLOYMENT_URL.run.app/predict"

# Заголовки с API-ключом развертывания
headers = {"Authorization": "Bearer YOUR_API_KEY"}

# Параметры инференса
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}

# Отправка изображения для инференса
with open("image.jpg", "rb") as f:
    response = requests.post(url, headers=headers, data=data, files={"file": f})

print(response.json())
Автоматически заполненные учетные данные

В примерах Docs на вкладке Predict развертывания URL конечной точки и, для владельцев рабочего пространства, привязанный API-ключ уже заполнены. Чтобы создать ключ, см. раздел API Keys.

Инференс в развернутой модели#

Вкладка Predict на странице каждого развертывания содержит встроенную панель предсказаний — такой же интерфейс, как на вкладке Predict модели, но инференс выполняется через конечную точку развертывания, а не через общий сервис. Это удобно для проверки развернутой конечной точки прямо в браузере. Сведения о параметрах и форматах ответов см. в разделе Inference.

Конечные точки API#

Адрес каждого развертывания определяется именами владельца и развертывания, а для каждого маршрута требуется API-ключ. Сведения об аутентификации см. в справочнике по API.

Метрики развертывания#

GET /api/deployments/{owner}/{deployment}/metrics?range=24h

Python SDK: client.deployments.metrics(owner, deployment, range="24h")

Возвращает полный набор метрик развертывания: блок summary с общим числом запросов, числом и долей ошибок, а также средней задержкой и задержками P50, P95 и P99; кроме того, возвращает массивы timeSeries для запросов, ошибок, задержек P50 и P95, загрузки CPU и памяти, а также числа экземпляров.

ПараметрТипОписание
rangeстрокаВременной диапазон: 1h, 6h, 24h, 7d или 30d (по умолчанию — 24h)
sparklineboolВозвращает краткую сводку для панели мониторинга вместо полного набора данных
viewстрокаoverview возвращает только метрики запросов, ошибок и задержки P95

При значении sparkline=true ответ представляет собой краткую сводку: почасовое число запросов за последние 24 часа (часы без запросов не включаются), а также общее число запросов, долю ошибок и avgLatencyMs — среднее значение почасовых задержек P95. При значении view=overview в summary содержатся totalRequests, errorRate и p95LatencyMs, а в timeSeries — requests, errors и latencyP95; на карточках статистики страницы развертывания используется этот вид, который обновляется автоматически.

Журналы развертывания#

GET /api/deployments/{owner}/{deployment}/logs?limit=50&severity=ERROR,WARNING

Python SDK: client.deployments.logs(owner, deployment, limit=50, severity="ERROR,WARNING")

Возвращает последние записи журнала с необязательными фильтром по уровню важности и постраничной навигацией.

ПараметрТипОписание
limitintМаксимальное число возвращаемых записей (по умолчанию: 50, максимум: 200)
severityстрокаФильтр по уровню важности, значения разделяются запятыми
pageTokenстрокаТокен постраничной навигации из предыдущего ответа

Состояние развертывания#

GET /api/deployments/{owner}/{deployment}/health

Python SDK: client.deployments.health(owner, deployment)

Проверяет доступность развертывания и возвращает его состояние с измеренной задержкой туда и обратно:

{
    "healthy": true,
    "status": 200,
    "latencyMs": 142
}

Если конечная точка недоступна, ответ с состоянием «не работает» не содержит status и включает сообщение error.

Обзор панели мониторинга

Агрегированные значения на вкладке Deployments нельзя получить через единую конечную точку REST API. Чтобы воспроизвести их, вызови маршрут метрик для каждого развертывания, возвращаемого GET /api/deployments/{owner} (client.deployments.list(owner)).

Оптимизация производительности#

Используй данные мониторинга для оптимизации развертываний:

Если задержка слишком велика:

  1. Убедись, что размер модели подходит для задачи
  2. Рассмотри возможность выбрать ближайший регион
  3. Проверь размер изображения, отправляемого с каждым запросом
Снижение задержки

Попробуй уменьшить значение imgsz и сравни полученную задержку и точность модели. Чтобы снизить сетевую задержку, разверни модель в регионе, расположенном ближе к вызывающим ее клиентам.

Часто задаваемые вопросы#

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

    Операционные метрики и журналы хранятся в течение разных периодов. API метрик поддерживает выбор периода от 1 часа до 30 дней; по мере увеличения периода данные агрегируются крупнее: от интервалов в 1 минуту для периода в 1 час до интервалов в 4 часа для периода в 30 дней. На вкладке Logs развертывания отображаются 20 последних записей журнала; API журналов может возвращать до 200 записей на запрос и поддерживает постраничную навигацию.

    Метрики и журналы хранятся, только пока существует развертывание, поэтому при его удалении доступ к истории также прекращается. Перед удалением конечной точки экспортируй все данные, которые хочешь сохранить.

  • Да, на вкладке Deployments в твоем профиле отображаются все конечные точки и карточки с общей сводкой. Используй табличный вид, чтобы сравнить производительность разных развертываний.

  • Нет. Метрики и проверки работоспособности собираются только для развертываний в состоянии Ready. У остановленной конечной точки сохраняются страница развертывания и история за доступный период, но текущие данные не отображаются, пока ты снова ее не запустишь.

Комментарии