Optimización de rutas en puntos de conexión de servicio

Este artículo describe cómo habilitar la optimización de rutas en los puntos finales de modelo de servicio o característica de servicio. Los puntos de conexión de servicio optimizados para rutas reducen drásticamente la latencia adicional y permiten mejoras sustanciales en la capacidad de procesamiento que puede admitir tu punto de conexión.

Los puntos de conexión optimizados para rutas se consultan de forma diferente a los puntos de conexión no optimizados para rutas, incluido el uso de una dirección URL diferente y la autenticación mediante tokens de OAuth. Para más detalles, consulte Consultar puntos de enlace de servicio optimizados para rutas.

¿Qué es la optimización de rutas?

Al habilitar la optimización de rutas en un punto de conexión, Databricks Model Serving mejora la ruta de acceso de red para las solicitudes de inferencia, lo que da lugar a una comunicación más rápida y directa entre el cliente y el modelo. Este enrutamiento optimizado desbloquea consultas más altas por segundo (QPS) en comparación con los puntos de conexión no optimizados y proporciona latencias más estables y bajas para las aplicaciones.

Sugerencia

La optimización de rutas es una de las diversas estrategias para optimizar las cargas de trabajo de producción. Para una guía completa sobre las técnicas de optimización, consulte Optimizar puntos finales del servicio de modelos para producción.

Requisitos

Habilitar la optimización de rutas en un endpoint de servicio de modelos

Interfaz de usuario de servicio

Puede habilitar la optimización de rutas al crear un endpoint de servicio de modelo mediante la interfaz de usuario Serving. Solo puede habilitar la optimización de rutas durante la creación del punto de conexión, no puede actualizar los puntos de conexión existentes para optimizar la ruta.

  1. En la barra lateral, haga clic en Serving para mostrar la interfaz de usuario de Serving.
  2. Haga clic en Crear punto de conexión de servicio.
  3. En la sección Optimización de rutas, seleccione Habilitar optimización de rutas.
  4. Una vez creado el punto de conexión, Databricks le envía una notificación sobre lo que se necesita para consultar un punto de conexión optimizado para rutas.

Creación de un punto de conexión para servir modelos

REST API

Para configurar el punto de conexión de servicio para la optimización de rutas mediante la API REST, debe especificar el parámetro route_optimized durante la creación del punto de conexión de servicio del modelo. Solo puede especificar este parámetro durante la creación del punto de conexión, no puede actualizar los puntos de conexión existentes para que se optimicen.

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
}

Pitón

Si usa Python, puede usar el cuaderno siguiente para crear un punto de conexión de servicio optimizado para rutas.

Crear un endpoint de servicio de rutas optimizado con un cuaderno de Python

Descargar el cuaderno

SDK de Databricks

Para configurar el punto de conexión de servicio para la optimización de rutas mediante el SDK de Databricks, especifique el route_optimized parámetro durante la creación del punto de conexión del modelo de servicio. Solo puede especificar este parámetro durante la creación del punto de conexión, no puede actualizar los puntos de conexión existentes para que se optimicen.

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
)

Habilitación de la optimización de rutas en un punto de conexión de servicio de características

Para usar la optimización de rutas para el servicio de características y funciones, especifique el nombre completo de la especificación de características en el campo entity_name para servir solicitudes de creación de puntos de conexión. El entity_version no es necesario para 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
}

Limitaciones

  • La optimización de rutas solo está disponible para endpoints personalizados para servir modelos y endpoints para servir características. No se admiten los puntos de conexión de servicio que usan las API de Foundation Model ni los modelos externos .
  • Los tokens de OAuth internos de Databricks son la única autenticación admitida para la optimización de rutas. No se admiten tokens de acceso personal.

Recursos adicionales