Ultralytics YOLO27:

Выделенные конечные точки#

Платформа Ultralytics позволяет развертывать модели YOLO на выделенных конечных точках в 42 регионах мира. Каждая конечная точка — это сервис для одного клиента с уникальным URL и независимым мониторингом. Ресурсы конфигурации по умолчанию сокращаются до нуля в периоды простоя; пользовательские конфигурации поддерживают экземпляр в готовом состоянии и тарифицируются за время работы.

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

Создание конечной точки#

На вкладке Deploy#

Разверни модель на её вкладке Deploy:

  1. Перейди к своей модели
  2. Нажми вкладку Deploy
  3. Изучи карту мира и таблицу регионов, отсортированную по измеренной задержке от твоего местоположения
  4. Нажми Deploy в строке нужного региона
  5. В диалоговом окне проверь CPU, объём памяти, стоимость и название развертывания, затем нажми Create Deployment

Предлагаемое название объединяет название модели и город региона (например, yolo26n-iowa); его можно изменить перед развертыванием. У модели должны быть веса, иначе вместо таблицы регионов на вкладке отобразится пустое состояние.

На вкладке Deployments#

Создай развертывание на вкладке Deployments в своём профиле или на боковой панели:

  1. Нажми New Deployment на вкладке Deployments или + рядом с пунктом Deployments на боковой панели
  2. Выбери модель в списке моделей — там отображаются завершённые модели
  3. Выбери регион на мини-карте или в таблице задержки
  4. Выбери CPU и объём памяти, проверь стоимость и при необходимости измени предлагаемое название развертывания
  5. Нажми Create Deployment

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

Жизненный цикл развертывания#

Подключи уведомления Slack, чтобы получать сообщения о готовности развертывания или сбое запуска.

Выбор региона#

Выбирай из 42 регионов по всему миру. На интерактивной карте и в таблице регионов отображаются:

  • Метки регионов: цвет зависит от задержки и меняется от зелёного к красному (чем быстрее регион, тем зеленее метка; чем медленнее, тем краснее)
  • Развернутые регионы: отмечены в таблице значком «Развернуто»
  • Развертываемые регионы: на метке и в строке таблицы отображается анимированный пульсирующий индикатор
  • Двусторонняя подсветка: при наведении на регион на карте подсвечивается строка таблицы, и наоборот

Таблица задержки регионов на вкладке Deploy платформы Ultralytics, отсортированная по задержке

В таблице регионов на вкладке модели Deploy указаны:

СтолбецОписание
МестоположениеГород и страна со значком флага
ЗонаИдентификатор региона
ЗадержкаИзмеренное время отклика от твоего браузера
РасстояниеРасстояние в км от твоего примерного местоположения
ДействияКнопка Deploy или значок статуса «Развернуто»

В таблице можно искать по городу, стране и зоне; по умолчанию она отсортирована по задержке.

Диалоговое окно создания развертывания

В диалоговом окне New Deployment (на вкладке Deployments или на боковой панели) отображается упрощённая таблица регионов только со столбцами «Местоположение», «Задержка» и «Выбрать». В ней перечислены 20 самых быстрых регионов и есть примечание об остальных. Чтобы выбрать любой другой регион, воспользуйся мини-картой.

Как измеряется задержка

Твой браузер измеряет задержку для каждого из 42 регионов. Результаты кэшируются на 30 минут и доступны как на вкладке Deploy, так и в диалоговом окне New Deployment. Чтобы повторить измерение с текущей сети, нажми Rescan на вкладке модели Deploy. Расстояние рассчитывается на основе примерного местоположения запроса, поэтому это ориентировочная, а не точная величина.

Доступные регионы#

ЗонаРасположение
us-central1Айова, США
us-east1Южная Каролина, США
us-east4Северная Вирджиния, США
us-east5Колумбус, США
us-south1Даллас, США
us-west1Орегон, США
us-west2Лос-Анджелес, США
us-west3Солт-Лейк-Сити, США
us-west4Лас-Вегас, США
northamerica-northeast1Монреаль, Канада
northamerica-northeast2Торонто, Канада
northamerica-south1Керетаро, Мексика
southamerica-east1Сан-Паулу, Бразилия
southamerica-west1Сантьяго, Чили

Настройка эндпоинта#

Диалоговое окно нового развертывания#

В диалоговом окне New Deployment можно выбрать модель, регион, ресурсы и имя развертывания:

ПолеОписание
МодельЛюбая завершенная модель в рабочей области, выбранная с помощью селектора
РегионРегион развертывания, выбранный на мини-карте или в таблице задержек
CPU и памятьВыбери объем ресурсов и проверь отображаемую стоимость
Имя развертыванияСоздается автоматически после выбора модели и региона; его можно изменить

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

Выбери объем CPU и памяти в настройках ресурсов и проверь отображаемую стоимость перед созданием развертывания. Доступные варианты CPU: 1, 2, 4, 6 или 8 vCPU; объем памяти — от 2 до 32 GiB. Для большего объема памяти требуется больше vCPU (например, для 16 GiB нужно не менее 4 vCPU), а в диалоговом окне объясняется, почему некоторые сочетания недопустимы. Размер по умолчанию (1 vCPU, 2 GiB) бесплатный, а в периоды бездействия ресурсы масштабируются до нуля. При выборе пользовательского размера один экземпляр остается активным, а плата начисляется по отображаемому почасовому тарифу для региона с момента готовности до остановки эндпоинта, включая время бездействия. Для создания, запуска или изменения размера на пользовательский нужны доступные кредиты; эндпоинты с пользовательским размером автоматически останавливаются, когда в рабочей области заканчиваются кредиты. Агенты используют это же диалоговое окно, когда ты выбираешь Новое развертывание….

Диалоговое окно нового развертывания Ultralytics Platform с ценами на пользовательские настройки CPU и памяти

Автоматически созданные имена

Имя развертывания объединяет имя модели с названием города, где расположен регион, например yolo26n-iowa. В пределах рабочей области имена должны быть уникальными: если имя уже занято, в диалоговом окне появится сообщение об ошибке, а кнопка Создать развертывание будет отключена, пока ты не выберешь другое имя.

Вкладка Deploy (быстрое развертывание)#

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

Управление эндпоинтами#

Режимы просмотра#

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

РежимОписание
КарточкиКарточки со статусом, размером, метриками, расстоянием и датой развертывания
КомпактныйСетка из компактных карточек с основными метриками
ТаблицаТаблица данных с сортируемыми столбцами

Вкладка Deploy в Ultralytics Platform: активные развертывания в виде карточек

Компактный вид и таблица

В компактных карточках отображаются флаг, имя, город, статус и три метрики. В таблице можно сортировать данные по столбцам Name, Region, Status, CPU, Memory, HTTP Requests, HTTP Error Rate, HTTP P95 Latency, Distance и Deployed. Каждая карточка и строка ведет на страницу развертывания; действия для управления жизненным циклом доступны на этой странице, а значок корзины рядом с развертыванием на боковой панели удаляет его.

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

У каждого развертывания есть собственная страница по адресу /{username}/deploy/{deployment}, на которой отображаются:

  • Заголовок: флаг региона, отображаемое имя (нажми на него, чтобы переименовать; URL страницы и путь API изменятся в соответствии с новым именем, а URL эндпоинта останется прежним), значок статуса, местоположение, объем CPU и памяти
  • Действия: Обновить конфигурацию, Заменить модель и Остановить развертывание, если статус — Готово; Запустить развертывание, если статус — Остановлено; меню Другие действия (…) с пунктами Информация, Обновить и Удалить развертывание
  • Метрики: число HTTP-запросов, доля ошибок HTTP и задержка HTTP P95 за 24 часа с мини-графиками, а также карточка со ссылкой на развернутую модель
  • Вкладки: Overview, Monitoring, Predict и Logs
  • Сообщение о статусе: причина сбоя, если развертывание завершилось неудачно

На вкладке Overview показана карта местоположения, карточка Эндпоинт с URL эндпоинта, который можно скопировать, ссылка на Документацию API и проверка работоспособности, а также карточка Информация о развертывании с ценой, регионом, CPU и памятью. На вкладке Logs показаны последние записи журнала с фильтром по серьезности (Все / Ошибки). На вкладке Predict доступна встроенная панель предсказаний для тестирования непосредственно на развертывании; во вкладке результата Документация приведены готовые примеры кода на Python, JavaScript и cURL с URL эндпоинта и, для владельцев рабочей области, привязанным API-ключом (см. Мониторинг). В диалоговом окне Информация перечислены свойства развертывания и можно изменить пользовательские метаданные.

Изменение настроек CPU и памяти#

  1. Открой страницу эндпоинта со статусом Готово.
  2. Нажми Обновить конфигурацию.
  3. Выбери CPU и Память, затем проверь отображаемую почасовую стоимость.
  4. Нажми Обновить конфигурацию. Текущая конфигурация продолжит обслуживать запросы, пока новая не будет готова.

Обновление конфигурации CPU и памяти развертывания в Ultralytics Platform

Пользовательские ресурсы оплачиваются по времени работы и поддерживают экземпляр в активном состоянии. Благодаря этому IP-камера может работать без дополнительной платы (см. раздел Камера в фоновом режиме). Возврат к ресурсам по умолчанию восстанавливает масштабирование до нуля и удаляет фоновую камеру.

Временные данные мониторинга

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

Замена модели#

Замени модель, обслуживающую запросы на готовом эндпоинте, не меняя его URL:

  1. Открой страницу развертывания
  2. Нажми Заменить модель
  3. Выбери другую завершенную модель из той же рабочей области
  4. При необходимости измени имя развертывания
  5. Нажми Заменить модель

Текущая модель продолжит обслуживать запросы, пока запускается замена. Когда новая модель будет готова, трафик переключится на нее. ID развертывания, URL, регион и API-ключ останутся прежними; отображаемое имя изменится только в том случае, если ты введешь новое. Если замена завершится с ошибкой, предыдущая модель и имя останутся активными.

Для замены должны выполняться все перечисленные условия; в противном случае запрос будет отклонен:

  • Развертывание имеет статус Ready, и сейчас не выполняется никаких других операций жизненного цикла
  • У заменяющей модели есть веса, и она находится в той же рабочей области, что и развертывание
  • Заменяющая модель отличается от уже развернутой
Одна модель на эндпоинт

Замена удаляет предыдущую модель из развертывания. Каждый эндпоинт обслуживает одну модель; чтобы обе модели были доступны одновременно, создай еще одно развертывание.

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

СтатусОписание
СозданиеВыполняется настройка развертывания
РазвертываниеКонтейнер запускается
ReadyЭндпоинт работает и принимает запросы
ОстановкаЭндпоинт завершает работу
ОстановленЭндпоинт приостановлен и недоступен
СбойНе удалось выполнить развертывание (см. сообщение об ошибке)

Для развертывания со статусом Ready на странице отображается значок Starting, пока эндпоинт не ответит на первую проверку работоспособности, и Not responding, если проверка завершится ошибкой.

URL эндпоинта#

У каждого эндпоинта есть уникальный URL, например:

https://predict-<deployment-id>-<hash>-<region>.a.run.app

Карточка развертывания Ultralytics Platform с URL эндпоинта и кнопкой копирования

Нажми кнопку копирования, чтобы скопировать URL. Нажми API documentation, чтобы открыть справочник API для этого эндпоинта. Эндпоинт обслуживает следующие пути:

ПутьМетодОписание
/predictPOSTЗапуск инференса; требуется API-ключ развертывания
/healthGETПроверка доступности, возвращающая статус сервиса и количество кэшированных моделей
/GETСводка статуса развернутого сервиса
/docsGETИнтерактивный справочник API, созданный для этого развертывания, модели и региона

Управление жизненным циклом#

Управляй состоянием эндпоинта:

ДействиеОписание
ЗапуститьВозобновить работу остановленного эндпоинта
ОстановитьПриостановить работу эндпоинта
УдалитьУдалить эндпоинт без возможности восстановления

Остановить эндпоинт#

Останови эндпоинт, если не хочешь, чтобы он принимал запросы:

  1. Нажми Stop deployment на странице развертывания
  2. Статус эндпоинта меняется на «Stopping», а затем на «Stopped»

Остановленные эндпоинты:

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

Удалить эндпоинт#

Удалить эндпоинт без возможности восстановления:

  1. Открой More actions (…) на странице развертывания и нажми Delete Deployment или нажми значок корзины рядом с развертыванием на боковой панели
  2. Подтверди действие, нажав Delete
Необратимое действие

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

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

Использование эндпоинтов#

Аутентификация#

Каждое развертывание связано с одним API-ключом рабочей области, которой принадлежит модель. Добавляй его в запросы:

Authorization: Bearer YOUR_API_KEY

Эндпоинт принимает только ключ, связанный с ним при создании, поэтому никакой другой ключ не откроет доступ к нему — даже другой активный ключ из той же рабочей области. Чтобы выбрать связываемый ключ, разверни модель через API, аутентифицировав запрос ключом владельца рабочей области: именно этот ключ будет связан с эндпоинтом, и он уже у тебя есть. При развертывании любым другим способом (через интерфейс Platform или вызов API, аутентифицированный как участник команды) автоматически связывается один из активных ключей рабочей области-владельца — запроси его у владельца рабочей области, поскольку только владелец может просматривать значения ключей (см. API-ключи). Участники команды без связанного ключа по-прежнему могут запускать инференс в браузере через прокси Platform predict.

Удаление связанного ключа не блокирует доступ к эндпоинту

Удаление или деактивация связанного API-ключа не отзывает прямой доступ к эндпоинту — любой, у кого есть строка ключа, по-прежнему может обращаться к URL эндпоинта. При этом перестает работать прокси Platform predict: он проверяет ключ в реальном времени и сообщает, что ключ больше недоступен. Чтобы полностью отозвать доступ, останови или удали развертывание; после смены ключей создай эндпоинт заново, чтобы связать его с новым ключом.

Прямые запросы к эндпоинту#

Отправляй производственные запросы напрямую на URL со страницы развертывания. Такие запросы не проходят через ограничитель частоты запросов API Platform, поэтому лимит predict в 20 запросов в минуту не применяется. При этом пропускная способность самого эндпоинта ограничена:

  • Каждый эндпоинт обслуживает один экземпляр, который одновременно обрабатывает ограниченное количество запросов
  • Запросы, которые невозможно быстро обработать, возвращают 429 с заголовком Retry-After
  • Один запрос может выполняться до 1 часа, что позволяет завершить инференс видео
  • Размер тела запроса ограничен 32 МБ; более крупные загрузки отклоняются с ответом 413
  • Ответы размером более 1 КБ сжимаются с помощью gzip, запросы браузера между разными источниками разрешены

Пример запроса#

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())

Параметры запроса#

ПараметрТипПо умолчаниюДиапазонОписание
fileфайл--Файл изображения или видео (обязателен, если не задан source)
conffloat0.250.01 – 1.0Минимальный порог уверенности
ioufloat0.70.0 – 0.95Порог IoU для NMS
imgszint-32 – 1280Размер входного изображения в пикселях; по умолчанию используется размер при обучении модели (640, если он недоступен)
normalizeboolfalse-Возвращать координаты рамок в диапазоне от 0 до 1
decimalsint50 – 10Точность десятичного представления координат
vid_strideint1≥ 1Обрабатывать каждый N-й кадр видео; для изображений параметр игнорируется
bitsint88, 12, 16Квантование карты глубины; только для моделей оценки глубины
sourceстрока--URL изображения или строка в формате base64 (альтернатива file); максимум 4 096 символов при использовании API платформы

Эндпоинт сохраняет среду выполнения инференса из последнего обновления, поэтому новые настройки, например значение размера обучения по умолчанию imgsz или указанный выше vid_stride, применятся после выхода новой версии, например после замены модели или изменения количества CPU или объема памяти. Чтобы зафиксировать размер входных данных, явно укажи imgsz.

См. раздел Ответы с картой глубины, чтобы узнать, как bits влияет на возвращаемую карту глубины и как ее декодировать.

Инференс видео

Выделенные эндпоинты принимают изображения и видео через параметр file.

  • Форматы изображений (до 32 МБ на запрос): AVIF, BMP, DNG, HEIC, HEIF, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WEBP
  • Форматы видео (до 32 МБ на запрос): ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV

Результаты возвращаются для каждого обработанного кадра видео; модели глубины принимают только изображения. Вместо file также можно передать общедоступный URL изображения или изображение в формате base64 с помощью параметра source. Слишком большие загрузки отклоняются с ответом 413.

Формат ответа#

Совпадает с форматом общего инференса, но включает поля, специфичные для задачи.

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

  • Лимиты эндпоинтов зависят от плана:

    • Free: до 3 развертываний
    • Pro: до 10 развертываний
    • Enterprise: неограниченное количество развертываний

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

  • Нет, регион изменить нельзя. Чтобы сменить регион:

    1. Удали существующий эндпоинт
    2. Создай новый эндпоинт в нужном регионе

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

  • Для глобального охвата:

    1. Разверни модель в нескольких регионах
    2. Используй балансировщик нагрузки или маршрутизацию DNS
    3. Направляй пользователей к ближайшему эндпоинту
  • Длительность холодного запуска зависит от модели и от того, масштабировался ли эндпоинт до нуля; запуск из состояния простоя может занять около минуты, а Platform дает простаивающему эндпоинту дополнительное время на запуск, прежде чем сообщить о его неработоспособности. Открытие страницы развертывания или повторный запуск проверки работоспособности выводит простаивающий эндпоинт из этого состояния, поэтому сделай это до резкого роста трафика.

  • Нет. Каждое развертывание обрабатывает трафик по сгенерированному URL эндпоинта, указанному на странице развертывания. Этот URL остается неизменным на протяжении всего срока существования развертывания, в том числе при замене модели.

Комментарии