カスタムネットワーキング
カスタム・ネットワーキング・オプションを使用して、データ・サイエンスにモデル・デプロイメントを作成します。
ワークロードは、セカンダリVNICを使用して顧客管理VCNおよびサブネットにアタッチされます。サブネットは、NAT/インターネット・ゲートウェイを介してパブリック・インターネットへのエグレス用に構成できます。
カスタム・エグレスを使用するには、データ・サイエンスにサブネットへのアクセス権を付与するポリシーを追加する必要があります:
allow service datascience to use virtual-network-family in compartment <subnet_compartment>カスタム・エグレスでは、サブネットに使用可能なIPアドレスが少なくとも127個必要です。
カスタム・ネットワーキング・モデル・デプロイメントは、コンソール、OCI Python SDK、OCI CLIまたはデータ・サイエンスAPIを使用して作成および実行できます。
- 「プロジェクト」リスト・ページで、操作するモデル・デプロイメントを含むプロジェクトを選択します。リスト・ページまたはプロジェクトの検索に関するヘルプが必要な場合は、プロジェクトのリストを参照してください。
- プロジェクトの詳細ページで、「モデル・デプロイメント」を選択します。
- 「モデル・デプロイメントの作成」を選択します。
-
モデル・デプロイメントの作成ページで、次の情報を入力します。
- コンパートメント
- 名前(オプション): モデル・デプロイメントの一意の名前(255文字の制限)を入力します。名前を指定しない場合、名前は自動的に生成されます。例:
modeldeployment20200108222435 - 説明(オプション): モデル・デプロイメントの説明(400文字の制限)を入力します。
- カスタム環境変数キー(オプション): カスタム環境変数キーを入力します。
- 値(オプション): キーの値を入力します。
- モデル: 「選択」を選択して「モデルの選択」パネルを開き、関連するオプションを選択してから、「送信」を選択してパネルを閉じます。重要
400 GBを超えるモデル・アーティファクトは、デプロイメントではサポートされていません。デプロイメントするより小さいモデル・アーティファクトを選択します。- 単一モデル: 「モデル・コンパートメントの選択」(コンパートメントとプロジェクトを指定)または「OCIDの使用」のいずれかを使用してモデルを検索し、リストからモデルを選択します。
- モデル・グループ: コンパートメントおよびプロジェクトを指定し、リストからモデル・グループを選択します。
- コンピュート・シェイプを変更するには、「シェイプの変更」を選択します。次に、「コンピュート・シェイプの選択」パネルの次のステップに従います。
- インスタンス・タイプの選択
- シェイプ・シリーズを選択します。
- サポートされているシリーズ内のコンピュート・シェイプのいずれかを選択します。リソースの使用方法に最適なシェイプを選択します。
- 選択したシェイプを展開して、OCPUおよびメモリーを構成します。
- OCPUの数
- メモリー量(GB): OCPUごとに、最大64 GBのメモリーと最大合計512 GBを選択します。許容されるメモリーの最小容量は、1GBまたはOCPUの数に一致する値のいずれか大きい方です。
- バースト可能なシェイプの有効化: バースト可能な仮想マシンを使用する場合に選択し、「OCPU当たりのベースライン使用率」で、通常使用するOCPUの割合を選択します。サポートされている値は、12.5%および50%です。(モデル・デプロイメントでは、50%の値のみがサポートされます。)
- 「シェイプの選択」を選択します。
- インスタンス数: モデルをレプリケートするモデル・デプロイメントのインスタンス数を入力します。
- 自動スケーリング構成(オプション): 「自動スケーリングの有効化」を選択し、次の情報を入力します。
- インスタンスの最小数
- インスタンスの最大数
- クールダウン期間(秒)
- スケーリング・メトリック・タイプ
カスタム・スケーリング・メトリック・オプションを使用するには、「カスタム」を選択し、スケールインおよびスケールアウト問合せを指定します。
重要
リソースOCIDを参照するには、各MQL問合せに次のテキストを含めます:{resourceId = "MODEL_DEPLOYMENT_OCID"} - スケールインしきい値(パーセンテージ)
- スケールアウトしきい値(パーセント)
- 拡張オプション(オプション): ロード・バランサを自動スケーリングします。最大帯域幅の値を最小帯域幅値より大きく、最小帯域幅値の2倍以下に設定します。
- インスタンス数のスケールイン・ステップ
- インスタンス数のスケールアウト・ステップ
- ネットワーキング・リソース: カスタム・ネットワーキングの場合は、次のオプションを選択します。
- Custom Networking: 使用するVCNおよびサブネット(コンパートメント別)を選択します。
パブリック・インターネットへのエグレス・アクセスには、NATゲートウェイへのルートを持つプライベート・サブネットを使用します。
ノート
- ファイル・ストレージ・マウントを使用するには、カスタム・ネットワークを使用する必要があります。
- カスタム・ネットワーキングから管理対象ネットワーキングへの切替えは、作成後はサポートされません。
- バナー
The specified subnet is not accessible. Select a different subnet.が表示された場合は、データ・サイエンスでカスタム・ネットワーキングを使用できるようにするポリシーを作成します。ポリシーを参照してください。
- Custom Networking: 使用するVCNおよびサブネット(コンパートメント別)を選択します。
- エンドポイント・タイプ: 関連するオプションを選択します。
- パブリック・エンドポイント: 仮想クラウド・ネットワーク(VCN)の外部から管理対象インスタンスへのデータ・アクセスを有効にします。
- プライベート・エンドポイント: モデル・デプロイメントに使用するプライベート・エンドポイントを指定します。プライベート・ネットワーキングまたはプライベート・エンドポイントを使用するデプロイメントでは、サービス管理のパブリック・インターネット・アクセスを有効にできません。
- プライベート・エンドポイント・コンパートメント
- プライベート・エンドポイント
- ロギング(オプション): 「選択」を選択して「ロギングの選択」パネルを開き、次の情報を入力してから、「送信」を選択してパネルを閉じます。
- アクセス・ログの場合は、コンパートメント、ログ・グループおよびログ名を選択します。
- 予測ログの場合は、コンパートメント、ログ・グループおよびログ名を選択します。
- BYOC環境の設定(「カスタム・コンテナ・イメージの使用」の下) (オプション): 「選択」を選択して「BYOC環境の設定」パネルを開き、次の情報を入力し、「選択」を再度選択してパネルを閉じます。
- リポジトリ・コンパートメント
- リポジトリ: カスタム・イメージを含むリポジトリを入力します。
- イメージ: 実行時に使用するカスタム・イメージを入力します。
- ダイジェスト: イメージ・ダイジェストを入力します。例:
sha256:<digest>。ダイジェストは、デプロイするイメージと完全に一致する必要があります。 - エントリポイント: コンテナの起動時に実行する1つ以上のエントリ・ポイント・ファイル(
/opt/script/entrypoint.shなど)を入力します。最後に引用符を使用しないでください。 - サーバー・ポート: 推論Webサーバーのポートを入力します。デフォルトは8080です。有効範囲: 1024–65535 (24224、8446、8447を除く)。
- ヘルス・チェック・ポート: コンテナ・ヘルス・チェックのポートを入力します。デフォルトはサーバー・ポートです。有効範囲: 1024–65535 (24224、8446、8447を除く)。
- デプロイメント・モード(「拡張オプション」の下): Mbps単位でロード・バランシングの帯域幅を選択するか、10 Mbpsのデフォルトを使用します。
ロード・バランシングのヒント:
一般的なペイロード・サイズおよび1秒当たりのリクエストの頻度がわかっている場合は、次の式を使用して必要なロード・バランサの帯域幅を見積ることができます。推定誤差および散発的なピーク・トラフィックを考慮して、20%以上を追加することをお薦めします。
(ペイロード・サイズ(KB)) * (見積リクエスト/秒) * 8 / 1024
たとえば、ペイロードが1,024KBで、毎秒120リクエストを見積もる場合、推奨されるロード・バランサ帯域幅は(1024 * 120 * 8 / 1024) * 1.2 = 1152 Mbpsになります。
イメージ・ペイロードを処理する場合、サポートされる最大ペイロード・サイズは10MBであることに注意してください。
リクエスト・ペイロード・サイズが、定義されたロード・バランサの割当て帯域幅を超える場合、リクエストは429ステータス・コードで拒否されます。
- タグ(「拡張オプション」の下) (オプション): モデル・デプロイメントにタグを追加します。リソースを作成するアクセス許可がある場合、そのリソースにフリーフォーム・タグを適用するアクセス許可もあります。定義済タグを適用するには、タグネームスペースを使用する権限を持つ必要があります。タグ付けの詳細は、リソース・タグを参照してください。 タグを適用するかどうかわからない場合は、このオプションをスキップするか、管理者に問い合せてください。後でタグを適用できます。
- 「作成」を選択します。
OCI CLIを使用して、次の例のようにモデル・デプロイメントを作成できます。
-
次を使用してモデルをデプロイします:
oci data-science model-deployment create \ --compartment-id <MODEL_DEPLOYMENT_COMPARTMENT_OCID> \ --model-deployment-configuration-details file://<MODEL_DEPLOYMENT_CONFIGURATION_FILE> \ --project-id <PROJECT_OCID> \ --category-log-details file://<OPTIONAL_LOGGING_CONFIGURATION_FILE> \ --display-name <MODEL_DEPLOYMENT_NAME> -
次のモデル・デプロイメントのJSON構成ファイルを使用します:
{ "deploymentType": "SINGLE_MODEL", "modelConfigurationDetails": { "bandwidthMbps": <YOUR_BANDWIDTH_SELECTION>, "instanceConfiguration": { "subnetId": <YOUR_SUBNET_ID>, "instanceShapeName": "<YOUR_VM_SHAPE>" }, "modelId": "<YOUR_MODEL_OCID>", "scalingPolicy": { "instanceCount": <YOUR_INSTANCE_COUNT>, "policyType": "FIXED_SIZE" } } }環境構成を指定する場合は、次の例のように
environmentConfigurationDetailsオブジェクトを含める必要があります。{ "modelDeploymentConfigurationDetails": { "deploymentType": "SINGLE_MODEL", "modelConfigurationDetails": { "modelId": "ocid1.datasciencemodel.oc1.iad........", "instanceConfiguration": { "subnetId": <YOUR_SUBNET_ID>, "instanceShapeName": "VM.Standard.E4.Flex", "modelDeploymentInstanceShapeConfigDetails": { "ocpus": 1, "memoryInGBs": 16 } }, "scalingPolicy": { "policyType": "FIXED_SIZE", "instanceCount": 1 }, "bandwidthMbps": 10 }, "environmentConfigurationDetails" : { "environmentConfigurationType": "OCIR_CONTAINER", "image": "iad.ocir.io/testtenancy/image_name:1.0.0", "imageDigest": "sha256:a9c8468cb671929aec7ad947b9dccd6fe8e6d77f7bcecfe2e10e1c935a88c2a5", "imageSignatureId": "ocid1.containerimagesignature.oc1.iad.0.ociodscprod.aaaaaaaavkjvrldo4etdpdas3o5vuom3t6anoixneey737cr57if7jhkh6nq", "entrypoint": [ "python", "/opt/entrypoint.py" ], "serverPort": "5000", "healthCheckPort": "5000" }, "streamConfigurationDetails": { "inputStreamIds": null, "outputStreamIds": null } } }ノート
imageSignatureIdフィールドはオプションです。 - (オプション)次のロギングJSON構成ファイルを使用します:
{ "access": { "logGroupId": "<YOUR_LOG_GROUP_OCID>", "logId": "<YOUR_LOG_OCID>" }, "predict": { "logGroupId": "<YOUR_LOG_GROUP_OCID>", "logId": "<YOUR_LOG_OCID>" } } - (オプション)カスタム・コンテナを使用するには、これを使用します:
oci data-science model-deployment create \ --compartment-id <MODEL_DEPLOYMENT_COMPARTMENT_OCID> \ --model-deployment-configuration-details file://<MODEL_DEPLOYMENT_CONFIGURATION_FILE> \ --project-id <PROJECT_OCID> \ --category-log-details file://<OPTIONAL_LOGGING_CONFIGURATION_FILE> \ --display-name <MODEL_DEPLOYMENT_NAME>
-
次を使用してモデルをデプロイします:
カスタム・ネットワーキングを使用してモデル・デプロイメントを作成するには、CreateModelDeployment操作を使用します。インスタンス構成APIのドキュメントの説明に従って、サブネットIDを設定します。