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


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

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

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

Требования

  • Сведения об оптимизации маршрутов в конечной точке обслуживания модели см. в разделе "Требования".
  • Сведения об оптимизации маршрутов в конечной точке обслуживания компонентов см. в разделе "Требования".

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

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

Получить записную книжку

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

Чтобы использовать оптимизацию маршрутов для обслуживания компонентов и функций, укажите полное имя спецификации компонента в 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
}

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

Ниже показано, как протестировать запрос к оптимизированной для маршрута конечной точке обслуживания модели.

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

  1. Получение маркера OAuth из пользовательского интерфейса обслуживания рабочей области.
    1. Щелкните "Служить " на боковой панели, чтобы отобразить пользовательский интерфейс обслуживания.
    2. На странице конечных точек обслуживания выберите оптимизированную для маршрута конечную точку, чтобы просмотреть сведения о конечной точке.
    3. На странице сведений о конечной точке нажмите кнопку "Запрос конечной точки ".
    4. Перейдите на вкладку "Получение маркера ".
    5. Нажмите кнопку "Получить маркер OAuth". Этот маркер действителен в течение 1 часа. Получение нового маркера при истечении срока действия текущего маркера.
  2. Получите URL-адрес конечной точки обслуживания модели на странице сведений о конечной точке из пользовательского интерфейса обслуживания .
  3. Используйте маркер OAuth из шага 1 и URL-адрес конечной точки из шага 2, чтобы заполнить следующий пример кода, который запрашивает оптимизированную для маршрута конечную точку.

url="your-endpoint-url"
OAUTH_TOKEN=xxxxxxx

curl -X POST -H 'Content-Type: application/json' -H "Authorization: Bearer $OAUTH_TOKEN" -d@data.json $url

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

Извлечение маркера OAuth программным способом

Используйте субъект-службу для проверки подлинности с помощью Azure Databricks , чтобы получить маркер OAuth программным способом. Помимо этих действий, необходимо указать authorization_details в запросе.

  • Замените <token-endpoint-URL> url-адрес предыдущей конечной точки маркера.
  • Замените <client-id> идентификатором клиента субъекта-службы, который также называется идентификатором приложения.
  • Замените <client-secret> созданный секрет OAuth субъекта-службы.
  • Замените <endpoint-id> идентификатором конечной точки оптимизированной для маршрута конечной точки. Вы можете получить это из hostName в URL-адресе конечной точки.
  • Замените <action> разрешение действия, предоставленное субъекту-службе. Действие может быть query_inference_endpoint или manage_inference_endpoint.

Например:

      export CLIENT_ID=<client-id>
      export CLIENT_SECRET=<client-secret>
      export ENDPOINT_ID=<endpoint-id>
      export ACTION=<action>

      curl --request POST \
      --url <token-endpoint-URL> \
      --user "$CLIENT_ID:$CLIENT_SECRET" \
      --data 'grant_type=client_credentials&scope=all-apis'
      --data-urlencode 'authorization_details=[{"type":"workspace_permission","object_type":"serving-endpoints","object_path":"'"/serving-endpoints/$ENDPOINT_ID"'","actions": ["'"$ACTION"'"]}]'

Ограничения

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