Udostępnij przez


Optymalizacja tras w przypadku obsługi punktów końcowych

W tym artykule opisano sposób włączania optymalizacji tras na potrzeby obsługi modelu lub obsługi funkcji punktów końcowych. Routing zoptymalizowany pod kątem punktów końcowych obsługujących znacznie mniejsze opóźnienia związane z obciążeniem i umożliwia znaczne ulepszenia przepływności obsługiwanej przez punkt końcowy.

Punkty końcowe zoptymalizowane pod kątem trasy są odpytywane inaczej niż punkty końcowe niezoptymalizowane pod kątem trasy, w tym przy użyciu innego adresu URL i uwierzytelniania przy użyciu tokenów OAuth. Aby uzyskać szczegółowe informacje, zobacz Zapytania dotyczące punktów końcowych zoptymalizowanych pod kątem tras.

Co to jest optymalizacja tras?

Po włączeniu optymalizacji tras w punkcie końcowym usługa Databricks Model Serving poprawia ścieżkę sieciową dla żądań wnioskowania, co zapewnia szybszą, bardziej bezpośrednią komunikację między klientem a modelem. Ten zoptymalizowany routing odblokowuje wyższe zapytania na sekundę (QPS) w porównaniu z nieoptymalicznymi punktami końcowymi i zapewnia bardziej stabilne i niższe opóźnienia dla aplikacji.

Wskazówka

Optymalizacja tras to jedna z kilku strategii optymalizacji obciążeń produkcyjnych. Aby uzyskać kompleksowy przewodnik po technikach optymalizacji, zobacz Optymalizowanie punktów końcowych obsługujących model dla środowiska produkcyjnego.

Wymagania

Włączanie optymalizacji tras w punkcie końcowym obsługującym model

Dostarczanie interfejsu użytkownika

Optymalizację tras można włączyć podczas tworzenia punktu końcowego dla modelu przy użyciu interfejsu użytkownika Serving. Optymalizację tras można włączyć tylko podczas tworzenia punktu końcowego. Nie można zaktualizować istniejących punktów końcowych do optymalizacji trasy.

  1. Na pasku bocznym kliknij pozycję Obsługa , aby wyświetlić interfejs użytkownika obsługi.
  2. Kliknij Utwórz punkt końcowy obsługi.
  3. W sekcji Optymalizacja tras wybierz pozycję Włącz optymalizację tras.
  4. Po utworzeniu punktu końcowego usługa Databricks wysyła powiadomienie o tym, co jest potrzebne do wykonywania zapytań dotyczących zoptymalizowanego punktu końcowego trasy.

Tworzenie punktu końcowego obsługującego model

interfejs API REST

Aby skonfigurować punkt końcowy obsługi na potrzeby optymalizacji tras przy użyciu interfejsu API REST, podczas tworzenia punktu końcowego obsługującego model, określ parametr route_optimized. Ten parametr można określić tylko podczas tworzenia punktu końcowego. Nie można zaktualizować istniejących punktów końcowych do zoptymalizowania trasy.

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

Jeśli używasz języka Python, możesz użyć poniższego notesu, aby utworzyć punkt końcowy obsługi zoptymalizowanej pod kątem trasy.

Tworzenie zoptymalizowanego pod kątem trasy punktu końcowego obsługującego przy użyciu notesu języka Python

Weź notes

Databricks SDK

Aby skonfigurować punkt końcowy obsługi na potrzeby optymalizacji tras przy użyciu zestawu SDK usługi Databricks, określ route_optimized parametr podczas tworzenia punktu końcowego obsługującego model. Ten parametr można określić tylko podczas tworzenia punktu końcowego. Nie można zaktualizować istniejących punktów końcowych do zoptymalizowania trasy.

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
)

Włączanie optymalizacji tras w punkcie końcowym obsługującym funkcję

Aby użyć optymalizacji tras dla funkcji i obsługi funkcji, określ pełną nazwę specyfikacji funkcji w entity_name polu do obsługi żądań tworzenia punktów końcowych. Element entity_version nie jest wymagany w przypadku elementu 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
}

Ograniczenia

Dodatkowe zasoby