Standardnetzwerk

Erstellen Sie ein Modell-Deployment in Data Science mit der Standardnetzwerkkonfiguration. Sie können zwischen zwei Modi wählen: einen mit aktiviertem Internetzugriff und einen mit deaktiviertem Internetzugriff.

Die Workload wird über eine sekundäre VNIC mit einem vorkonfigurierten, vom Service verwalteten virtuellen Cloud-Netzwerk (VCN) und Subnetz verbunden. Das angegebene Subnetz ermöglicht den Zugriff auf andere Oracle Cloud-Services über ein Servicegateway, jedoch nicht auf das öffentliche Internet. Wenn Sie Standardnetzwerk mit Internet aktivieren, stellt das Subnetz auch einen optionalen Pfad zum öffentlichen Internet über ein OCI-verwaltetes NAT-Gateway bereit.

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 Listenseite Projekte das Projekt aus, das die Modell-Deployments enthält, mit denen Sie arbeiten möchten. Wenn Sie Hilfe beim Suchen der Listenseite oder des Projekts benötigen, finden Sie weitere Informationen unter Projekte auflisten.
    2. Wählen Sie auf der Seite mit den Projektdetails Modell-Deployments aus.
    3. Wählen Sie Modell-Deployment erstellen aus.
    4. Geben Sie auf der Seite Modell-Deployment erstellen die folgenden Informationen ein.
      • Compartment
      • Name (optional): Geben Sie einen eindeutigen Namen für das Modell-Deployment ein (maximal 255 Zeichen). Wenn Sie keinen Namen angeben, wird automatisch ein Name generiert. Beispiel: modeldeployment20200108222435
      • Beschreibung (optional): Geben Sie eine Beschreibung (max. 400 Zeichen) für das Modell-Deployment ein.
      • Benutzerdefinierter Umgebungsvariablenschlüssel (optional): Geben Sie einen benutzerdefinierten Umgebungsvariablenschlüssel ein.
      • Wert (optional): Geben Sie den Wert für den Schlüssel ein.
      • Modelle: Wählen Sie Auswählen aus, um den Bereich Modelle auswählen zu öffnen, die entsprechende Option auszuwählen, und wählen Sie Weiterleiten aus, um den Bereich zu schließen.
        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.
        • Einzelne Modelle: Suchen Sie das Modell mit Modell-Compartment auswählen (Compartment und Projekt angeben) oder OCID verwenden, und wählen Sie dann das Modell aus der Liste aus.
        • Modellgruppen: Geben Sie Compartment und Projekt an, und wählen Sie die Modellgruppe aus der Liste aus.
      • Ändern Sie die Compute-Ausprägung, indem Sie Ausprägung ändern auswählen. Führen Sie anschließend die folgenden Schritte im Bereich Compute-Ausprägung auswählen aus.
        • Wählen Sie einen Instanztyp aus.
        • Wählen Sie eine Ausprägungsreihe aus.
        • Wählen Sie eine der unterstützten Compute-Ausprägungen in der Reihe aus. Wählen Sie die Ausprägung, die am besten zur gewünschten Verwendung der Ressource passt.
        • Blenden Sie die ausgewählte Ausprägung ein, um OCPUs und Arbeitsspeicher zu konfigurieren.
          • Anzahl OCPUs
          • Arbeitsspeicher (GB): Wählen Sie für jede OCPU bis zu 64 GB Arbeitsspeicher und maximal 512 GB Arbeitsspeicher 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.
          • Burstfähige Ausprägung aktivieren: Wählen Sie diese Option aus, wenn Sie burstfähige VMs verwenden, und wählen Sie unter Baselineauslastung pro OCPU den Prozentsatz der OCPUs aus, den Sie normalerweise verwenden möchten. Die unterstützten Werte lauten 12,5% und 50%. (Bei Modell-Deployments wird nur der Wert von 50% unterstützt.)
        • Wählen Sie Ausprägung auswählen aus.
      • Anzahl der Instanzen: Geben Sie die Anzahl der Instanzen für das Modell-Deployment ein, auf denen das Modell repliziert werden soll.
      • Autoscaling-Konfiguration (optional): Wählen Sie Autoscaling aktivieren aus, und geben Sie die folgenden Informationen ein.
        • Mindestanzahl Instanzen
        • Höchstanzahl von Instanzen
        • Ruhephase in Sekunden
        • Skalierungsmetriktyp

          Um die benutzerdefinierte Skalierungsmetrikoption zu verwenden, wählen Sie Benutzerdefiniert aus, und geben Sie die Scale-in- und Scale-out-Abfragen an.

          Wichtig

          Fügen Sie den folgenden Text in jede MQL-Abfrage ein, um die Ressourcen-OCID zu referenzieren: {resourceId = "MODEL_DEPLOYMENT_OCID"}
        • Scale-in-Schwellenwert in Prozent
        • Scale-out-Schwellenwert in Prozent
        • Erweiterte Optionen (optional): Der Load Balancer wird automatisch skaliert. Setzen Sie den Wert der maximalen Bandbreite auf mehr als den minimalen Bandbreitenwert und nicht mehr als das Doppelte des minimalen Bandbreitenwerts.
          • Scale-in-Instanzanzahl
          • Scale-out-Instanzanzahl
      • Netzwerkressourcen: Wählen Sie die entsprechende Option für das Standardnetzwerk aus.
        • Standardnetzwerk: Schränkt den Traffic nur auf Oracle-Services ein. Das System verwendet das vorhandene serviceverwaltete Netzwerk. Die Workload wird mit einer sekundären VNIC an ein vorkonfiguriertes, vom Service verwaltetes VCN und Subnetz angehängt. Mit diesem bereitgestellten Subnetz kann Egress-Traffic zum öffentlichen Internet über ein NAT-Gateway und Zugriff auf andere Oracle Cloud-Services über ein Servicegateway erfolgen.

          Wenn Sie nur Zugriff auf das öffentliche Internet und die OCI-Services benötigen, empfehlen wir die Verwendung dieser Option. Damit müssen Sie keine Netzwerkressourcen erstellen oder Policys für Netzwerkberechtigungen schreiben.

        • Standardnetzwerk mit Internet: Ermöglicht ausgehenden Internetzugriff über das Data Science-NAT-Gateway.
          Hinweis

          Sie können Standardnetzwerk mit Internet nicht in getrennten Realms und Oracle-Entwicklungsmandanten verwenden. Wenn Ihr Mandant oder Compartment über eine Data Science-Sicherheitszonen-Policy verfügt, die den öffentlichen Netzwerkzugriff verweigert (z.B. deny model_deploy_public_network (siehe Data Science-Sicherheitszonen-Policy), ist die Option für den serviceverwalteten öffentlichen Internetzugriff deaktiviert. Wenn Sie versuchen, diese Option zu verwenden, erhalten Sie einen 404 NotAuthorizedOrNotFound-Fehler.
      • Endpunkttyp: Wählen Sie die entsprechende Option aus.
        • Öffentlicher Endpunkt: Ermöglicht den Datenzugriff auf eine verwaltete Instanz von außerhalb eines virtuellen Cloud-Netzwerks (VCN).
        • Privater Endpunkt: Gibt den privaten Endpunkt an, der für das Modell-Deployment verwendet werden soll. Deployments, die private Netzwerke oder private Endpunkte verwenden, können keinen serviceverwalteten öffentlichen Internetzugriff aktivieren.
          • Compartment des privaten Endpunkts
          • Privater Endpunkt
      • Logging (optional): Wählen Sie Auswählen aus, um den Bereich Logging auswählen zu öffnen, geben Sie die folgenden Informationen ein, und wählen Sie Weiterleiten aus, um den Bereich zu schließen.
        • Wählen Sie für Zugriffslogs ein Compartment, eine Loggruppe und ein Logname aus.
        • Wählen Sie für Vorhersagelogs ein Compartment, eine Loggruppe und ein Logname aus.
      • Legen Sie Ihre BYOC-Umgebung fest (unter Benutzerdefiniertes Containerimage verwenden) (Optional): Wählen Sie Auswählen aus, um den Bereich BYOC-Umgebung festlegen zu öffnen, geben Sie die folgenden Informationen ein, und wählen Sie erneut Auswählen aus, um den Bereich zu schließen.
        • Repository Compartment
        • Repository: Geben Sie das Repository ein, das das benutzerdefinierte Image enthält.
        • Image: Geben Sie das benutzerdefinierte Image ein, das zur Laufzeit verwendet werden soll.
        • Digest: Geben Sie den Imagedigest ein. Beispiel: sha256:<digest>. Der Digest muss mit dem genauen Image übereinstimmen, das Sie bereitstellen.
        • Entrypoint: Geben Sie eine oder mehrere Einstiegspunktdateien ein, die beim Start des Containers ausgeführt werden sollen, wie /opt/script/entrypoint.sh. Verwenden Sie keine Anführungszeichen am Ende.
        • Serverport: Geben Sie den Port für den Inferenz-Webserver ein. Der Standardwert ist 8080. Gültiger Bereich: 1024-65535, außer 24224, 8446, 8447.
        • Health-Check-Port: Geben Sie den Port für den Container-Health-Check ein. Der Standardwert ist der Serverport. Gültiger Bereich: 1024-65535, außer 24224, 8446, 8447.
      • Deployment-Modus (unter Erweiterte Optionen) (Optional): Wählen Sie die Load Balancing-Bandbreite in Mbps aus, oder verwenden Sie den 10-Mbps-Standardwert.

        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.

      • Tags (unter Erweiterte Optionen) (optional): Fügen Sie dem Modell-Deployment Tags hinzu. Wenn Sie über Berechtigungen zum Erstellen von Ressourcen verfügt, sind Sie auch berechtigt: Freiformtags auf diese Ressource anwenden. Um ein definiertes Tag anzuwenden, müssen Sie über Berechtigungen zum Verwenden des Tag-Namespace verfügen. Weitere Informationen zu Tagging finden Sie unter Ressourcentags. Wenn Sie nicht sicher sind, ob Tags angewendet werden sollen, überspringen Sie diese Option, oder fragen Sie einen Administrator. Sie können Tags später anwenden.
    5. 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",
            "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
          }
        }
      }
      Hinweis

      Das Feld imageSignatureId ist optional.
    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.