カスタムネットワーキング

カスタム・ネットワーキング・オプションを使用して、データ・サイエンスにモデル・デプロイメントを作成します。

ワークロードは、セカンダリVNICを使用して顧客管理VCNおよびサブネットにアタッチされます。サブネットは、NAT/インターネット・ゲートウェイを介してパブリック・インターネットへのエグレス用に構成できます。

カスタム・エグレスを使用するには、データ・サイエンスにサブネットへのアクセス権を付与するポリシーを追加する必要があります:

allow service datascience to use virtual-network-family in compartment <subnet_compartment>

カスタム・エグレスでは、サブネットに使用可能なIPアドレスが少なくとも127個必要です。

カスタム・ネットワーキング・モデル・デプロイメントは、コンソール、OCI Python SDK、OCI CLIまたはデータ・サイエンスAPIを使用して作成および実行できます。

    1. 「プロジェクト」リスト・ページで、操作するモデル・デプロイメントを含むプロジェクトを選択します。リスト・ページまたはプロジェクトの検索に関するヘルプが必要な場合は、プロジェクトのリストを参照してください。
    2. プロジェクトの詳細ページで、「モデル・デプロイメント」を選択します。
    3. 「モデル・デプロイメントの作成」を選択します。
    4. モデル・デプロイメントの作成ページで、次の情報を入力します。
      • コンパートメント
      • 名前(オプション): モデル・デプロイメントの一意の名前(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.が表示された場合は、データ・サイエンスでカスタム・ネットワーキングを使用できるようにするポリシーを作成します。ポリシーを参照してください。
      • エンドポイント・タイプ: 関連するオプションを選択します。
        • パブリック・エンドポイント: 仮想クラウド・ネットワーク(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ステータス・コードで拒否されます。

      • タグ(「拡張オプション」の下) (オプション): モデル・デプロイメントにタグを追加します。リソースを作成するアクセス許可がある場合、そのリソースにフリーフォーム・タグを適用するアクセス許可もあります。定義済タグを適用するには、タグネームスペースを使用する権限を持つ必要があります。タグ付けの詳細は、リソース・タグを参照してください。 タグを適用するかどうかわからない場合は、このオプションをスキップするか、管理者に問い合せてください。後でタグを適用できます。
    5. 「作成」を選択します。
  • OCI CLIを使用して、次の例のようにモデル・デプロイメントを作成できます。

    1. 次を使用してモデルをデプロイします:
      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>
                                      
    2. 次のモデル・デプロイメントの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フィールドはオプションです。
    3. (オプション)次のロギングJSON構成ファイルを使用します:
      {
          "access": {
            "logGroupId": "<YOUR_LOG_GROUP_OCID>",
            "logId": "<YOUR_LOG_OCID>"
          },
          "predict": {
            "logGroupId": "<YOUR_LOG_GROUP_OCID>",
            "logId": "<YOUR_LOG_OCID>"
          }
      }
    4. (オプション)カスタム・コンテナを使用するには、これを使用します:
      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を設定します。