Standardnetworking verwenden

Erstellen Sie ein Modell-Deployment mit der Standardnetzwerkoption.

Die Workload wird mit einer sekundären VNIC an ein vorkonfiguriertes, vom Service verwaltetes VCN und Subnetz angehängt. Dieses bereitgestellte Subnetz ermöglicht den Zugriff auf andere Oracle Cloud-Services über ein Servicegateway, nicht aber auf das öffentliche Internet.

Wenn Sie nur Zugriff auf OCI-Services benötigen, wird die Verwendung dieser Option empfohlen. Damit müssen Sie keine Netzwerkressourcen erstellen oder Policys für Netzwerkberechtigungen schreiben.

Sie können Standard-Networkingmodell-Deployments mit der Konsole, dem OCI-Python-SDK, der OCI-CLI oder der Data Science-API erstellen und ausführen.

    1. Wählen Sie auf der Seite "Modell-Deployments" die Option Modell-Deployment erstellen aus. Wenn Sie Hilfe bei der Suche nach der Liste der Modell-Deployments benötigen, finden Sie weitere Informationen unter Modell-Deployments auflisten.
    2. (Optional) Geben Sie einen eindeutigen Namen für das Modell ein (maximal 255 Zeichen). Wenn Sie keinen Namen angeben, wird automatisch ein Name generiert.

      Beispiel: modeldeployment20200108222435.

    3. (Optional) Geben Sie eine Beschreibung (max. 400 Zeichen) für das Modell-Deployment ein.
    4. (Optional) Geben Sie unter Standardkonfiguration einen benutzerdefinierten Umgebungsvariablenschlüssel und einen entsprechenden Wert ein. Wählen Sie + Zusätzlicher benutzerdefinierter Umgebungsschlüssel, um weitere Umgebungsvariablen hinzuzufügen.
    5. Wählen Sie im Abschnitt Modelle die Option Auswählen aus, um ein aktives Modell auszuwählen, das aus dem Modellkatalog bereitgestellt werden soll.
      1. Suchen Sie ein Modell, indem Sie das Standard-Compartment und das Standardprojekt verwenden, oder wählen Sie OCID verwenden aus, und suchen Sie das Modell, indem Sie seine OCID eingeben.
      2. Wählen Sie das Modell aus.
      3. Klicken Sie auf Weiterleiten.
      Wichtig

      Modellartefakte, die mehr als 400 GB umfassen, werden für das Deployment nicht unterstützt. Wählen Sie ein kleineres Modellartefakt für das Deployment aus.
    6. (Optional) Ändern Sie die Compute-Ausprägung, indem Sie Ausprägung ändern auswählen. Führen Sie dann die folgenden Schritte im Bereich Compute auswählen aus.
      1. Wählen Sie einen Instanztyp aus.
      2. Wählen Sie eine Ausprägungsreihe aus.
      3. Wählen Sie eine der unterstützten Compute-Ausprägungen in der Serie aus.
      4. Wählen Sie die Ausprägung aus, die am besten zur gewünschten Verwendung der Ressource passt.

        Wählen Sie für jede OCPU bis zu 64 GB Arbeitsspeicher und eine maximale Summe von 512 GB aus. Der zulässige Mindestarbeitsspeicher ist entweder 1 GB oder ein Wert, der mit der Anzahl der OCPUs übereinstimmt, je nachdem, welcher Wert größer ist.

      5. Wählen Sie Ausprägung auswählen aus.
    7. Geben Sie die Anzahl der Instanzen ein, in die das Modell-Deployment das Modell replizieren soll.
    8. Wählen Sie Standardnetzwerk aus, um den Netzwerktyp zu konfigurieren.
    9. Wählen Sie eine der folgenden Optionen aus, um den Endpunkttyp zu konfigurieren:
      • Public endpoint: Datenzugriff in einer verwalteten Instanz von außerhalb eines VCN.
      • Private endpoint: Der private Endpunkt, den Sie für das Modell-Deployment verwenden möchten.
      Wenn Sie Private endpoint ausgewählt haben, wählen Sie unter Privater Endpunkt in Data Science die Option Private Endpoint aus.

      Wählen Sie Compartment ändern aus, um das Compartment mit dem privaten Endpunkt auszuwählen.

    10. (Optional) Wenn Sie Zugriffs- oder Vorhersagelogging konfiguriert haben, wählen Sie im Abschnitt Logging die Option Auswählen aus, und führen Sie die folgenden Schritte aus:
      1. Wählen Sie für Zugriffslogs ein Compartment, eine Loggruppe und einen Lognamen aus.
      2. Wählen Sie für Vorhersagelogs ein Compartment, eine Loggruppe und einen Lognamen aus.
      3. Klicken Sie auf Weiterleiten.
    11. (Optional) Wählen Sie Erweiterte Optionen anzeigen, um Tags hinzuzufügen.
      1. (Optional) Wählen Sie den Bereitstellungsmodus für das Modell-Deployment aus, entweder als HTTPS-Endpunkt oder mit einem Streaming-Servicestream.
      2. (Optional) Wählen Sie die Load Balancing-Bandbreite in Mbps aus, oder verwenden Sie den Standardwert von 10 Mbps.

        Tipps für Load Balancing:

        Wenn Sie die allgemeine Payload-Größe und die Häufigkeit der Anforderungen pro Sekunde wissen, können Sie mit der folgenden Formel die erforderliche Bandbreite des Load Balancers schätzen. Wir empfehlen, zusätzlich 20% hinzuzufügen, um Schätzungsfehler und sporadischen Spitzentraffic zu berücksichtigen.

        (Payload-Größe in KB) * (Geschätzte Anforderungen pro Sekunde) * 8 / 1024

        Beispiel: Wenn die Payload 1.024 KB beträgt und Sie 120 Anforderungen pro Sekunde schätzen, ist die empfohlene Load-Balancer-Bandbreite (1024 * 120 * 8 / 1024) * 1,2 = 1152 Mbps).

        Beachten Sie, dass die maximal unterstützte Payload-Größe 10 MB beträgt, wenn Sie mit Image-Payloads arbeiten.

        Wenn die Anforderungs-Payload-Größe die zugewiesene Bandbreite des definierten Load Balancers überschreitet, wird die Anforderung mit dem Statuscode 429 abgelehnt.

      3. (Optional) Wählen Sie Benutzerdefiniertes Containerimage verwenden aus, und geben Sie Folgendes ein:
        • Repository in <tenancy>: Das Repository, das das benutzerdefinierte Image enthält.

        • Image: Das benutzerdefinierte Image, das zur Laufzeit im Modell-Deployment verwendet werden soll.

        • CMD: Weitere Befehle, die beim Starten des Containers ausgeführt werden müssen. Fügen Sie eine Anweisung pro Textfeld hinzu. Beispiel: Wenn der CMD-Wert ["--host", "0.0.0.0"] lautet, übergeben Sie --host in einem Textfeld und 0.0.0.0 in einem anderen. Verwenden Sie keine Anführungszeichen am Ende.

        • Entrypoint: Mindestens eine Einstiegspunktdatei, die beim Start des Containers ausgeführt werden soll. Beispiel: /opt/script/entrypoint.sh. Verwenden Sie keine Anführungszeichen am Ende.

        • Serverport: Der Port, auf dem der Webserver für die Inferenz ausgeführt wird. Der Standard ist 8080. Der Port kann zwischen 1024 und 65535 liegen. Verwenden Sie nicht die Ports 24224, 8446, 8447.

        • Health Check Port: Der Port, auf dem der Container HEALTHCHECK horcht. Der Standardwert ist der Serverport. Der Port kann zwischen 1024 und 65535 liegen. Verwenden Sie nicht die Ports 24224, 8446, 8447.

      4. (Optional) Fügen Sie im Abschnitt Tags dem <resourceType> mindestens ein Tag hinzu. Wenn Sie über Berechtigungen zum Erstellen einer Ressource verfügen, sind Sie auch berechtigt, Freiformtags auf diese Ressource anzuwenden. Um ein definiertes Tag anzuwenden, müssen Sie über die Berechtigungen verfügen, den Tag-Namespace zu verwenden. Weitere Informationen zu Tagging finden Sie unter Ressourcentags. Wenn Sie nicht sicher sind, ob Sie Tags anwenden sollen, überspringen Sie diese Option, oder fragen Sie einen Administrator. Sie können Tags später anwenden.
    12. Klicken Sie auf Erstellen.
  • Mit der OCI-CLI können Sie ein Modell-Deployment wie in diesem Beispiel erstellen.

    1. Stellen Sie das Modell wie folgt bereit:
      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. Verwenden Sie diese JSON-Konfigurationsdatei für das Modell-Deployment:
      {
            "deploymentType": "SINGLE_MODEL",
            "modelConfigurationDetails": {
              "bandwidthMbps": <YOUR_BANDWIDTH_SELECTION>,
              "instanceConfiguration": {
                "instanceShapeName": "<YOUR_VM_SHAPE>"
              },
              "modelId": "<YOUR_MODEL_OCID>",
              "scalingPolicy": {
                  "instanceCount": <YOUR_INSTANCE_COUNT>,
                  "policyType": "FIXED_SIZE"
               }
           }
       }

      Wenn Sie eine Umgebungskonfiguration angeben, müssen Sie das Objekt environmentConfigurationDetails wie in diesem Beispiel aufnehmen:

      
      {
        "modelDeploymentConfigurationDetails": {
          "deploymentType": "SINGLE_MODEL",
          "modelConfigurationDetails": {
            "modelId": "ocid1.datasciencemodel.oc1.iad........",
            "instanceConfiguration": {
              "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
          }
        }
      }
    3. (Optional) Verwenden Sie diese JSON-Loggingkonfigurationsdatei:
      {
          "access": {
            "logGroupId": "<YOUR_LOG_GROUP_OCID>",
            "logId": "<YOUR_LOG_OCID>"
          },
          "predict": {
            "logGroupId": "<YOUR_LOG_GROUP_OCID>",
            "logId": "<YOUR_LOG_OCID>"
          }
      }
    4. (Optional) Verwenden Sie diese Option, um einen benutzerdefinierten Container zu verwenden:
      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>
  • Verwenden Sie den Vorgang CreateModelDeployment, um ein Modell-Deployment zu erstellen.

Mit dem OCI-Python-SDK

Wir haben ein OCI-Python-SDK-Modell-Deployment-Beispiel entwickelt, das die Authentifizierung umfasst.

Wichtig

Artefakte, die mehr als 400 GB umfassen, werden für das Deployment nicht unterstützt. Wählen Sie ein kleineres Modellartefakt für das Deployment aus.
Hinweis

Sie müssen das OCI-SDK auf Version 2.33.0 oder höher upgraden, bevor Sie ein Deployment mit dem Python-SDK erstellen. Verwenden Sie den folgenden Befehl:

pip install --upgrade oci

In diesem Beispiel können Sie ein Modell-Deployment erstellen, das einen benutzerdefinierten Container verwendet:

# create a model configuration details object
model_config_details = ModelConfigurationDetails(
    model_id=<model-id>,
    bandwidth_mbps=<bandwidth-mbps>,
    instance_configuration=<instance-configuration>,
    scaling_policy=<scaling-policy>
)
 
# create the container environment configiguration
environment_config_details = OcirModelDeploymentEnvironmentConfigurationDetails(
    environment_configuration_type="OCIR_CONTAINER",
    environment_variables={'key1': 'value1', 'key2': 'value2'},
    image="iad.ocir.io/testtenancy/ml_flask_app_demo:1.0.0",
    image_digest="sha256:243590ea099af4019b6afc104b8a70b9552f0b001b37d0442f8b5a399244681c",
    entrypoint=[
        "python",
        "/opt/ds/model/deployed_model/api.py"
    ],
    server_port=5000,
    health_check_port=5000
)
 
# create a model type deployment
single_model_deployment_config_details = data_science.models.SingleModelDeploymentConfigurationDetails(
    deployment_type="SINGLE_MODEL",
    model_configuration_details=model_config_details,
    environment_configuration_details=environment_config_details
)
 
# set up parameters required to create a new model deployment.
create_model_deployment_details = CreateModelDeploymentDetails(
    display_name=<deployment_name>,
    model_deployment_configuration_details=single_model_deployment_config_details,
    compartment_id=<compartment-id>,
    project_id=<project-id>
)

Notizbuchbeispiele

Wir haben verschiedene Notizbuchbeispiele bereitgestellt, die zeigen, wie Sie Modell-Deployments trainieren, vorbereiten, speichern, bereitstellen und aufrufen.