Поделиться через


Оптимизация маршрутов для конечных точек обслуживания

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

Конечные точки, оптимизированные по маршруту, запрашиваются иначе, чем конечные точки без оптимизации по маршруту, включая использование другого URL-адреса и аутентификацию с помощью токенов OAuth. Дополнительные сведения см. в статье о конечных точках обслуживания, оптимизированных для маршрутизации запросов .

Что такое оптимизация маршрутов?

При включении оптимизации маршрутов на конечной точке Служба моделей Databricks улучшает сетевой путь для запросов вывода, что приводит к более быстрому прямому обмену данными между клиентом и моделью. Эта оптимизированная маршрутизация обеспечивает более высокие запросы в секунду (QPS) по сравнению с неоптимизированными конечными точками и обеспечивает более стабильные и низкие задержки для ваших приложений.

Подсказка

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

Требования

Включение оптимизации маршрутов в конечной точке обслуживания модели

Обслуживающий пользовательский интерфейс

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

  1. На боковой панели щелкните "Обслуживание" , чтобы отобразить пользовательский интерфейс обслуживания.
  2. Нажмите кнопку "Создать конечную точку обслуживания".
  3. В разделе "Оптимизация маршрутов " выберите "Включить оптимизацию маршрутов".
  4. После создания конечной точки Databricks отправляет вам уведомление о том, что необходимо для запроса оптимизированной для маршрута конечной точки.

Создание конечной точки обслуживания модели

REST API

Чтобы настроить конечную точку обслуживания для оптимизации маршрутов с помощью REST API, укажите route_optimized параметр во время создания конечной точки службы модели. Этот параметр можно указать только во время создания конечной точки, но не удается обновить существующие конечные точки для оптимизации маршрута.

POST /api/2.0/serving-endpoints

{
  "name": "my-endpoint",
  "config":
  {
    "served_entities":
    [{
      "entity_name": "ads1",
      "entity_version": "1",
      "workload_type": "CPU",
      "workload_size": "Small",
      "scale_to_zero_enabled": true,
    }],
  },
  "route_optimized": true
}

Питон

При использовании Python можно использовать следующую записную книжку для создания оптимизированной для маршрутизации конечной точки обслуживания.

Создание оптимизированной конечной точки обслуживания маршрута с помощью записной книжки Python

Возьмите записную книжку

Databricks SDK

Чтобы настроить конечную точку обслуживания для оптимизации маршрутов с помощью пакета SDK Databricks, укажите route_optimized параметр во время создания конечной точки обслуживания модели. Этот параметр можно указать только во время создания конечной точки, но не удается обновить существующие конечные точки для оптимизации маршрута.

from databricks.sdk import WorkspaceClient
from databricks.sdk.service.serving import EndpointCoreConfigInput, ServedEntityInput

workspace = WorkspaceClient()

workspace.serving_endpoints.create(
  name="my-serving-endpoint",
  config = EndpointCoreConfigInput(
    served_entities=[
    ServedEntityInput(
        entity_name="main.default.my-served-entity",
        scale_to_zero_enabled=True,
        workload_size="Small"
      )
    ]
  ),
  route_optimized=True
)

Включение оптимизации маршрутов в конечной точке обслуживания компонентов

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


POST /api/2.0/serving-endpoints

{
  "name": "my-endpoint",
  "config":
  {
    "served_entities":
    [
      {
        "entity_name": "catalog_name.schema_name.feature_spec_name",
        "workload_type": "CPU",
        "workload_size": "Small",
        "scale_to_zero_enabled": true
      }
    ]
  },
  "route_optimized": true
}

Ограничения

  • Оптимизация маршрутов доступна только для пользовательских конечных точек обслуживания моделей и конечных точек обслуживания компонентов. Поддержка конечных точек, использующих API-интерфейсы модели Foundation или внешние модели, не поддерживается.
  • Маркеры OAuth на основе Databricks являются единственной поддерживаемой проверкой подлинности для оптимизации маршрутов. Личные маркеры доступа не поддерживаются.

Дополнительные ресурсы