サービングエンドポイントのルート最適化設定

この記事では、モデルサービングまたはFeature Servingエンドポイントでルート最適化を構成する方法と、それらをクエリする方法について説明します。 ルートが最適化されたサービス エンドポイントにより、オーバーヘッドのレイテンシが大幅に削減され、エンドポイントでサポートされるスループットが大幅に向上します。

ルート最適化は、スループットが高いワークロードやレイテンシに敏感なワークロードに推奨されます。

要件

  • モデルサービング エンドポイントでのルート最適化については、 「要件」を参照してください。

  • Feature Servingでのルート最適化については、 「要件」を参照してください。

モデルサービングエンドポイントでルート最適化を有効にする

ルート最適化用にエンドポイントを構成するには、モデル サービング エンドポイントの作成時に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 ノートブックを使用してルート最適化されたサービス エンドポイントを作成する

ノートブックを新しいタブで開く

Feature Servingエンドポイントでルート最適化を有効にする

機能と関数の提供にルート最適化を使用するには、エンドポイント作成要求を処理するための [ entity_name ] フィールドに機能仕様のフル ネームを指定します。 FeatureSpecsには entity_version は必要ありません。

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 トークンをプログラムで取得するには、 OAuth マシン間 (M2M) 認証のガイダンスに従ってください。

  1. ワークスペースのServing UI から OAuth トークンを取得します。

    1. サイドバーの 「配信 」をクリックして、配信 UI を表示します。

    2. [ エンドポイントの提供 ] ページで、ルート最適化エンドポイントを選択してエンドポイントの詳細を表示します。

    3. エンドポイントの詳細ページで、[ Query endpoint ] ボタンをクリックします。

    4. 「トークンの取得」タブを選択します。

    5. 「OAuth トークンの取得」ボタンを選択します。 このトークンは1時間有効です。 現在のトークンの有効期限が切れた場合は、新しいトークンを取得します。

  2. Serving UI のエンドポイント詳細ページからモデルサービング エンドポイント URL を取得します。

  3. ステップ 1 のOAuthトークンとステップ 2 のエンドポイント URL を使用して、ルート最適化エンドポイントを照会する次のサンプル コードを入力します。

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

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

ルート最適化エンドポイントをクエリするための Python SDK については、Databricks アカウント チームにお問い合わせください。

制限事項

  • ルート最適化でサポートされている認証は OAuth トークンのみです。 個人用アクセストークンはサポートされていません。

  • ルート最適化では、IP アクセス制御リストやPrivateLinkなど、Databricks ワークスペースで構成したネットワーク制限は適用されません。 モデルサービング トラフィックがこれらの制御によってバインドされる必要がある場合は、ルート最適化を有効にしないでください。 このようなネットワーク要件があり、ルート最適化モデルサービングを試してみたい場合は、 Databricksアカウント チームにお問い合わせください。