カスタム・ネットワーキングの使用
カスタム・ネットワーキング・オプションを使用してモデル・デプロイメントを作成します。
ワークロードは、セカンダリVNICを使用して顧客管理VCNおよびサブネットにアタッチされます。サブネットは、NAT/インターネット・ゲートウェイを介してパブリック・インターネットへのエグレス用に構成できます。
allow service datascience to use virtual-network-family in compartment <subnet_compartment>
カスタム・エグレスでは、サブネットに使用可能なIPアドレスが少なくとも127個必要です。
カスタム・ネットワーキング・モデル・デプロイメントは、コンソール、OCI Python SDK、OCI CLIまたはデータ・サイエンスAPIを使用して作成および実行できます。
- コンソールを使用して、必要なポリシーを使用してテナンシにサインインします。
- ナビゲーション・メニューを開き、「分析とAI」を選択します。「機械学習」で、「データ・サイエンス」を選択します。
-
モデル・デプロイメントを作成するプロジェクトを含むコンパートメントを選択します。
コンパートメント内のすべてのプロジェクトがリストされます。
-
プロジェクトの名前を選択します。
プロジェクトの詳細ページが開き、ノートブック・セッションがリストされます。
-
「リソース」で、「モデル・デプロイメント」を選択します。
プロジェクト内のモデル・デプロイメントの表形式リストが表示されます。
- 「モデル・デプロイメントの作成」を選択します。
- (オプション)モデルの一意の名前(255文字の制限)を入力します。名前を指定しない場合、名前は自動生成されます。
たとえば、
modeldeployment20200108222435
です。 - (オプション)モデル・デプロイメントの説明(400文字の制限)を入力します。
- (オプション)「デフォルト構成」で、カスタム環境変数キーおよび対応する値を入力します。「+追加のカスタム環境変数」を選択して、環境変数を追加します。
-
「モデル」セクションで、「選択」を選択して、デプロイするアクティブなモデルをモデル・カタログから選択します。
- デフォルトのコンパートメントおよびプロジェクトを使用するか、「OCIDの使用」を選択してOCIDを入力し、モデルを検索してモデルを見つけます。
- モデルを選択します。
- 「送信」を選択します。
重要
400 GBを超えるモデル・アーティファクトは、デプロイメントではサポートされていません。デプロイメント用の小さいモデル・アーティファクトを選択します。 - (オプション)「シェイプの変更」を選択して、コンピュート・シェイプを変更します。次に、「コンピュートの選択」パネルの次のステップに従います。
- インスタンス・タイプの選択
- シェイプ・シリーズを選択します。
- シリーズでサポートされているコンピュート・シェイプのいずれかを選択します。
-
リソースの使用方法に最適なシェイプを選択します。AMDシェイプの場合は、デフォルトを使用するか、OCPUおよびメモリーの数を設定できます。
OCPUごとに、最大64 GBのメモリーと最大合計512 GBを選択します。許容されるメモリーの最小容量は、1GBまたはOCPUの数に一致する値のいずれか大きい方です。
- 「シェイプの選択」を選択します。
- モデルをレプリケートするモデル・デプロイメントのインスタンス数を入力します。
-
ネットワーク・タイプを構成するには、「カスタム・ネットワーキング」を選択します。
リソース(ノートブック・セッションまたはジョブ)に使用するVCNおよびサブネットを選択します。
使用するVCNまたはサブネットが表示されない場合は、「コンパートメントの変更」を選択し、VCNまたはサブネットを含むコンパートメントを選択します。ノート
デフォルト・ネットワーキングからカスタム・ネットワーキングへの変更は許可されています。カスタムネットワークが選択されている場合は、デフォルトのネットワークに変更できません。 -
次のいずれかのオプションを選択して、エンドポイント・タイプを構成します:
Public endpoint
: VCNの外部からの管理対象インスタンスのデータ・アクセス。Private endpoint
: モデル・デプロイメントに使用するプライベート・エンドポイント。
Private endpoint
を選択した場合は、データ・サイエンスのプライベート・エンドポイントからPrivate Endpoint
を選択します。「コンパートメントの変更」を選択して、プライベート・エンドポイントを含むコンパートメントを選択します。
- (オプション)アクセスまたは予測ロギングを構成した場合、「ロギング」セクションで「選択」を選択し、次のステップに従います:
- アクセス・ログの場合は、コンパートメント、ログ・グループおよびログ名を選択します。
- 予測ログの場合は、コンパートメント、ログ・グループおよびログ名を選択します。
- 「送信」を選択します。
- (オプション)「拡張オプションの表示」を選択してタグを追加します。
- (オプション)モデル・デプロイメントのサービング・モードをHTTPSエンドポイントとして、またはストリーミング・サービス・ストリームを使用して選択します。
- (オプション)ロード・バランシングの帯域幅をMbpsを選択するか、10 Mbpsのデフォルトを使用します。
ロード・バランシングのヒント:
一般的なペイロード・サイズおよび1秒当たりのリクエストの頻度がわかっている場合は、次の式を使用して必要なロード・バランサの帯域幅を見積ることができます。推定誤差および散発的なピーク・トラフィックを考慮して、20%以上を追加することをお薦めします。
(ペイロード・サイズ(KB)) * (見積リクエスト/秒) * 8 / 1024
たとえば、ペイロードが1,024KBで、毎秒120リクエストを見積もる場合、推奨されるロード・バランサ帯域幅は(1024 * 120 * 8 / 1024) * 1.2 = 1152 Mbpsになります。
イメージ・ペイロードを処理する場合、サポートされる最大ペイロード・サイズは10MBであることに注意してください。
リクエスト・ペイロード・サイズが、定義されたロード・バランサの割当て帯域幅を超える場合、リクエストは429ステータス・コードで拒否されます。
- (オプション)「カスタム・コンテナ・イメージの使用」を選択し、次を入力します:
-
<tenancy>のリポジトリ: カスタム・イメージを含むリポジトリ。
-
イメージ: 実行時にモデル・デプロイメントで使用するカスタム・イメージ。
-
CMD: コンテナの起動時に実行するその他のコマンド。テキスト・ボックスごとに1つの指示を追加します。たとえば、CMDが
["--host", "0.0.0.0"]
の場合、あるテキスト・ボックスで--host
を渡し、別のテキスト・ボックスで0.0.0.0
を渡します。末尾に引用符を使用しないでください。 -
エントリポイント: コンテナの起動時に実行する1つ以上のエントリ・ポイント・ファイル。たとえば、
/opt/script/entrypoint.sh
です。末尾に引用符を使用しないでください。 -
サーバー・ポート: 推論を提供するWebサーバーが稼働しているポート。デフォルトは8080です。ポートには1024から65535までの任意の値を指定できます。24224、8446、8447ポートを使用しないでください。
-
ヘルス・チェック・ポート: コンテナ
HEALTHCHECK
がリスニングするポート。デフォルトはサーバー・ポートです。ポートには1024から65535までの任意の値を指定できます。24224、8446、8447ポートを使用しないでください。
-
- (オプション)「タグ」タブを選択し、タグ・ネームスペース(定義済のタグの場合)、キーおよび値を入力して、タグをリソースに割り当てます。
複数のタグを追加するには、「タグの追加」を選択します。
タグ付けに関する項では、コスト・トラッキング・タグなど、リソースの整理および検索に使用できる様々なタグについて説明します。
- 「作成」を選択します。
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", "entrypoint": [ "python", "/opt/entrypoint.py" ], "serverPort": "5000", "healthCheckPort": "5000" }, "streamConfigurationDetails": { "inputStreamIds": null, "outputStreamIds": null } } }
- (オプション)次のロギング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を設定します。